J'essaie donc d'enseigner un peu à mon cousin beaucoup plus jeune la programmation. Ma pensée initiale était quelque chose comme Scratch ou Alice , mais il y avait quelques inconvénients à cela.
Tout le monde semble être vraiment dans la programmation de jeux et le développement de jeux vidéo (parce que tout le monde aime jouer à des jeux vidéo, et en ce qui concerne les jeux vidéo, jouer le vôtre peut être le plus gratifiant) - mais ni Alice ni Scratch ne semblent répondre au jeu développement
Alice et Scratch semblent trop puériles, alors que je suis sûr que mon cousin aimerait y barboter, je pense qu'il s'en était vite ennuyé
Je veux un langage qui puisse être utilisé pour développer des trucs vraiment cool qui impressionneront ses amis. Je me souviens avoir écrit BASIC dans la journée et avoir invité tous mes amis et montrer ma création, et j'ai l'impression qu'Alice et Scratch ne font pas appel de la même manière
Je veux une langue qui oblige mon cousin à écrire du code. Maintenant, ce n'est pas seulement parce que je pense que taper du code est une bonne préparation pour d'autres langages de programmation, mais c'est parce que cela lui donne l'occasion de s'exercer à taper et peut-être de s'habituer à certains des caractères légèrement plus ésotériques du clavier.
Maintenant, c'est pourquoi je ne veux pas choisir Alice ou Scratch.
Je ne veux pas non plus choisir un langage comme C ou Java, ni même Python ou Ruby d'ailleurs. Mon cousin m'a déjà dit qu'il aime jouer aux jeux vidéo et qu'il veut créer le sien, et qu'il aime utiliser les ordinateurs. À mon avis, même un langage simple comme Python ou Ruby prend tout simplement trop de temps pour créer des trucs sympas. Idéalement, il s'asseyait, passait environ un jour ou deux (ou peut-être même jusqu'à une semaine, mais j'espère moins que cela) et avait un jeu fonctionnel en 2 dimensions. Je ne dis pas que vous ne pouvez pas le faire en Python ou Ruby, mais je dis simplement que ce serait difficile pour un premier programmeur. De plus, je ne veux pas l'enliser avec toutes les choses de l'informatique, car cela peut venir plus tard. Je veux juste l'aider à créer l'étincelle, puis le laisser continuer avec le reste du feu.
J'ai regardé des langages comme Lua, et même si cela semble courant dans la programmation de jeux, je ne sais pas si c'est le meilleur choix - mais si vous pensez le contraire, faites-le moi savoir.
J'ai aussi regardé une langue comme Blitz et ça a l'air vraiment prometteur (en plus, je l'ai essayé il y a quelques années, et c'était vraiment très sympa). L'inconvénient est que je dois payer, ce à quoi je suis définitivement opposé.
J'ai regardé SmallBasic , qui semble prometteur et je vais continuer à regarder. Mais je n'ai pas fait grand-chose (en fait, j'exécute le programme d'installation pendant que je tape ceci, donc je ferai part de mes réflexions à ce sujet rapidement).
MISE À JOUR: J'ai donné à SmallBasic un essai rapide et cela semble intriguant, mais il semble également assez différent par rapport à d'autres langues - ce n'est pas une mauvaise chose, mais c'est juste une inhabituelle. Parmi les choses que j'ai regardées, Blitz est toujours mon préféré, mais je refuse d'y aller à cause du coût.
Mais au fond, que pensez-vous de ce que j'ai dit jusqu'à présent et des langues que j'ai examinées et connaissez-vous d'autres bonnes alternatives?
MISE À JOUR: Voici ce que j'ai choisi de faire ...
J'ai réalisé que même si j'aimerais aider mon cousin, je ne peux pas être avec lui tout le temps et je ne peux pas l'aider chaque fois qu'il a besoin d'aide. Donc, je voulais choisir quelque chose qui a une bonne documentation, une bonne communauté et un bon livre qu'il peut suivre.
Quoi qu'il en soit, j'ai choisi Python et Pygame. Python est un langage que je connais assez bien, et je sais qu'il existe une assez bonne (et assez grande) communauté autour de Python. De plus, je sais que la documentation Python est assez complète et facile à parcourir. Pygame a également une excellente documentation et un ensemble de tutoriels. Je lui demande également d'utiliser / suivre Invent Your Own Computer Games with Python , ce qui semble être un très bon livre, je lui ai acheté une copie papier comme cadeau de Noël, et je sais que son moniteur n'est pas énorme, et ce serait être gênant de permuter constamment entre le texte et l'éditeur.
Je pense que ça devrait bien se passer!
EDIT: Je ne veux pas impliquer que mon choix est définitif ou qu'il est correct. Je pense simplement que c'est la meilleure solution pour cette situation. Je pense que chaque personne qui cherche à enseigner à un plus jeune devrait parcourir la sélection et trouver la meilleure solution pour la personne individuelle, en tenant compte de choses comme l'âge, le niveau de compétence et l'intérêt.
I want a language that can be used to develop really cool stuff that will impress his friends.
C'est toujours ma principale motivation pour la programmation, après 25 ans ...Réponses:
On dirait que personne n'a rejeté Python + Pygame . Selon l'âge / la maturité de votre cousin, cela ouvre certainement la possibilité de beaucoup de trucs sympas. C'est certainement assez basique pour commencer, mais avec son énorme bibliothèque standard, vous ne pouvez pas vraiment vous ennuyer avec Python.
la source
Je pense que l'équivalent moderne de BASIC est Javascript. Donnez-lui une simple page HTML avec un script intégré qui crée un canevas et dessine une forme dessus, dirigez-le vers des tutoriels et voyez ce qui se passe. Rotation rapide (enregistrez vos modifications et actualisez la page) et support de débogage décent.
la source
Pas un langage de programmation explicite pour les jeux, mais des effets graphiques très sympas peuvent être effectués en utilisant assez peu de code avec le traitement . De plus, c'est gratuit et relativement facile à apprendre. IMHO un langage idéal pour apprendre les bases de la programmation, d'autant plus que les tutoriels enseignent de nombreux concepts de base tels que les variables, les tableaux, les opérations mathématiques, etc.
la source
Je n'ai pas joué avec depuis un an ou deux, mais utiliser C # avec XNA pourrait être un bon point de départ. D'après ce dont je me souviens, il est assez facile de commencer . Bien que ce lien soit probablement plus pour vous que pour lui.
la source
Essayez Greenfoot ,
Image http://www.greenfoot.org/images/screenshot.png?1310995619
Il est basé sur Java et il y a tous ces totoriaux pour l'utiliser sur Youtube .
greenfoot offre une bonne approche descendante destinée à un débutant.
voir cette réponse stackoverflow , la chose que j'ai notée il y avait "Les enfants, en fait, sont les apprenants les plus rapides et ils le font par correspondance de motifs, extrapolation, interpolation, etc."
donc après avoir utilisé java dans greenfoot pendant un certain temps, les concepts suivants seront plus faciles à comprendre simplement parce que cela semble familier.
la source
Cela ressemble à un cas typique pour le modding . De nombreux jeux sont très flexibles et extensibles, du bon vieux Quake I (avec son langage QuakeC) à TES IV Oblivion, ou des dizaines de titres qui peuvent être étendus avec Lua.
Second Life est une autre option - c'est un monde très flexible où l'on peut créer des jeux, des simulations, des démos, quoi que ce soit d'autre avec un langage de script agréable et propre .
la source
Je suis actuellement un grand utilisateur de Game Maker . - Bien que la version complète ne soit pas gratuite (40 $), la version gratuite suffit pour goûter aux bases de la conception de jeux. Il a suffisamment de «contenu» pour que quelqu'un de nouveau reste occupé pendant quelques années. Si je devais le placer quelque part, je le placerais quelque part entre le modding et les langages tels que python.
Il a plusieurs méthodes d'écriture. Vous pouvez utiliser des «icônes de glisser-déposer» et un «langage de script» (GML) beaucoup plus avancé. Je ne comprends jamais pourquoi les gens souhaitent autant "écrire du code" - je vois le glisser-déposer comme un moyen de visualiser le code.
Un autre avantage de Gamemaker - et la raison pour laquelle après avoir appris d'autres langues, et 10 ans d'expérience je m'en tiens à Gamemaker - est qu'il aide à organiser un jeu: il dispose de plusieurs ressources, d'un système d'événements, etc. etc.
Ce n'est pas l'outil idéal pour créer le prochain monde de Warcraft, mais pour impressionner les autres, il est plus important de créer QUELQUE CHOSE.
Je ne peux pas vraiment recommander d'autres choix - car je suis personnellement satisfait du fabricant de jeux et je m'intéresse de plus en plus à l'apprentissage des langages à usage général.
la source
La chose que des milliers de personnes sont développent des jeux en est Flash. Le package de développement Flash "officiel" d'Adobe coûte de l'argent, mais il existe des alternatives gratuites; FlashDevelop m'a pris moins d'une heure pour trouver, télécharger, démarrer et obtenir un flash "Hello World". La bibliothèque Flixel fournit de bonnes fonctions de support pour les jeux, y compris la physique, les particules, la création de niveau facile pour les plateformes, a beaucoup d'échantillons et est facile à configurer.
la source
FWIW, j'ai acheté mon cousin " Land of LISP " dans ce même but. Le livre est illustré de dessins animés et concerne la création de jeux dans LISP. Mon cousin voulait seulement créer des jeux basés sur du texte, mais je pense que le livre lui donnera une bonne introduction à la programmation.
la source
La langue avec laquelle j'ai commencé était Dark Basic Pro . Je m'en suis éloigné un peu rapidement parce que le développement de jeux n'est pas ma tasse de thé, mais c'était un langage puissant. Je ne l'ai pas gâché depuis quelques années maintenant, donc je ne sais pas à quel point il est bon (je l'ai utilisé pour la dernière fois lorsque DirectX 9 était nouveau et à la pointe). Mais cela vous permet de commencer rapidement à coder et à créer des graphiques 3D fantastiques avec juste un peu de code (et aussi, c'est du code pur.)
la source
L'une des parties les plus difficiles du développement de jeux, bien que moins répandue dans le développement de jeux 2D, est la création de graphiques. Donc, en supposant que votre cousin n'a pas besoin de créer des tests d'art ou qu'il se trouve être très bon en art 2D, je pense que l'objectif est réalisable.
Je vous suggère d'utiliser python avec pygame pour commencer. Je sais que vous aviez des réserves sur python, mais écoutez-moi. Python est un langage très simple. Je dirais que le manque de frappe stricte en fait un bien meilleur choix que quelque chose comme C # pour commencer.
Les langages basés sur des prototypes sont cool et certaines personnes les trouvent très faciles à comprendre, mais je ne pense pas que les gens comprennent vraiment les concepts de fonctionnement des objets dans des langages basés sur des prototypes aussi facilement qu'ils peuvent maîtriser le paradigme classe / objet.
Pygame a également de nombreux exemples que votre cousin et vous pourriez consulter pour apprendre les bases, et est à bien des égards un cadre très simple, ne vous cachant pas tant que vous obligeant à apprendre beaucoup de cadre pour faire plus compliqué des choses.
Peut-être qu'après un jeu écrit en pygame, vous pouvez passer à des jeux d'écriture qui s'intègrent également à un moteur physique 2D comme box2d, qui a d'excellentes liaisons python.
Quant à l'enseignement de votre cousin python, je m'éloignerais de lui faire apprendre la langue en premier, peut-être un cours intensif sur les idées de classe / objet. Ensuite, une syntaxe de base du langage, avant de le jeter au fond, et de lui faire rechercher la syntaxe et / ou les bibliothèques quand il / elle a besoin de quelque chose.
Enfin, une autre bonne chose à propos de python, c'est que vous pouvez facilement passer aux moteurs de jeu 3D tout en conservant vos compétences avec des moteurs comme panda3d, ou même l'unité (Boo est très similaire à python).
la source
Lua et LÖVE . Lua est l'une des langues les plus simples disponibles. Le framework LÖVE est optimisé pour les jeux 2D. Il a également un backend OpenGL, avec les performances et autres avantages que cela apporte.
la source
Vous voudrez peut-être essayer le kit de développement Unreal ( fonctionnalités ). Il peut être un peu difficile de se familiariser avec l'interface. Mais la grande chose à ce sujet est qu'il dispose également d'un moteur de script visuel, vous n'avez donc pas besoin de pouvoir programmer pour créer quelque chose. Il peut ensuite fabriquer quelque chose et en programmer lui-même de petites parties. Un inconvénient pourrait être qu'il utilise son propre langage de script.
Un autre moteur que j'aime vraiment est Unity3D ( Fonctionnalités ). Unity n'a pas de programmation visuelle, mais utilise deux langages communs: C # et JavaScript. Il prend également en charge un dialecte python appelé Boo. Ces trois peuvent interagir. Unity est également livré avec de nombreux scripts finis.
la source
Il existe une bibliothèque Haskell appelée Gloss , qui a une interface très simple et a été utilisée pour enseigner aux enfants:
http://cdsmith.wordpress.com/2011/09/28/haskell-for-kids-week-7/
Il peut également être essayé en ligne:
http://dac4.designacourse.com:8000/anim
la source
Je sais que vous recherchez des langues libres et il y a de bonnes suggestions par d'autres affiches. Puisque vous êtes soucieux d'obtenir des résultats intéressants, rapidement et puisque Blitz semble être le genre de chose que vous aimeriez, à l'exception du coût, je voudrais suggérer Phrogram . Auparavant, c'était KPL (qui était gratuit). Ce n'est pas gratuit, mais c'est moins cher que Blitz et il a beaucoup des mêmes fonctionnalités qui, je pense, le rendent très approprié à utiliser comme langue d'enseignement, en particulier pour les adolescents.
Vous pouvez faire des trucs assez sophistiqués avec Phrogram et il y a une communauté assez bien établie d'utilisateurs de Phrogram et KPL qui ont publié beaucoup de code pour apprendre.
la source
Beaucoup de bonnes suggestions ici, je vais juste crier à RoboCode . Il existe de nombreux exemples à modifier, et vous pouvez être opérationnel en quelques minutes. Cela lui donnera la saveur de la programmation, mais il n'est pas susceptible d'apprendre les écrous et les boulons de l'écriture d'un programme à partir de zéro. Il est également basé sur Java, pour ce que ça vaut.
la source
Je ne comprends pas comment personne ne parle de Games Factory! C'est l'une des meilleures ressources pour construire rapidement un jeu informatique, sans connaissance en programmation.
http://www.clickteam.com/website/usa/downloads/index/7
Il se compose de l'éditeur de story-board - avec des cadres. Vous mettez différents objets qui peuvent être contrôlés de différentes manières par le joueur (mouvement de la plate-forme, 8 directions, etc.).
L'aspect le plus important est l'éditeur d'événements - c'est une immense matrice, que vous utilisez pour définir ce qui se passe règles définies (Like - objet (1) déplacé à la fin de l'écran, l'emplacement de l'objet est> 100, etc ...).
la source
Allez avec Unity3D ...
il n'y a pas besoin d'avoir peur de coder dedans ... et il y a trop de chose en ce que vous n'avez pas besoin de coder ... les échantillons feront le bonheur de votre cousin.
il y a aussi quelques vidéos ... agréable à regarder walkerboystudio.com/html/unity_training_ free .html
la source
http://news.bbc.co.uk/2/hi/programmes/click_online/9658183.stm
Le programme BBC Click a montré un site Web où vous pouvez créer un jeu basé sur Flash sans avoir besoin de connaître un langage de programmation.
http://www.stencyl.com/
la source