Also versuche ich, meiner viel jüngeren Cousine ein bisschen Programmieren beizubringen. Mein erster Gedanke war so etwas wie Scratch oder Alice , aber das hatte ein paar Nachteile.
Jeder scheint wirklich mit der Programmierung und Entwicklung von Videospielen beschäftigt zu sein (weil jeder gerne Videospiele spielt und wenn es um das Spielen von Videospielen geht, kann es am lohnendsten sein, wenn man seine eigenen Spiele spielt) - aber weder Alice noch Scratch scheinen sich um das Spiel zu kümmern Entwicklung
Alice und Scratch scheinen zu kindisch zu sein, obwohl ich sicher bin, dass mein Cousin es genießen würde, sich damit zu beschäftigen, denke ich, dass er es schnell langweilen würde
Ich möchte eine Sprache, mit der sich wirklich coole Sachen entwickeln lassen, die seine Freunde beeindrucken. Ich erinnere mich, dass ich BASIC damals geschrieben und alle meine Freunde eingeladen habe, um meine Kreation vorzuführen, und ich habe das Gefühl, dass Alice und Scratch einfach nicht auf die gleiche Weise ansprechen
Ich möchte eine Sprache, in der mein Cousin Code schreiben muss. Das liegt nicht nur daran, dass ich denke, dass das Eingeben von Code eine gute Vorbereitung für andere Programmiersprachen ist, sondern auch daran, dass er die Möglichkeit hat, das Schreiben zu üben und sich vielleicht an einige der etwas esoterischeren Zeichen auf der Tastatur zu gewöhnen
Deshalb möchte ich nicht Alice oder Scratch wählen.
Ich möchte auch keine Sprache wie C oder Java oder sogar Python oder Ruby auswählen. Mein Cousin hat mir bereits mitgeteilt, dass er gerne Videospiele spielt und sich etwas Eigenes machen möchte und dass er gerne Computer benutzt. Meiner Meinung nach braucht selbst eine einfache Sprache wie Python oder Ruby einfach zu lange, um coole Sachen zu erstellen. Idealerweise würde er sich hinsetzen, ein oder zwei Tage (oder vielleicht sogar bis zu einer Woche, aber hoffentlich weniger) verbringen und ein funktionierendes, zweidimensionales Spiel haben. Ich sage nicht, dass Sie es nicht in Python oder Ruby tun können, aber ich sage nur, dass es für einen Programmierer, der zum ersten Mal programmiert, schwierig sein würde. Außerdem möchte ich ihn nicht mit all den Informatik-Dingen im Stich lassen, da das später kommen kann. Ich möchte ihm nur helfen, den Funken zu erzeugen, und ihn dann mit dem Rest des Feuers weitermachen lassen.
Ich habe mir Sprachen wie Lua angesehen, und obwohl es in der Spieleprogrammierung üblich zu sein scheint, bin ich mir nicht sicher, ob es die beste Wahl ist - aber wenn ihr etwas anderes denkt, lasst es mich bitte wissen.
Ich habe mir auch eine Sprache wie Blitz angesehen und sie sieht sehr vielversprechend aus (außerdem habe ich sie vor ein paar Jahren ausprobiert und sie war wirklich sehr schön). Der Nachteil ist, dass ich bezahlen muss, etwas, gegen das ich definitiv bin.
Ich habe mir SmallBasic angesehen , was vielversprechend erscheint, und ich werde weiter nachsehen. Aber ich habe nicht viel getan (tatsächlich führe ich das Installationsprogramm aus, während ich dies schreibe, daher werde ich in Kürze darüber berichten).
UPDATE: Ich habe SmallBasic kurz ausprobiert und es scheint faszinierend, aber es scheint auch ganz anders zu sein als in einigen anderen Sprachen - das ist keine schlechte Sache, aber es ist einfach ungewöhnlich. Von den Dingen, die ich mir angesehen habe, ist Blitz immer noch mein Favorit, aber ich lehne es aus Kostengründen ab, dorthin zu gehen.
Aber im Grunde genommen, was haltet ihr von dem, was ich bisher gesagt habe, und den Sprachen, die ich angeschaut habe, und kennt ihr irgendwelche anderen, guten Alternativen?
UPDATE: Hier ist, wofür ich mich entschieden habe ...
Mir ist klar geworden, dass ich gerne meinem Cousin helfen würde, aber nicht immer bei ihm sein und ihm nicht jedes Mal helfen kann, wenn er Hilfe braucht. Also wollte ich etwas auswählen, das eine gute Dokumentation, eine gute Community und ein gutes Buch hat, dem er folgen kann.
Wie auch immer, ich habe Python und Pygame gewählt. Python ist eine Sprache, die ich ziemlich gut kenne, und ich weiß, dass es um Python eine ziemlich gute (und ziemlich große) Community gibt. Außerdem weiß ich, dass die Python-Dokumentation ziemlich vollständig und einfach zu navigieren ist. Pygame hat auch eine hervorragende Dokumentation und eine Reihe von Tutorials. Ich lasse ihn auch mit Python Ihre eigenen Computerspiele erfinden , was wie ein sehr gutes Buch aussieht. Ich habe ihm ein gedrucktes Exemplar als Weihnachtsgeschenk gekauft und ich weiß, dass sein Monitor nicht riesig ist und es auch Es ist unpraktisch, ständig zwischen dem Text und dem Editor zu wechseln.
Ich denke es sollte gut gehen!
EDIT: Ich möchte nicht implizieren, dass meine Wahl endgültig oder richtig ist. Ich denke nur, dass es für diese Situation am besten geeignet ist. Ich denke, jede Person, die jemanden unterrichten möchte, der jünger ist, sollte die Auswahl durchsuchen und die beste Lösung für die einzelne Person finden, unter Berücksichtigung von Dingen wie Alter, Fähigkeitsniveau und Interesse.
I want a language that can be used to develop really cool stuff that will impress his friends.
Das ist nach 25 Jahren immer noch meine Hauptmotivation für das Programmieren ...Antworten:
Es sieht so aus, als hätte niemand Python + Pygame rausgeworfen . Abhängig vom Alter / der Reife Ihres Cousins eröffnet es sicherlich die Möglichkeit einer Menge cooler Sachen. Das ist sicherlich grundlegend genug, um loszulegen, aber mit seiner riesigen Standardbibliothek kann man sich mit Python nicht wirklich langweilen.
quelle
Ich denke, das heutige Äquivalent zu BASIC ist Javascript. Geben Sie ihm eine einfache HTML-Seite mit einem eingebetteten Skript, mit dem eine Zeichenfläche erstellt und eine Form darauf gezeichnet wird. Zeigen Sie auf einige Tutorials und sehen Sie, was passiert. Schneller Turnaround (speichern Sie Ihre Änderungen und aktualisieren Sie die Seite) und gute Unterstützung beim Debuggen.
quelle
Keine explizite Programmiersprache für Spiele, aber sehr coole grafische Effekte können mit relativ wenig Code bei der Verarbeitung erzielt werden . Außerdem ist es kostenlos und relativ einfach zu erlernen. IMHO eine ideale Sprache, um die Grundlagen des Programmierens zu erlernen, zumal die Tutorials viele der grundlegenden Konzepte wie Variablen, Arrays, mathematische Operationen usw. vermitteln.
quelle
Ich habe seit ein oder zwei Jahren nicht mehr damit gespielt, aber C # mit XNA könnte ein guter Anfang sein. Soweit ich mich erinnere, ist der Einstieg recht einfach. Obwohl dieser Link wahrscheinlich mehr für Sie als für ihn ist.
quelle
Versuchen Sie Greenfoot ,
Image http://www.greenfoot.org/images/screenshot.png?1310995619
Es basiert auf Java und es gibt all diese Anleitungen, um es auf Youtube zu nutzen .
greenfoot bietet einen guten Top-Down-Ansatz für Anfänger.
In der Antwort auf diesen Stapelüberlauf habe ich festgestellt, dass "Kinder in der Tat die schnellsten Lernenden sind und dies durch Mustervergleich, Extrapolation, Interpolation usw. tun".
Nachdem Sie Java für eine Weile in Greenfoot verwendet haben, werden Konzepte einfacher zu verstehen sein, nur weil sie sich vertraut anfühlen.
quelle
Klingt nach einem typischen Fall für Modding . Viele Spiele sind sehr flexibel und erweiterbar, von dem guten alten Quake I (mit seiner QuakeC-Sprache) bis zu TES IV Oblivion oder Dutzenden von Titeln, die mit Lua erweitert werden können.
Eine andere Option ist Second Life - es ist eine sehr flexible Welt, in der man Spiele, Simulationen, Demos usw. mit einer schönen und sauberen Skriptsprache erstellen kann .
quelle
Ich bin derzeit ein begeisterter Benutzer von Game Maker . - Während die Vollversion nicht kostenlos ist ($ 40), reicht die kostenlose Version aus, um die Grundlagen des Spieldesigns zu testen. Es hat genug "Inhalt", damit jemand, der neu ist, ein paar Jahre beschäftigt bleibt. Wenn ich es irgendwo platzieren müsste, würde ich es irgendwo zwischen Modding und Sprachen wie Python platzieren.
Es gibt verschiedene Schreibweisen. Sie können "Drag & Drop-Symbole" und eine viel fortgeschrittenere "Skriptsprache" (GML) verwenden. Ich verstehe nie, warum die Leute so sehr "Code schreiben" wollen - ich sehe Drag & Drop nur als eine Möglichkeit, Code zu visualisieren.
Ein weiterer Vorteil von Gamemaker - und der Grund, warum ich nach dem Erlernen anderer Sprachen und 10 Jahren Erfahrung bei Gamemaker bleibe - ist, dass es bei der Organisation eines Spiels hilft: Es verfügt über mehrere Ressourcen, ein Ereignissystem usw. usw.
Es ist nicht das ideale Werkzeug zum Erstellen Die nächste Welt von Warcraft. Um andere zu beeindrucken, ist es jedoch wichtiger, ETWAS zu erschaffen.
Ich kann andere Entscheidungen nicht wirklich empfehlen, da ich persönlich mit Gamemaker zufrieden bin und mich heutzutage mehr für das Erlernen von Allzwecksprachen interessiere.
quelle
Die Sache , die Tausende von Menschen sind die Entwicklung von Spielen in ist Flash. Das "offizielle" Flash-Entwicklungspaket von Adobe kostet Geld, aber es gibt kostenlose Alternativen. FlashDevelop brauchte weniger als eine Stunde, um einen "Hello World" -Flash zu finden, herunterzuladen, zum Laufen zu bringen und zum Laufen zu bringen. Die Flixel- Bibliothek bietet gute unterstützende Funktionen für Spiele, einschließlich Physik, Partikel, einfache Levelerstellung für Plattformspieler, enthält viele Samples und ist einfach einzurichten.
quelle
FWIW, kaufte ich meine Cousine " Land of LISP " für den gleichen Zweck. Das Buch ist mit Cartoons illustriert und dreht sich alles um das Erstellen von Spielen in LISP. Mein Cousin wollte allerdings nur textbasierte Spiele erstellen, aber ich denke, das Buch wird ihm eine gute Einführung in die Programmierung geben.
quelle
Die Sprache, mit der ich angefangen habe, war Dark Basic Pro . Ich bin schnell davon weggegangen, weil Spieleentwicklung nicht mein Ding ist, aber es war eine mächtige Sprache. Ich habe mich seit einigen Jahren nicht mehr damit beschäftigt, daher bin ich mir nicht sicher, wie gut es jetzt ist (ich habe es zuletzt verwendet, als DirectX 9 neu und auf dem neuesten Stand war). Aber Sie können schnell mit dem Codieren beginnen und ausgefallene 3D-Grafiken mit nur ein bisschen Code erstellen (und es ist auch reiner Code).
quelle
Einer der schwierigsten Aspekte der Spieleentwicklung, obwohl er in der 2D-Spieleentwicklung weniger verbreitet ist, ist das Erstellen von Grafiken. Angenommen, Ihr Cousin muss sich nicht mit der Erstellung von Kunstassests befassen oder ist sehr gut in 2D-Kunst, dann denke ich, dass das Ziel erreichbar ist.
Ich würde vorschlagen, dass Sie Python zusammen mit Pygame verwenden, um loszulegen. Ich weiß, dass Sie Vorbehalte gegen Python hatten, aber hören Sie mich an. Python ist eine sehr einfache Sprache. Ich würde behaupten, dass das Fehlen einer strengen Schreibweise die Wahl weitaus besser macht als so etwas wie C #.
Prototypbasierte Sprachen sind cool und manche Leute finden sie sehr einfach zu erlernen, aber ich denke nicht, dass die Leute die Konzepte der Funktionsweise von Objekten in prototypbasierten Sprachen so einfach verstehen, wie sie das Klassen- / Objektparadigma verstehen können.
Pygame hat auch zahlreiche Beispiele dafür, dass Ihr Cousin und Sie die Grundlagen erlernen könnten. Es handelt sich in vielerlei Hinsicht um ein sehr einfaches Framework, das sich nicht so sehr vor Ihnen verbirgt, dass Sie viel über das Framework lernen müssen, um etwas Komplizierteres zu tun Dinge.
Vielleicht können Sie nach einem Spiel, das in Pygame geschrieben wurde, mit dem Schreiben von Spielen fortfahren, die sich auch in eine 2D-Physik-Engine wie Box2D integrieren lassen, die über hervorragende Python-Bindungen verfügt.
Was das Unterrichten Ihres Cousins Python angeht, würde ich mich davon abwenden, ihn dazu zu bringen, zuerst die Sprache zu lernen, vielleicht einen Schnellkurs in den Klassen- / Objektideen. Dann eine grundlegende Syntax der Sprache, bevor sie ihn in die Tiefe wirft und ihn / sie die Syntax und / oder Bibliotheken nachschlagen lässt, wenn er / sie etwas benötigt.
Schließlich ist eine weitere gute Sache bei Python, dass Sie leicht auf 3D-Spiele-Engines umsteigen können, während Sie Ihre Fähigkeiten mit Engines wie Panda3D oder sogar Unity beibehalten können (Boo ist Python sehr ähnlich).
quelle
Lua und LÖVE . Lua ist eine der einfachsten verfügbaren Sprachen. Das LÖVE-Framework ist für 2D-Spiele optimiert. Es hat auch ein OpenGL-Backend mit der Leistung und anderen Vorteilen, die dies mit sich bringt.
quelle
Vielleicht möchten Sie das Unreal Development Kit ( Features ) ausprobieren . Es könnte etwas schwierig sein, etwas über die Benutzeroberfläche zu lernen. Aber das Tolle daran ist, dass es auch eine visuelle Skript-Engine gibt, sodass Sie nicht programmieren müssen, um etwas zu machen. Er kann dann selbst etwas machen und kleine Teile davon programmieren. Ein Nachteil könnte sein, dass es eine eigene Skriptsprache verwendet.
Ein weiterer Motor, den ich wirklich mag, ist Unity3D ( Features ). Unity hat keine visuelle Programmierung, verwendet jedoch zwei gebräuchliche Sprachen: C # und JavaScript. Es unterstützt auch einen Python-Dialekt namens Boo. Diese drei können zusammenarbeiten. Unity enthält auch viele fertige Skripte.
quelle
Es gibt eine Haskell-Bibliothek namens Gloss , die über eine sehr einfache Benutzeroberfläche verfügt und zum Unterrichten von Kindern verwendet wurde:
http://cdsmith.wordpress.com/2011/09/28/haskell-for-kids-week-7/
Es kann auch online ausprobiert werden:
http://dac4.designacourse.com:8000/anim
quelle
Ich weiß, dass Sie nach freien Sprachen suchen und es einige gute Vorschläge von anderen Plakaten gibt. Da Sie sich Sorgen machen, interessante Ergebnisse zu erzielen , sollten Sie Phrogramme vorschlagen, da Blitz genau das ist, was Sie möchten , abgesehen von den Kosten . Dies war früher KPL (was kostenlos war). Es ist nicht kostenlos, aber billiger als Blitz und hat viele der gleichen Funktionen, die es meiner Meinung nach sehr gut als Unterrichtssprache eignet, insbesondere für Teenager.
Sie können mit Phrogram einige ziemlich raffinierte Sachen machen, und es gibt eine ziemlich gut etablierte Community von Phrogram- und KPL-Benutzern, die eine Menge Code gepostet haben, von dem sie lernen können.
quelle
Viele gute Vorschläge hier, ich werde RoboCode nur einen Gruß aussprechen . Es gibt viele Beispiele zum Optimieren, und Sie können in nur wenigen Minuten einsatzbereit sein. Es gibt ihm den Geschmack des Programmierens, aber er wird wahrscheinlich nicht lernen, wie man ein Programm von Grund auf neu schreibt. Es basiert auch auf Java, für was es sich lohnt.
quelle
Ich kann nicht verstehen, wie niemand über Games Factory spricht! Dies ist eine der besten Ressourcen, um schnell und ohne Programmierkenntnisse ein Computerspiel zu erstellen.
http://www.clickteam.com/website/usa/downloads/index/7
Es besteht aus dem Storyboard-Editor - mit Frames. Sie platzieren verschiedene Objekte, die vom Spieler auf verschiedene Weise gesteuert werden können (Plattformbewegung, 8-Richtung usw.).
Der wichtigste Aspekt ist der Ereignis-Editor - es ist eine riesige Matrix, mit der Sie definieren, was vor dem Start passiert. definierte Regeln (Like - Objekt (1) zum Ende des Bildschirms verschoben, Position des Objekts ist> 100, etc ...).
quelle
Gehen Sie mit Unity3D ...
Es gibt keinen Grund, Angst vor dem Codieren zu haben ... und es gibt zu viel, was Sie nicht codieren müssen ... Samples werden Ihren Cousin glücklich machen.
es gibt auch ein paar videos ... schön anzusehen walkerboystudio.com/html/unity_training_ free .html
quelle
http://news.bbc.co.uk/2/hi/programmes/click_online/9658183.stm
Das BBC-Programm Click zeigte eine Website, auf der Sie ein Flash-basiertes Spiel erstellen können, ohne eine Programmiersprache zu kennen.
http://www.stencyl.com/
quelle