Beratung für ein erstes Jahr CS Major [abgeschlossen]

17

Ich komme zum Ende meines ersten CS-Jahres, bei dem es sich hauptsächlich um einen Java-basierten Kurs handelt. Ich würde gerne ein bisschen Spielentwicklung ausprobieren, bin mir aber nicht sicher, wo ich anfangen soll.

Einige Leute haben mir vorgeschlagen, mit dem Game Maker zu beginnen, der eine Skriptsprache im C-Stil hat (die leicht zu erlernen sein sollte), da sie wahrscheinlich die einfachste ist und es mir ermöglicht, mich hauptsächlich auf das Spieldesign und das Zusammenspiel des gesamten Spiels zu konzentrieren.

Ich sehe eine Menge Leute, die XNA empfehlen, da es eine gute Abstraktion von OpenGL und DirectX durch seine APIs hat. Ich höre auch, dass C # Java sehr ähnlich ist.

Ich habe auch über Spieleprogrammierung in Java nachgedacht, da ich damit ziemlich vertraut bin und zusätzliche Lektüre über Multithreading und die 2D-Grafik-APIs gemacht habe.

Zuletzt hat mir ein Freund ein Pygame gezeigt, das auch sehr gut klingt, obwohl ich nicht viel darüber weiß.

Ich weiß nicht, ob C ++ ein guter Ausgangspunkt ist, viele der Beiträge, die ich für Anfänger-Spieleentwickler gesehen habe, empfehlen es nicht für ein erstes Spielprojekt.

Ich würde mich über jede Eingabe freuen, insbesondere von denen, die mit Java-Hintergrund in die Spieleentwicklung eingestiegen sind

avatarX
quelle
5
C ++ ist schwer, verdammt schwer, aber es ist auf lange Sicht einfacher, wenn Sie versuchen, sich darum zu kümmern, bevor Java es wirklich setzt. Es ist definitiv schwieriger, C ++ von einem Java-Hintergrund aus zu lernen, als Java von einem C ++ - Hintergrund aus zu lernen. joelonsoftware.com/articles/ThePerilsofJavaSchools.html
David Young
1
Ich wäre gestorben, als ich versucht hatte, C ++ zu lernen, nachdem ich mit Java angefangen hatte. Ich habe mit C ++ älteren Stils begonnen und dann Java gelernt. Wenn Sie den Sprung zu Zeigern befürchten, empfehle ich, nur C- und Unix-Programmierung zu lernen. Es versetzt Sie in eine völlig neue Denkweise, sodass Sie weniger wahrscheinlich nicht anwendbare Java-Konzepte anwenden.
michael.bartnett

Antworten:

14

Es gibt viele gute Möglichkeiten. (Ich unterrichte CS1 und CS2 sowie das Programmieren von Spielen.) Lernen Sie zunächst natürlich, wie ein Informatiker zu denken. Lass dich nicht zu sehr auf die Sprache ein, denn die Konzepte sind wirklich universell.

Java ist eine ziemlich gute Sprache, aber das Erstellen eines Spiels in Java ist etwas mühsam. Es gibt einige interessante Motoren, die den Prozess ein wenig vereinfachen. Leider kann es etwas schmerzhaft sein, eine Game-Engine an Ihr Bearbeitungswerkzeug anzuhängen.

Ich mag die FANG-Engine (leider kann ich noch keine Hyperlinks posten, also schau sie bei Google nach.) Ein interessanter Teil dieses Projekts ist der Online-Editor. Dies bedeutet, dass Sie sofort loslegen können, ohne sich mit den Eclipse-Einstellungen herumschlagen zu müssen.

Ich bin wirklich kein Fan von Game Maker. Die GUI ist in Ordnung für Leute, die nicht lernen möchten, wie man programmiert, und es ist ein anständiges (aber nicht großartiges) Prototyping-Tool. Es gibt jedoch zwei Dinge, die ich nicht mag. Erstens ist es kommerziell. Das ist keine schlechte Sache, aber wenn es kostenlose Open-Source-Alternativen gibt, die genauso gut sind (und es gibt), sollten Sie sich diese vielleicht zuerst ansehen. Das größere Problem mit Game Maker ist die Skriptsprache. Irgendwann werden Sie über die GUI hinauswachsen und tatsächlich mit dem Schreiben von Code beginnen wollen. Die Skriptsprache in GM ist ziemlich rückständig. Da Sie ein CS-Hauptfach sind, interessieren Sie sich (wie ich hoffe) für die Wiederverwendung von Code, Eleganz, Klarheit, Effizienz und Modularität. Die GM-Sprache wird Sie enttäuschen.

Ich liebe Python und Pygame. (Tatsächlich habe ich ein Buch darüber geschrieben. Sehen Sie sich alle meine Notizen und Online-Videos auf meiner Website an, wenn Sie möchten. Sie können jederzeit auf diese Ressourcen zugreifen, unabhängig davon, ob Sie das Buch haben oder nicht.) Python ist eine nette, elegante Sprache, die es nicht gibt. Es ist nicht allzu schwer zu lernen (besonders wenn Sie bereits programmieren können). Pygame ist ein Wrapper für die beliebte SDL 2D-Engine. Tatsächlich habe ich pygame einen zweiten Wrapper hinzugefügt, um die Arbeit mit Flash zu vereinfachen.

Apropos Flash, ich denke, das ist es nicht wert. (Ich weiß, dass Sie nicht gefragt haben) Es ist eine gute Plattform, aber die Kosten und die Unsicherheit darüber, wie es auf mobilen Geräten funktioniert, bedeuten, dass es möglicherweise kein so gutes Lernwerkzeug ist. (Ich habe auch ein Buch über Spieleentwickler in Flash geschrieben, aber ich unterrichte Flash nicht mehr.)

Hier sind einige andere großartige Dinge, die Sie ausprobieren sollten. Erhalten Sie eine Kopie von Scratch von MIT: scratch.mit.edu Es ist für Kinder gemacht, aber lassen Sie sich davon nicht abschrecken . Es ist ein absolut unglaubliches Spiel- und Animationswerkzeug. Bei der Programmierung werden Kacheln verwendet, sodass der Einstieg einfach ist. Sie werden erstaunt sein, was Sie damit anfangen können.

Sie können auch Alice von Carnegie Melon ausprobieren. Www.alice.org Die neueste (3.) Edition ist eine Erweiterung von Java, die Sims2-Modelle verwendet.

Sowohl Scratch als auch Alice sind kostenlos.

Ein weiteres nützliches Tool ist Blender www.blender.org

Es ist ein 3D-Modellierungswerkzeug, aber viele wissen nicht, dass es auch eine vollständige Spiel-Engine mit einer Drag-and-Drop-Programmierschnittstelle ist. Sobald Sie aus den Kacheln herausgewachsen sind, ist Python-Unterstützung eingebaut.

Jetzt bin ich ziemlich an HTML5 interessiert (das ist kaum HTML - es ist wirklich HTML, CSS und JavaScript.) Als Entwicklungsumgebung für Spiele ist es nicht ganz da, aber ich glaube, es wird ein großer Player. Mein nächstes Buch befasst sich mit der Spieleentwicklung in HTML5.

Viel Glück für Sie und lassen Sie es mich wissen, wenn Sie weitere Fragen haben.

Zwei pi
quelle
Vielen Dank für Ihre Eingabe. Ich überprüfe Ihre Website, während wir sprechen. Ich bin sicher, es wird von unschätzbarem Wert sein, wenn jemand mit Ihrer Erfahrung hier einen Beitrag leistet
avatarX
Pointer Handling ist nicht universell = (verfluche mein Java-Up bringen.
David Young
Ich würde gerne wissen, warum Sie das Erstellen eines Spiels in Java für mühsam halten. Es scheint auch, als würden Sie vorschlagen, dass Python weniger langweilig ist. Bei so vielen großartigen Frameworks und Bibliotheken, die sich auf Java-Spiele konzentrieren, scheint es eine sehr kühne Aussage zu sein.
Zfedoran
1
Für einen Anfänger kann alles in Java mühsamer sein. Vergleiche etwas wie printf. In Python ist dies Teil der print-Anweisung: print "% s, Ihre Punktzahl ist% d"% (Student, Punktzahl). In PHP müssen Sie alle Primitive in Wrapper-Klassen umwandeln, diese in Objekte umwandeln und ein anonymes Objektarray erstellen. Ich mag Java. (Ich habe es jahrelang unterrichtet und ein Buch darüber geschrieben.) Wenn es jedoch darum geht, jemanden zum Programmieren zu bewegen, möchte ich eine Sprache, die so weit wie möglich aus dem Weg geht.
Zwei
Vielen Dank, dass Sie sich die Zeit für einen Kommentar genommen haben. Es hat mir geholfen zu verstehen, woher du kommst. Ich bin jedoch noch nicht ganz davon überzeugt, dass Python eine bessere Sprache für Studenten ist, ähnlich wie die Fakultät an meiner Universität ihre kürzlich erfolgte Umstellung auf Python für Studienanfänger in Frage gestellt hat. Vielleicht stecken die Studenten einfach in neuen Fragen fest. Früher waren es Studenten, die alles "öffentlich statisch" machten, jetzt fällt es ihnen schwer, den Unterschied zwischen Typen zu verstehen.
Zfedoran
5

Es hängt davon ab, was Ihr Ziel ist und auf welchen Teil der Spieleentwicklung Sie sich einlassen möchten.

Interessieren Sie sich mehr für die Grundlagen der Funktionsweise und den Aufbau von Game-Engines, oder möchten Sie so schnell wie möglich in die Spieleentwicklung einsteigen.

Schrauben und Muttern: XNA ist eine gute Möglichkeit, Ihre Zehen in diese Arena zu tauchen. Das Framework leistet viel für Sie, aber Sie können jedes Teil langsam durch Ihren eigenen Code ersetzen, wenn Sie sich mit C # besser auskennen. Das Erlernen von C # ist gut für die zukünftigen Positionen in der Spieleentwicklung, da Tools häufig mit C # erstellt werden.

Gameplay-Programmierung: Einigkeit ist hier eine gute Option. Kostenlos und ermöglicht das Codieren in mehreren Sprachen, einschließlich JavaScript und C #. Sie werden in der Lage sein, die Dinge schnell zum Laufen zu bringen, was einen schönen Motivationsschub darstellt. Außerdem können Sie in eine andere Sprache wechseln und sogar Sprachen mischen, um Ihr Verständnis zu erweitern.

Das Schöne ist, dass sie beide frei herumspielen können und mit einer Vielzahl von Hardware für ziemlich minimale Kosten verbunden werden können.

wkerslake
quelle
4

Könnte immer einige Java-basierte Spiele machen, nichts ist falsch mit diesen (http://zetcode.com/tutorials/javagamestutorial/)

XNA und AS3 sind sehr nah beieinander und können Spiele erstellen, die so kompliziert oder so einfach wie gewünscht sind. (obwohl das selbe mit Java zutrifft)

Eine Sache, an die Sie sich erinnern sollten, ist immer zu üben und einfach mit dem Code herumzuspielen.

Gespenster
quelle
3

Java Monkey Engine

Wenn Sie mit Java am besten vertraut sind, können Sie Java Monkey Engine als Framework für die Erstellung von Spielen verwenden. Es hat auch eine anständige Menge an Dokumentationen / Tutorials, einschließlich Anweisungen zur Integration in Netbeans und Eclipse.

lathomas64
quelle
Ich muss sagen, dass JMonkeyEngine gut aussieht. Ich werde es auf jeden Fall überprüfen. Vielen Dank für
Ihre
2

Einheit

Ich würde sagen, versuchen Sie es mit Unity . Sie haben eine kostenlose Version und Sie können in wenigen Stunden Ihre Füße nass machen, um die Grundidee zu erlernen, indem Sie zwei Tutorials von Unity befolgen:

Das andere coole an Unity ist, dass Sie JavaScript als Skriptsprache verwenden und Ihr Spiel auf Windows, MacOS, Web, iPhone und jetzt mit der Version 3 auch auf Android-Geräten veröffentlichen können.

Außerdem verwenden sie die StackExchange-Engine für die Unity Answers und haben eine wunderbare Community für alle Ihre Unity-bezogenen Fragen.

Lipis
quelle
1

Jeder von ihnen wäre ein guter Anfang, wenn man als Entwickler mit einer CS-Grundausbildung in Java sprechen würde.

C # steht Java sehr nahe (manchmal scherze ich, dass es sich um Java mit begrenzter Plattform und besseren Bibliotheken handelt), daher ist XNA möglicherweise eine gute Wahl. Minecraft wurde in Java mit der LWJGL-Spielebibliothek entwickelt. Wenn Sie also in Java bleiben möchten, ist dies eine gute Methode. Natürlich ist die 3D-Entwicklung etwas kompliziert. Abhängig von Ihrem Wissen, Ihrer Erfahrung und Ihrem Durchhaltevermögen möchten Sie vielleicht auf 3D warten (oder sogar auf 2D in einem 3D-basierten System), bis Sie mehr Bildung erhalten.

Für 2D-Lösungen: Game Maker ist sehr einfach und wurde verwendet, um einige großartige Spiele zu erstellen. Sie sollten in der Lage sein, die Skriptsprache leicht zu erlernen, aber für jemanden mit jahrelanger Java-Erfahrung ist sie möglicherweise zu einfach. Ich entwickle in Flash mit reinem AS3 ( Tutorial ), das Java nahe genug kommt, damit Ihre Fähigkeiten leicht übersetzt werden können.

Gregory Avery-Weir
quelle
1

Ich kann XNA nur empfehlen. Es ist eine ziemlich fähige und gut unterstützte Plattform mit einer wachsenden Community. XNA fängt wirklich an, seinen "Platz" im Ökosystem zu finden, da das Framework auf mehr Plattformen als je zuvor ausgeliefert wird (einschließlich Windows Phone 7). Noch wichtiger ist jedoch, dass Sie mit XNA C # und die allgemeine .NET-Entwicklung erlernen müssen. Es ist wichtig, dass Sie Erfahrungen mit dieser Plattform sammeln, unabhängig davon, ob Sie sich für die Spieleentwicklung entscheiden, da die .NET-Entwicklung wächst und ein sehr gesunder Arbeitsmarkt besteht. Java dagegen stirbt schon seit einiger Zeit langsam, und die jüngsten Ereignisse haben nur dazu beigetragen, seinen Untergang zu beschleunigen. Wenn Ihr CS-Programm, wie das, das ich abgeschlossen habe, stark auf Java ausgerichtet ist, können Sie C # /. NET in Ruhe erlernen.

Selbst wenn Java weiterlebt und Sie sich für eine Karriere in der Java-Entwicklung entscheiden, müssen Sie sich wahrscheinlich ohnehin in .NET-Systeme integrieren. Wie auch immer es sich herausstellen mag, die Erfahrung würde Ihnen auf lange Sicht nur helfen.

Mike Strobel
quelle
In der Tat sind / jobtrends / q = java & l = und / jobtrends / q = .net & l = ziemlich repräsentativ für die Marktnachfrage für beide. Es sieht so aus, als würde Java tatsächlich wachsen.
David Young
Ich hatte nicht daran gedacht, dass der Erfolg der Android-Plattform zu einer Zunahme der Java-Entwicklung führt. Dies hat wahrscheinlich viel mit dem Anstieg der Stellenangebote Ende 2008 und Anfang 2009 zu tun. Es wird interessant sein zu sehen, wie sich WP7 und die Verfügbarkeit von MonoTouch für iOS und MonoDroid für Android auf die mobile Präsenz von Java auswirken.
Mike Strobel
1

Wenn Sie in Spiel interessiert sind Design , warum nicht mit der Herstellung ein Kartenspiel starten, oder etwas , das keine Programmierung überhaupt benötigt? So können Sie sich auf das Design und die Mechanik des Spiels konzentrieren, anstatt sich durch APIs, Sprachen und Frameworks zu kämpfen, mit denen Sie nicht vertraut sind.

Trimbo
quelle
1

Möglicherweise können Sie auch http://Processing.org verwenden . Es ist eine großartige Umgebung zum Erlernen der Grafikprogrammierung. Obwohl es sich nicht ausschließlich um ein Game-Dev-Tool handelt, hat es viel zu bieten. Die Sprache ist eine Erweiterung / Vereinfachung von Java und wird schnell erlernt.

xer0x
quelle
0

Ein nicht programmierbezogener Rat von mir:

Erstellen Sie ein ordentliches Projekt und zeigen Sie es Ihren Professoren.

So bekam ich nach dem ersten und zweiten Schuljahr Sommerjobs als Programmierer.

Nagler
quelle
Dies mag nützlich sein, aber es geht nicht wirklich um die Sprach- / API-Krise, zu der das OP kommt.
Die kommunistische Ente
0

Wenn Sie nur Spiele entwickeln möchten, warum sollten Sie dann gleichzeitig eine andere Sprache lernen? Ich würde mich an Java halten, es sei denn, Sie möchten eine neue Sprache lernen.

Die Hauptoptionen für Java, die ich kenne, sind jMonkeyEngine, eine 3D-Grafik-Engine, die allgemein als ziemlich gut angesehen wird.

Und es gibt jOGL, einen Java-Wrapper über OpenGL. Das ist natürlich viel niedriger.

Wenn Sie gerade erst anfangen und mehr mit der Logik arbeiten möchten als mit Puffern, Shader-Bindungen und dergleichen, dann entscheiden Sie sich für jMonkeyEngine. Wenn Sie sich vertiefen möchten, gehen Sie zu jOGL.

Wenn Sie eine neue Sprache lernen möchten, würde ich aus C # und Python wahrscheinlich C # sagen. Die Syntax ist Java sehr ähnlich, und XNA und SlimDX eignen sich sehr gut für Grafiken. XNA ist ein höheres Level und hat einige Dinge für dich getan. Dies ist jedoch mit einer Windows-Einschränkung ohne Mono verbunden.

Python ist eine sehr einfach zu beschaffende Sprache (ich habe ungefähr eine Woche mit wenig Aufmerksamkeit für ein Buch gebraucht, das aus einem Jahr mit C ++ stammt). Pygame ist ein Wrapper um die SDL-Bibliotheken von C und bietet daher wahrscheinlich nicht die gleiche Funktionalität wie XNA.

Die kommunistische Ente
quelle
0

Ein weiteres Votum für die Einheit . In den nächsten Jahren haben Sie viel Zeit, um sich mit C ++ und anderen Sprachen zu beschäftigen. Wenn es Ihr Ziel ist, ein Spiel zu entwickeln, wird es zu viel Zeit in Anspruch nehmen, sich mit der eigentlichen Arbeit an der Entwicklung einer Engine zu beschäftigen. Wenn Sie ein Engine-Designer sein möchten, kommen Sie auf jeden Fall zurück und versuchen Sie es mit einer Implementierung auf niedrigerer Ebene.

Mit der Unity-Engine können Sie die meisten Details abstrahieren, um sich auf die Gameplay-Programmierung zu konzentrieren. Die Community in den Foren und die auf Stack Exchange basierenden Unity Answers sind unglaublich hilfreich. Sie können entweder Javascript oder C # programmieren. Aus Java kommend habe ich mit Javascript begonnen, da viele Tutorials dafür geschrieben wurden, aber auf C # umgestellt wurden (was ein ziemlich einfacher Wechsel war).

Ich denke, XNA und Pygame könnten auch gut sein (da sie einige der mühsameren Dinge wegziehen), aber ich habe keine Erfahrung mit ihnen.

Schließlich zielen Sie nicht zu groß mit Ihrem ersten Spiel. Es kann sehr einfach sein, zu unterschätzen, wie zeitaufwendig es ist, Features in ein Spiel zu implementieren. Beginnen Sie mit einer zentralen Spielmechanik, mit der Sie das Spiel schnell in einen spielbaren Zustand versetzen können. Dann können Sie weitere Elemente hinzufügen.

Habe Spaß!

acmshar
quelle
0

XNA ist eine großartige Lösung, wenn Sie Java verlassen. C # sieht fast IDENTISCH nach Java aus und liest es für Sie, so dass Sie schnell einsteigen können, ohne die neue Syntax zu erlernen. Das XNA-Framework bietet unzählige gute APIs, mit denen Sie arbeiten können, und es gibt viele kostenlose "Microsoft Permissive License" -Offencodes, mit denen Sie bei einigen Projekten loslegen können.

Ich würde nicht empfehlen, Java zu verwenden, die meisten Grafik-APIs sind schrecklich, es gibt nicht viel 3D-Unterstützung und Java läuft im Allgemeinen nur langsam. Für die meisten Java-Apps keine große Sache, aber Videospiele benötigen VIELE Leistung.

C ++ ist der Weg, um Videospiele zu machen, ziemlich viel Zeit. Von Java -> C ++ zu gehen, wird jedoch ziemlich verwirrend sein. Ganz zu schweigen davon, dass die meisten Hardcore-Grafikprogramme auf niedriger Ebene im C-Stil und nicht im C ++ -Stil ausgeführt werden. Sie werden also eine Reihe von Zeigerarithmetiken ausführen, um mehr Leistung zu erzielen. Es kann interessant, aber zeitaufwändig sein. Es kann auch eine Menge dauern, bis Sie anfangen.

Es gibt viele gute Spiele-Engines wie Ogre, aber dann muss man viel Zeit damit verbringen, zu lernen, wie man Dinge damit macht. Es kann sich übermäßig kompliziert anfühlen.

Seien Sie vorsichtig, so großartig viele Ihrer Spielideen auch sein mögen. Denken Sie daran, dass Videospiele teuer sind, eine lange Entwicklungszeit in Anspruch nehmen und große Entwicklungsteams haben.

Wenn du ein Spiel machen willst und die einzige Person bist, die daran arbeitet, musst du es fast zu einem 2D-Spiel machen (obwohl du sowieso mit 2D beginnen solltest) und du musst WIRKLICH anfangen, Wirklich einfach.

Fast alles, was Sie sich als Spaß vorstellen können, ist im Moment wahrscheinlich zu ehrgeizig.

Mein Rat: Holen Sie sich das kostenlose Visual Studio 2010 Express, wenn Sie es nicht haben. Laden Sie das XNA-Spielestudio und das .net-Framework herunter. 4. Laden Sie eine XNA-Demo herunter. Führen Sie die Demo aus, und sehen Sie sich den Code an. Lesen Sie eine Dokumentation darüber, wie XNA 2D-Spiele ausführt.

DANN, wähle dein Lieblingsspiel der alten Schule, super einfaches Spiel. Pac-Man? Pong? Asteroiden? Space Invaders? Mario? Wählen Sie etwas DUMM, DUMM einfach. Dann mache das Spiel einfach so, wie es war. Sie müssen sich mit der Programmierung und dem Erlernen einer neuen API befassen, die Sie NICHT mit dem Spieledesign beschäftigen müssen. es wird dich nur ablenken.

Sobald Sie Ihren Mario-Klon in Gang gesetzt haben oder was auch immer Sie gemacht haben, können Sie mit dem Gameplay experimentieren und versuchen, neue Dinge hinzuzufügen.

Beginnen Sie mit kleinen Schritten, und es wird viel mehr Spaß machen und Sie werden viel mehr lernen.

Versuchen Sie, den Quake3-Quellcode in C ++ zu ändern, um ein Spiel zu erstellen, und Sie werden sehr frustriert sein, und selbst wenn Sie es zum Laufen bringen, werden Sie nicht viel davon lernen.

HABEN SIE GERADE SPASS: D

SpacePrez
quelle
0

Blitz

Flashs AS3 ist eine fantastische Sprache, um wichtige OOP-Konzepte zu verstehen, ohne sich um die Speicherverwaltung und das Schreiben von Header-Dateien kümmern zu müssen. Es ist auch so ziemlich eine komplette 2D-Spiel-Engine mit einem Anzeigebaum, einem Ereignissystem und vielen anderen nützlichen Funktionen.

Es gibt eine RIESIGE Community von Flash-Spiele-Entwicklern, und entgegen der weit verbreiteten Meinung können Sie Flash-Spiele mit Open-Source-Tools entwickeln. Unter Windows würde ich FlashDevelop empfehlen .

Ich würde behaupten, dass Flash sogar plattformübergreifender ist als Java oder jede andere Technologie, außer vielleicht Unity. 99% der Nutzer können Flash-Inhalte in ihrem Desktop-Browser anzeigen, sodass Sie Ihre Kreationen ganz einfach mit der ganzen Welt teilen können. Die meisten Smartphones erhalten langsam Flash-Unterstützung, und für iOS, die Plattform, die Flash in-browser nicht unterstützt, können Sie Apps mit Flash CS5 erstellen (obwohl dies kostenpflichtig ist).

Ich denke, es wäre eine Schande für Sie, mit etwas Komplexerem wie C ++ oder sogar C # zu kämpfen zu haben, wenn Sie die Grundlagen der Spieleerstellung jetzt mit AS3 erlernen könnten. Sobald Sie AS3 verstanden haben, können Sie später problemlos zu anderen Sprachen wechseln. In meinem Fall war ich ein Flash-Entwickler, aber ich habe gelernt, mit Objective-C zu programmieren, und habe es geschafft, ein erfolgreiches iPhone-Spiel zu erstellen. Tun Sie sich selbst einen Gefallen und besuchen Sie http://www.flashgamedojo.com/ - Ich glaube, Sie werden nicht enttäuscht sein!

Einheit

Unity bietet die gleichen Vorteile wie Flash, jedoch in 3D.

Mit Unity können Sie in C # oder in UnityScript (Javascript-y) programmieren. Es ist kein Open Source, aber es ist kostenlos. Es wird sehr gut unterstützt und es gibt eine großartige Community. Das Problem bei der Entwicklung von 3D-Spielen ist, dass Sie für die meisten Spiele viel Kunst und Ressourcen benötigen. Dies kann auch ein Problem bei 2D-Spielen sein, aber im Allgemeinen dauert 3D-Kunst viel länger und es ist viel schwieriger, "Programmierer-Kunst" zu machen.

Ein Hinweis zu Open Source

An der Verwendung von Open Source-Software ist nichts auszusetzen, aber Sie ändern sich, wenn Sie sie nur verwenden, weil sie Open Source ist. Wählen Sie die beste Sprache und die besten Tools, mit denen Sie am schnellsten und reibungslosesten lernen können. In diesem Sinne ist die Mentalität, "zuerst das Schwierigste zu lernen" (dh C ++) verrückt. Was Sie wirklich lernen sollten, ist Logik, nicht Syntax. Lernen Sie also, welche Sprache am wenigsten Gepäck und Eintrittsbarrieren hat. Meiner Meinung nach ist das AS3.

Matt Rix
quelle