Adam Saltsman (AdamAtomic) est un développeur de jeux et le créateur de flixel (une librairie de jeux AS3 open source). Il a récemment passé un peu de temps à répondre à quelques questions sur ses débuts dans Flash et le travail qu’il accomplit actuellement..
J'ai suivi des cours de programmation à l'université, puis j'ai travaillé pendant deux ans en tant que développeur de logiciels pour une petite entreprise, ici à Austin. J'ai quitté la région pour devenir artiste indépendant pendant quelques années, et c'est pendant ce travail que j'ai commencé à utiliser Flash. Mon ami Ivan a pris quelques heures de sa journée pour me montrer les ficelles du métier et j'étais parti! Environ 6 mois après avoir commencé, c'est quand j'ai commencé à expérimenter du matériel au pixel flash plus performant. Il a fallu au moins un an de travail supplémentaire pour obtenir la première version de flixel officialisée..
Faites des petits jeux! Fabriquez des démos ou des prototypes raffinés et partagez-les avec tout le monde. Ce n'est pas nécessairement la voie du succès financier, mais d'après mon expérience, c'est le meilleur moyen et le plus rapide d'apprendre à concevoir des jeux. J'ai fait environ une douzaine de jeux d'une semaine et je commence à peine à me sentir à l'aise avec mon processus de création..
Flixel utilise une approche de rendu en couches. Le premier flixel vérifie si le graphique a été redimensionné ou pivoté, puis utilise le rendu vectoriel Flash pour le dessiner, exactement comme un objet Sprite ou Movieclip normal. Cependant, s'il n'a pas été pivoté, même s'il a été teinté ou si l'alpha a été modifié, Flixel utilise un appel très rapide (copyPixels) pour marquer le graphique dans le tampon graphique. Le tampon graphique est mis à l'échelle et rendu à l'aide du rendu vectoriel (pour obtenir un effet de pixels zoomés).
Mon travail quotidien consiste à créer des jeux pour iPhone en C ++ et en Objective C. Objective C ressemble étrangement à Flash, à bien des égards, avec plus de crochets.!
Paper Moon était une collaboration avec le studio canadien Infinite Ammo, qui était intéressé par l’apprentissage de Unity pour ses projets futurs. J'étais trop heureux de les obliger avec des illustrations!
Flixel ne fait que quelques choses pour la performance, on choisit d’utiliser autant que possible copyPixels au lieu du rendu vectoriel. Cela donne environ 90% de performances en plus, la plupart du temps. Il est intéressant d’utiliser les pixels volumineux agrandis, car vous remplissez encore une grande partie de la fenêtre du navigateur, mais les opérations de rendu réelles sont exécutées dans un espace très restreint. Enfin, flixel encourage mais ne vous oblige pas à recycler vos objets de jeu. Tous les jeux de démonstration sur github utilisent des tableaux pré-alloués pour des choses comme les balles ou les effets de particules. Les objets ont maintenant une fonction reset () qui facilite encore plus la tâche..
Juste moi, et 4-7 jours. Cela est peut-être en train de changer, j'ai de gros trucs dans mon assiette pour l'année prochaine…
De manière générale, j'aime à quel point c'est bâclé. Si c'était un langage plus strict, je pense que le prototypage et l'itération seraient un processus beaucoup plus lent et plus frustrant. Certaines choses qui me posent problème sont l'affectation de valeurs à des paramètres primitifs à partir d'une fonction (je peux simplement ignorer un opérateur d'affectation particulier) et la création de références à des fonctions appartenant à d'autres objets à la volée. C'est peut-être aussi dû à ma propre ignorance, mais ici, quelque chose comme la façon dont C # gère les pointeurs de fonction (délégués?) Pourrait être utile.