Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
Jeux
27 août 2008

Jeux Flash

Nous avons entendu cette histoire auparavant : le promoteur de jeu grand est fatigué de taille d'équipe de jeu grand, la pression et la politique et commute à la fabrication de petits jeux. De nouvelles sociétés ont rempli des gens échappant la vente au détail AAA l'industrie, développant ces jeux "occasionnels", surgissent tout le temps. Ceux-ci ne sont pas les petites choses idiotes qui nous sont expédiées dans l'email et tenir notre attention pendant 30 secondes. Ceux-ci sont les jeux qui font de l'argent et prêtent l'oreille en arrière aux jours d'yore quand un couple de dégénérés dans un garage pourrait réunir un titre de shareware chaud dans quelques mois et devenir riche rapide. La grande différence est aujourd'hui dans les outils. Nous pouvons construire plus grand, mieux, des jeux plus jolis, plus avancés avec les gens de moins bientôt et pour moins d'argent que jamais auparavant!

Un du plus respecté (et insulté) des outils pour faire le contenu interactif est le Flash. Bien, en ce qui concerne Flash comme une plate-forme de développement de jeu ? Il a grandi dans le pouvoir considérablement au cours des années. Les jeux occasionnels que nous construisons sont aujourd'hui équivalents dans la qualité de production aux jeux AAA qui expédiaient autour d'il y a 10 ans. Pouvons-nous le faire dans le Flash au lieu de cela ? Et pourquoi voudrions-nous à ?

Ce papier est l'histoire des expériences d'équipe de développement Oberon avec la construction de jeux dans le Flash. Tous d'entre nous sont venus de grands jeux où nous avons construit notre technologie propre (l'auteur était un C ++ des ingénieurs système de jeu pendant presque dix ans), ainsi pourquoi avons-nous choisi le Flash comme notre plate-forme de développement au lieu de construire notre plate-forme de jeux occasionnelle propre ? Ce qui était si chaud du Flash et qu'est-ce qui nous a causés des maux de tête ? Et, le plus important encore, quand devrions-nous éviter d'utiliser le Flash entièrement ?
Jeux Occasionnels

Avant que nous ne soyons commencés, nous devrions d'abord parler de ce qu'exactement un jeu "occasionnel" est. La plupart du temps, ce terme attribue à un jeu cela …

…is entre 3 et 10 méga-octets dans la taille (des utilisateurs de modem de 56Ko ne sera pas d'habitude capable ou désirant de télécharger quoi que ce soit de plus grand).

…sells pour autour de 20 $ dans l'impulsion achètent la zone. Du même comme un CD, ou une date bon marché.

…works sur ordinateurs antiques avec systèmes également antiques d'exploitation.

…is a exclusivement distribué en ligne par des canaux comme MSN ou RealArcade.

…has un auditoire énormément différent que jeux de PC/CONSOLE au détail.

…is développé pour une fraction du prix et des ressources comme un grand jeu au détail.
Si vous jouez le Monde de Warcraft alors vous savez déjà que le gagne-pain de votre caractère et sa/sa force dépend combien d'or vous a. Cela directement des impacts comment vite vous pouvez niveler et dans quoi des guildes vous pouvez entrer!

Je pense, plutôt que gaspiller l'argent réel achetant l'or, pourquoi non jouent juste plus chic pour que vous puissiez gagner plus d'or dans le jeu naturellement - c'est plus d'amusement cette voie de toute façon! Vous ne devrez pas jouer des heures plus longues, jouer juste plus efficacement donc vous vous concentrez sur les choses qui payent le plus.

Juste en concentrant jouant plus efficacement, vous pouvez en réalité vous attendre gagner n'importe où entre 2 à 3 fois tant d'or. Ainsi, apprenant à faire les mouvements justes et se concentrent sur les professions justes est très important si vous voulez économiser de l'argent et être un meilleur joueur.

À propos, aucune de ces techniques ou tours n'est illégale de n'importe quelle façon - vous ne pouvez pas être démarrés de Warcraft pour les utiliser!

7 Bouts à Fabrication de Plus d'Or Sur Monde de Warcraft

1. Assurer pour sortir l'or supérieur faisant le guide, ils ont tous les bouts spécifiques et détaillés dont vous avez besoin.

2. Chercher "des humanoïdes" - la chance beaucoup plus haute de laisser tomber de bons articles vous pouvez négocier pour l'or ou même de l'or lui-même plusieurs fois.

3. Skinning - une grande profession. Cette profession vous permet de tuer des animaux, la peau eux et le vendre ensuite!

4. Extraction - une Autre profession fortement profitable.

5. En extrayant ou skinning, la pêche peut aussi vous faire beaucoup d'argent.

6. Assurer pour utiliser le système de maison de vente aux enchères très efficacement.

7. Vérifiez toujours des maisons de vente aux enchères pour les derniers prix, ils changent vraiment et cette voie que vous savez que chercher quand vous jouez.
Aussi, des jeux occasionnels auront fréquemment "une énigme" accueillie de tissu que les joueurs peuvent jouer pour toujours gratuitement, avec une version "de luxe" plus pleine-montrée qui est téléchargeable. La version de luxe est presque toujours la copie protégée par les canaux de distribution et limitée d'une certaine façon jusqu'à ne acheté (souvent un 60 temps mort infime simple). Et dans des nombreux cas, le vieux modèle de shareware travaille toujours, harcelant l'utilisateur avec des écrans de culpabilité pour payer.

C'est beaucoup de contraintes. La plupart du temps, nous excluons l'exigence d'une carte 3D. S'il y a 40 heures de gameplay, cela la meilleure réutilisation beaucoup d'art, parce qu'il n'accordera pas juste 5 megs. 8000 lignes de commentaires sonore sont hors de question. Et oubliez de l'utilisation d'une solution middleware chère - en laissant tomber 50Ko sur un moteur de physique à 10 millions de $ Xbox le titre ne peut être aucune grande affaire, il détruira immédiatement le budget d'un jeu occasionnel.
La Plate-forme de Développement

Pour rencontrer nos contraintes, nous avons les exigences suivantes pour notre plate-forme de développement de jeux occasionnelle théorique :

· le code exécutable doit être petit. Après que nous soustrayons l'espace nécessaire pour l'installateur et l'emballage DRM (tristement, cela peut être un méga-octet ou plus), l'audio et l'art, nous n'avons pas beaucoup gauche. Oubliez de C gonflé ++ des bibliothèques de calibre et le grand tiers le DLL'S. C'est encore plus mauvais sur le Mac en raison du jeu d'instruction PPC plus gras (heureusement, les utilisateurs de Mac sont sur à large bande plus souvent que des utilisateurs de Fenêtres).

· le contenu doit être petit. Nous ne pouvons pas échapper à l'et WAV’s DU PNG'S et BMP’s. Nous devons stocker notre contenu dans le JPG'S ou JP2’s et MP3’s ou l'OGG'S.

· Nous devons saisir l'attention des joueurs. Nous voulons être capables de construire et intégrer visuals qui "passe" sans avoir un programmeur sont impliqué, le séquencement des animations compliquées à la main.

· le moteur doit éviter l'API de fantaisie qui n'existe pas probablement sur les machines de client. Personne ne va avoir DirectX 9 installé, ou la Structure .NET, ou le droit GDI +, ou savoir comment/vouloir télécharger et les installer. Nous aurons de la chance s'ils ont une version récente de shfolder.dll. Ils auront des conducteurs de matériel antiques. Et ne pensez pas même à l'appui baissant pour Win98! (Win95 est apparemment ok pour baisser, cependant selon notre stats.)

· l'Exécution est un souci énorme. Beaucoup de systèmes de nos joueurs auront la mémoire et minimale de la vieille UC. Ils seront criblés de spyware et des virus, qui font l'UC et le problème de mémoire encore plus mauvais. Ce moteur doit être serré, efficace et vite.

· le toolset doit soutenir l'itération rapide. Le gaspillage un jour de temps pourrait être un ou deux pour cent du programme de production entier! Donc nous aurons besoin d'une langue scripting, une bonne disposition et un outil d'animation, un modèle d'objet flexible et essayerons à la commande de données tout cela.

· Nous allons vouloir faire une version de tissu du jeu comme une énigme. Donc nous devons avoir un itinéraire au tissu qui n'implique pas de conclusion d'un contrat d'un cher récrivent dans la Java ou le Flash.

Ainsi en ce qui concerne Flash ? Pouvons-nous vraiment faire des jeux avec cela ?
Quel est Flash ?

Le flash est venu de loin depuis les jours de Coup de poing la Publicité de victoire et le Singe. Étincelez 7 (connu comme MX 2004 à la vente au détail) est une plate-forme interactive moderne, avec une conception puissante et un outil de création d'animation, un moteur scripting dynamique sûr de type orienté objet, bitmap rendant avec l'aplanissement et la précision de sous-pixel et a avancé des fonctions de lecture vidéo et audio. "Le flash" est en réalité trois composants : le joueur, le format de fichier et la création tool/IDE.
Le Joueur

Chacun sait quel le Joueur de Flash est. Presque chaque ordinateur sur l'Internet a le Flash - selon NPD, sa pénétration est plus haute qu'Internet Explorer, à 96 %. Nous chargeons le Flash dans nos navigateurs chaque fois nous visitons des sites Web avec la publicité irritante. Pour le Joueur de la version 7, c'est 1 MO ActiveX le contrôle (OCX) qui comprime à 560Ko, d'habitude installé dans C:\windows\system32\Macromed\Flash.

Le joueur consiste en :

· une machine virtuelle. Cela interprète et exécute bytecode pour ActionScript, la langue scripting du Flash. Comme avec n'importe quel environnement géré, le système utilise des déchets le manager de mémoire rassemblé. Le moteur d'exécution du VM'S peut être assez lent - plus sur la façon de travailler autour de ce plus tard dans le papier.

· un modèle d'objet visuel promouvant encadrement hiérarchique. Le flash maintient une hiérarchie d'objets MovieClip (et Graphique et le Bouton, mais ceux-là sont moins utiles) dans une liste d'exposition feuilletée, où chaque objet a sa ligne de temps subdivisée d'encadrement propre et la carte de couches sur le z-ordre. Les agrafes peuvent être disposées dans l'IDE, ou créées et réarrangées du code basé sur des symboles exportés dans la bibliothèque. Chacun a un parent, qui part finalement pour _root. MovieClips peut aussi être chargé dynamiquement du SWF'S externe dans n'importe où dans la hiérarchie.

· un jeu de décodeurs de médias. Le flash peut décoder et jouer les flots en arrière multiples de comprimé audio et vidéo simultanément. Il a des décodeurs pour ADPCM, MP3 et NellyMoser (pour la voix). Pour le vidéo il soutient Sorenson H.263 et l'Étincelle de Sorenson. À cause de l'omniprésence de Flash sur le tissu et la qualité d'Étincelle, beaucoup de sites comme l'Amazone commencent à utiliser le Flash pour la lecture vidéo au lieu du traditionnel Réel, des Médias de Fenêtres, ou des joueurs QuickTime.

· Octroi d'algorithmes. Le flash a un jeu d'algorithmes assez avancés pour rendre le graphisme vectoriel, y compris des lignes, splines, des gradients et antialiased, a filtré bitmap se remplit. Le flash est un moteur vectoriel, mais son appui de bitmap remplit des moyens c'est aussi un moteur bitmap - quand on traîne un bitmap sur l'étape, le Flash crée en réalité une forme quatre-sided alors des attachés un bitmap se remplit d'une texture d'identité transforment la matrice. Chaque forme se remplit peut avoir une texture transforment aussi bien que shader simple pour jouer avec la couleur et l'alpha de texels comme ils sont tramés. Il y a beaucoup d'exemples le Flash d'utilisation en ligne pour rendre des objets 3D simples de cette façon.

· une bibliothèque de structure. Beaucoup de c'est juste la bibliothèque standard nous nous attendrions de n'importe quelle mise en oeuvre JavaScript - aux fonctions de corde de base, des tableaux, le triage, des maths, etc. Le flash ajoute aussi l'appui pour des communications TCP (aucun UDP malheureusement), le chargement asynchrone, XML et plus.
Le Format de Fichier

On connaît le format de fichier de Flash comme SWF (du Flash d'Onde de choc, prononcé "swiff”), qui a passé beaucoup de révisions au cours des années. SWF est un format binaire à base d'étiquette conçu pour coulant, avec la compression zlib sur le sommet pour le tenir petit. Il est important de ne pas confondre le Flash avec SWF - tandis que l'environnement de Flash y a un format de document FLA fermé (plus plus tard) et le Joueur est le code source fermé, SWF comme un format de fichier est libre et ouvert - le spec est complet et facile de trouver sur le site des Macromédias :

http://www.macromedia.com/software/flash/open/licensing/fileformat

Voici une version plus amicale à programmeur :

http://sswf.sourceforge.net/SWFalexref.html

Beaucoup d'appendices ont été créés que la production directement à SWF, comme des programmes de dessin de vecteur, des programmes d'esquisse, examine le logiciel de capture pour des démonstrations, le logiciel de présentation et des structures d'entreprise comme Fléchissent et Laszlo. Il y a même un compilateur MSIL-to-SWF par Robin Debrueil qui nous laisse écrire le code dans C * ou VB.NET et compiler dans SWF.

Il y a quelques alternatives potentielles à SWF qui rencontrent certaines de nos exigences, mais non presque assez :

· SVG du W3C. Le graphisme Vectoriel Évolutif est une norme populaire auprès la communauté source ouverte, mais pas beaucoup de concurrent à SWF, principalement à cause des outils disponibles pour construire le SWF'S. Seul SVG la création d'outils actuellement disponible est très primitive - ils est aujourd'hui où le Flash était il y a 5 ans.

· XAML de Microsoft. Cela n'a pas été sorti encore, mais il ressemble à un système bon, complet. Cependant, jusqu'à ce que nous ne voyions un outil de création, nous pouvons en oublier. Il y a au moins un convertisseur SVG-to-XAML (de Xamlon), mais cela ne résout pas le problème avec l'outil de création. Pas que l'on ne peut pas considérer il importe beaucoup de toute façon - XAML et le moteur de composition pour le rendre la norme sur des bureaux dans l'auditoire occasionnel pendant dix ans, au moins pas si le numéro des gens dirigeant Win98 est aujourd'hui une indication comment les gens traînent leurs pieds sur des mises à niveau. Et quand il est sorti, il aura probablement le même problème que la Structure .NET fait aujourd'hui (encore plus mauvais, comme "Avalon” exige .NET) - la taille redistribuable sera dans les dizaines ou les centaines de megs, accablante la taille de téléchargement du jeu.

Le joueur de Flash est disponible sur des Fenêtres, le Mac, Linux et PocketPC. Pour des téléphones portables le joueur de Lumière de Flash est de plus en plus soutenu, bien que ce joueur soutienne seulement le Flash relativement primitif 4 niveau scripting.
L'Outil de Création / IDE

C'est l'équivalent de Studio Visuel pour composer le contenu de Flash et il est quels promoteurs de Flash dépensent la plupart de leur utilisation de temps. Contenu dans son environnement de développement intégré sont les composants principaux suivants :

· un rédacteur de code. Ne l'utilisez pas, c'est épouvantable. Mieux que Bloc-notes, mais nulle part près d'un outil comme Studio Visuel. À Oberon nous évitons d'utiliser le rédacteur de code incorporé du Flash pour quoi que ce soit plus de 10 lignes de code et utiliser au lieu de cela PrimalScript par Sapien (www.sapien.com). PrimalScript soutient des fonctions standard auxquelles nous nous sommes tous habitués, comme IntelliSense, illimité défont, l'intégration de contrôle source, etc. Malgré cela étant la voiture d'enfant et excessivement cher, il vaut la peine d'utiliser. À cause de la nature dynamique de JavaScript, il est facile de salir et orthographier quelque chose mal, ou passer les faux paramètres dans une fonction, sans le compilateur l'attrapant. La fonction d'IntelliSense aide à éviter ces erreurs idiotes, qui peuvent sauver la plupart de mettre au point le temps.

· un rédacteur d'animation. C'est une des fonctions les plus puissantes de Flash. Les animations sont faites utilisant des outils familiers comme des couches, tweening, la peau d'oignon, introduisant délicatement / de, etc. La plupart des personnes sont familières avec les capacités d'animation vectorielles du Flash, mais les mêmes travaux de système avec bitmaps aussi, qui sont simplement traités comme se remplit sur des formes vectorielles (c'est-à-dire les textures avec transforment).

· un rédacteur pour art vectoriel. Tandis que la plupart de l'art va probablement toujours être bitmaps, il est fréquemment utile d'utiliser le moteur vectoriel pour dessiner les gradients, l'art de ligne et se remplit qui est si commun dans le jeu l'UI'S. Et quand il vient à prototyping quelque chose rapidement, il est insignifiant d'écrire à la hâte un peu d'art de programmeur regardant convenable en quelques minutes.

· un compilateur. La langue scripting du Flash est appelée ActionScript 2.0, qui est en réalité une version avancée de JavaScript basé sur l'ECMASCRIPT 4 projet spec. Cette version prend la langue JavaScript dynamique et ajoute des fonctions comme la dactylo statique, des classes, des interfaces et la sécurité de type.

· un contenu construisent le système. C'est la compression et le pas d'emballage, convertissant bitmaps et audio dans JPG et MP3. Le code et le contenu sont enveloppés dans un SWF, qui est le format de fichier empaqueté du Flash. Les versions depuis 6 ont soutenu la compression zlib du SWF, donc les fichiers peuvent être très petits.

· un programme de mise au point. C'est probablement une des plus mauvaises fonctions de Flash. Le programme de mise au point soutient des fonctions standard comme des points de contrôle, observant des variables et une trace de pile d'appel, mais ne laisser pas l'imbécile de jeu de fonction vous. Il est mal mis en oeuvre, a la rentabilité épouvantable et est presque criminellement lent et incertain. Quand les projets surmontent une certaine taille, le programme de mise au point devient impossible d'utiliser et le seul choix doit tomber en arrière “à printf mettant au point” (c'est-à-dire la mise au point via l'analyse de rondin). La plupart du temps cela travaille assez bien et les cas durs-à-mise-au-point peut être traité en y collant copie un sous-ensemble d'éléments dans un fichier d'essai et mettant au point de là (plus plus tard).

· un système d'aide. Le flash stocke toute son aide dans des fichiers de HTML, mais l'interface à cela de l'IDE est assez terrible comparée à un téléspectateur comme les utilisations de Bibliothèque MSDN. Quelques outils comme PrimalScript peuvent l'index ce contenu et fournir à un meilleur téléspectateur pour cela, mais seulement légèrement. C'est bon pour l'aide de style F1 contextuelle, mais c'est de cela. Heureusement il y a grand workaround : le Manager de Ressource de Flash, qui est un outil libre qui intègre l'aide du Flash avec une interface convenable, mais fouillera aussi dans une variété de ressources en ligne comme la liste d'adresses FlashCoders étonnante, des Notes de Technologie de Macromédias, Fullasagoog et plusieurs d'autres. Il peut être trouvé à http://www.markme.com/mesh/archives/004700.cfm.

· un manager content. Le flash a un bon système pour gérer le contenu. Il importera l'art et audio stocké dans la plupart des formats principaux dans sa "bibliothèque", qui est organisée comme une structure d'arbre. C'est commode pour des promoteurs - les artistes et des compositeurs peuvent stocker leurs actifs dans le contrôle de version dans n'importe quelle structure de dossier qu'ils aiment et les ingénieurs l'intégrant peuvent l'organiser dans la bibliothèque dans un format qui est plus commode pour eux.

L'IDE gère des fichiers FLA, qui sont la source de créer le SWF'S. Tout l'art et audio utilisé par un FLA est stocké directement à l'intérieur de cela dans un format sans perte. Le FLA maintient aussi une référence au fichier original sur le disque, si quand l'actif change sur le disque, il peut être mis à jour dans le FLA. L'inconvénient de c'est que les actifs doivent être mis à jour manuellement (bien que cela puisse être automatisé comme la partie de préparés d'avance construit le processus). Les artistes travaillant sur le PNG'S nu ne peuvent pas simplement vérifier dans le nouvel art et s'attendre le voir, à moins qu'ils ne disent à un ingénieur de le mettre à jour dans le FLA. Les artistes travaillant sur le FLA'S devront directement se rappeler mettre à jour leurs bibliothèques pour obtenir l'art dont ils ont juste changé. Mais d'autre part, l'avantage de ce processus consiste en ce que les actifs peuvent être mis à jour seulement quand l'ingénieur est prêt pour cela. Il n'y a aucun problème avec quelqu'un la vérification dans de nouveaux actifs qui se cassent accidentellement le construit, parce que l'ingénieur d'intégration devra savoir de chaque changement qui est fait.

"La publication" du FLA amorce le processus se construisant et aboutira à un SWF, d'habitude avec le graphisme comprimé à JPG et audio comprimé à MP3. Le type et le niveau de compression sont configurables sur une base par-actif, aussi bien qu'avec des défauts globaux.

IDE de Flash est scriptable via une langue appelée JSFL, qui est JavaScript plus DOM pour l'environnement. La bibliothèque pour JSFL peut être prolongée avec le DLL'S écrit dans C. Presque chaque fonction de l'IDE peut être utilisée de JSFL. En fait, chacun commande que l'utilisateur exécute est enregistré dans un amortisseur d'histoire pour défont /refont et la plupart des commandes ont un équivalent JSFL. C'est insignifiant à la traîner-élite un jeu de commandes dans l'histoire et les sauver comme une fonction de JSFL. C'est une façon commode d'apprendre que JSFL codant - fait juste les opérations manuellement, sauve ensuite le code et s'adapte de là.

Les panneaux et des outils douaniers peuvent être créés dans l'IDE qui regarde et fonctionne comme l'UI qui expédie avec l'IDE. L'UI pour ceux-ci est (non étonnamment) mis en oeuvre comme le SWF'S configuré avec une langue XML.

Étincelez 2004 MX coûte Pro 700 $, qui sont sur le pair avec la plupart des IDE’s. Il utilise un système d'activation de produit qui permet deux installations par copie, qui est commode pour travailler sur le Flash au travail sur le poste de travail ou à la maison sur le calepin. C'est disponible sur des Fenêtres et le Mac - l'interface est presque identique sur les deux versions et le format de FLA est le même, donc les fichiers peuvent être échangés. En peu de places où un chemin peut être stocké dans un FLA (comme pour publie des fixations), chaque plate-forme acceptera des séparateurs de chemin de l'autre plate-forme.
Les avantages de Flash

Ainsi qu'est-ce qui est si chaud du Flash ? Brièvement, les avantages principaux sont :

· un grand outil de création pour contenu interactif. Intègre la plupart des fonctions nécessaires pour faire un jeu.

· le Flash est partout. Pour la version de tissu d'un jeu, 96 % de l'auditoire ne devront pas télécharger quoi que ce soit sauf le jeu. Ce qui est plus important, beaucoup de personnes ne seront pas capables d'installer ActiveX arbitraire contrôle, ou l'utilisation une Java à fiche, tandis que le Flash est préinstallé avec des Fenêtres sur des machines d'entreprise.

· Près de portage insignifiant à Macintosh. Ouvrez autres 5 % du marché à un auditoire ayant grand besoin de jeux convenables.

· la conversion Facile d'un plein jeu à une version de tissu, ou si allant l'autre voie, un chemin naturel pour prendre de la version de tissu au plein jeu téléchargeable.

· le Coût est essentiellement libre - il y a un petit coût pour le Flash IDE, mais il est presque libre de distribuer (juste un certain mineur des choses de licence à s'inquiéter de cela ne coûtent rien). Sans redevance les licences pour des décodeurs comme MP3 et l'Étincelle de Sorensen sont incluses.

· le Bien-être de trouver des artistes. Il y a une association de talent énorme pour dessiner de pour créer l'art ou des animations pour le Flash, en personnel ou le contrat.

· Enfoncent votre jeu dans PowerPoint en donnant une présentation GDC!

· une communauté gigantesque et un marché secondaire. Il y a des milliers de Flash des sites Web liés avec des classes de travaux dirigés, des articles et des discussions. Il y a des centaines d'accessoires de Flash ou des composants pour la vente.

· la pâte de copie Facile pour évaluer des choses de. Le flash permet le glisser-déplacer ou la pâte de copie d'un FLA à un autre et il amène automatiquement n'importe quels objets dépendants dans la nouvelle bibliothèque. Ce peut le rendre incroyablement facile d'essayer des idées rapides à l'extérieur du jeu principal et est un cas où il vaut la peine d'utiliser le programme de mise au point.

L'avantage principal d'utiliser le Flash, cependant consiste en ce que c'est simplement bien-convenu la tâche de faire des jeux. Un mécanicien gameplay entier peut être prototyped dans quelques heures, avec l'art convenable, en forme facilement empaquetée qui court sur un PC, le Mac, ou Linux, par un navigateur Internet ou ... autonome sans redevance. Si nous voulons peser jusqu'à de plus grands jeux, c'est-à-dire aller du prototype dans des jeux occasionnels téléchargeables, donc il y a quelques tours pour utiliser pour le faire travailler, mais rien de trop terrible (il y a plus sur ce plus tard dans le papier).

Le modèle d'objet visuel hiérarchique dans le Flash est la raison principale de cette capacité prototyping rapide. Il est difficile de décrire comment puissant il est sans montrer une démonstration, mais voici une tentative. Prenez par exemple n'importe quel objet graphique qui peut avoir des états multiples, comme :

· une barre d'outils que, basé sur la proximité de souris, peut glisser sur ou de l'écran, ou l'alpha dans et de.

· un avatar de joueur qui peut avoir beaucoup de peaux différentes et dans chaque peau sont plusieurs différentes pose, dont chacun est animé.

· une boîte à cocher qui a des états pour le vol plané, en bas, en haut et mis hors de service.

· un objet que, si le joueur le détruit, fait irruption dans des fragments et éclate avec un effet.

· les décorations de Pièce qui peuvent être ajoutées à une scène, comme une horloge, la veilleuse, la plante verte, la bougie, ou la toile d'araignée. Dont chacun peut avoir des états multiples, comme la marque, la non marque, allumée, non allumé, vivant et mort. Chacun de ces états peut être animé et il peut y avoir des transitions animées d'un état à un autre.

Dans tous ces cas, les résultats peuvent être accomplis avec une petite quantité de programmation visuelle. Nous concentrons comment nous mettrions en oeuvre la barre d'outils :

1. Créer une agrafe de film "la Barre d'outils" qui contient tous les éléments d'écran sur la barre d'outils comme un contexte, des boutons, le texte, etc.

2. Créer une nouvelle agrafe "ToolbarAnim” qui contient juste un cas de la Barre d'outils.

3. Il commence de par un encadrement. Donnez-lui un encadrement supplémentaire et nommez les deux encadrements "Sur" et "De".

4. Aller au deuxième encadrement et traîner le cas de Barre d'outils donc c'est hors de l'image.

5. Ajoutez maintenant un nouvel objet, dites un rectangle vectoriel que des laps de temps les deux encadrements. Convertissez-le en agrafe de film appelée "ToolbarHotSpot” alors keyframe cela et dans chaque encadrement, taille cela pour où la souris peut devoir tenir la barre d'outils ouverte. Convertissez ce rectangle en agrafe de film et mettez son alpha à 0. Nommez-le à "_hotspot" dans les deux encadrements.

6. Dans l'encadrement "Sur" ont _hotspot répondent à onRollOut avec gotoAndStop ("De"). Et dans l'encadrement "De" ont _hotspot répondent à onRollOver avec gotoAndStop ("Sur").

Maintenant nous avons une barre d'outils auto se-cachant et il a pris juste un couple de minutes pour créer. En réalité, il a pris plus long pour écrire de ce que cela a fait pour créer. C'est un tour d'amusement, mais le pouvoir d'agrafes nichées commence vraiment à montrer si nous devions décider de faire la barre d'outils animée hors de l'image comme il se cache. Pour le faire, nous jetterions une liasse d'encadrements après De, tween hors de l'image le mouvement avec un certain bien-être - de choisi et changerions le gotoAndStop ("De") à gotoAndPlay ("De") avec un arrêt () dans le dernier encadrement. Cela prend environ 30 secondes pour faire.

Chaque simple des exemples graphiques multiples-d'état décrits peut précédemment être fait de cette façon. Dans le Flash, une machine d'état pour un objet graphique peut être représentée par un encadrement nommé dans un MovieClip. Et une machine hiérarchique d'état est simplement un jeu de MovieClips niché. Si nous voulons des transitions animées entre des états, nous pouvons simplement insérer les encadrements qui font l'effet nous regardons puisque suivi par un arrêt () quelque part à la fin (plus peut-être un certain code complémentaire, comme un rappel de service d'événement pour notifier le jeu qu'il est fait). Si nous voulons des comportements plus compliqués, nous pouvons créer une classe qui prolonge MovieClip et l'associé cela avec une de nos agrafes.

Passons encore un exemple. Dites que nous devons représenter un niveau de jeu dans le Flash, avec des décorations comme des meubles, des usines, des sorties murales, etc. Nous créerions un objet appelé la Décoration et l'exporterions ainsi le code peut le créer et le placer dans le niveau basé sur les données de niveau de XML. À l'intérieur de la Décoration nous ferions un encadrement par objet différent et nommerions chaque encadrement selon son contenu. Le code peut commuter parmi eux utilisant gotoAndStop () sur la Décoration pour aller à l'encadrement correct qui montre l'objet que nous voulons (de nouveau, basé sur des données XML au temps de charge de niveau). Maintenant disons nous avons voulu ajouter des états - une bougie peut être allumée ou éteinte. Nous irions à l'objet sur l'encadrement de Bougie dans l'objet de Décoration, le convertirions en agrafe de film, créerons des encadrements à l'intérieur de cela pour les états Allumés et Éteints et ensuite de dans notre code de jeu, maintenant nous pouvons utiliser gotoAndStop () pour commuter entre ces états. Maintenant, dites que nous voulons aller encore plus loin et montrer une cheminée qui peut être allumée ou éteinte, mais nous voulons lui montrer ne commençant commen à brûler, ou commencer à sortir. Nous pouvons ajouter plus d'encadrements et insérer un ordre bitmap (ou d'autre effet animé) et le commutateur à gotoAndPlay () au lieu de cela pour montrer une transition.

Cette méthode simple de visuellement des comportements de séquencement est le concept le plus puissant dans le Flash. Les objets peuvent être faits plus profonds, plus complexe, plus interactif, d'une façon claire et intuitive, sans casser n'importe quel code qui travaillait avec un niveau plus haut de hiérarchie. Dans l'exemple précédent, le fait que la bougie peut être allumée ou éteint n'affecte pas le niveau chargent la logique, qui sait seulement que l'objet est une Bougie. Les artistes peuvent entrer à un fichier d'actifs de cette façon et ajouter des effets ou des animations aux objets sans exiger un ingénieur et sans casser le jeu.
Quel est un Jeu de Flash ?

Dites que nous décidons d'utiliser le Flash. Nous avons maintenant une liasse de MP3, SWF et des fichiers XML. Qu'est-ce qui est suivant ? Nous devons être capables de jouer ce dos d'une façon ou d'une autre, qui signifie utiliser le Joueur de Flash. Mais il manque des fonctions comme en plein écran le mode, l'appui pour le clic avec le bouton droit et lit et l'écriture sauve des jeux. Plus notre SWF’s, étant un format ouvert, sont facilement réversible, donc nous voudrions protéger notre propriété intellectuelle avec un certain chiffrage ou au moins l'obscurcissement.

Les macromédias ont un programme pour donner une licence à la source au Joueur, qui nous laisserait ajouter les fonctions nous avons besoin, mais c'est signifié plus pour des fabricants de matériel comptant sur le Flash de port à leurs plates-formes (des téléphones portables, des boîtes supérieures de jeu, des kiosques, etc). Ce n'est pas très le jeu le programme amical à promoteur - ils veulent environ 150,000 $ pour la source et des droits d'auteur en plus de cela C'est ridicule comparé à ce que cela nous achèterait dans l'espace commercial 3D de moteur. Donc nous pouvons oublier de la licenciation à la source du Flash.

Il y a eu plusieurs efforts à la salle blanche construisent un Joueur de Flash, mais presque tous ont tourné court. Celui qui continue à voir des mises à jour régulières est gameswf, contenu dans le projet de tu-banc-d'essai de domaine public de Thatcher Ulrich fini à SourceForge. Malheureusement, tandis que gameswf semble extrêmement prometteur, c'est OpenGL-basé et cela ne travaillera pas pour nous.

Donc nous sommes collés au Flash OCX. Nous avons un couple d'options ici. Construisez une demande d'hôte dans C ++ qui ajoute les fonctions qui manquent, ou achètent un de la planche. La réunion d'un hôte pour le Flash n'est pas un travail insignifiant. Nous avons créé un à Oberon utilisant C ++ et ATL 7 qui ajoute en plein écran le mode, le traitement de clic juste, la détection d'accident et le rapport, l'appui pour le graphisme JPEG2000, OGG et la lecture OXM par la bibliothèque FMOD, le chiffrage, sauver le jeu lisent/écrivent, des écrans d'accueil, la fixation de Flash et une liasse d'autres fonctions, dans un très petit paquet. Le flash peut communiquer avec son hôte utilisant async COM des événements dans une direction et dans l'autre direction, exécuter la variable directe met/obtient ou des appels de fonction. Cela peut être utilisé pour ajouter l'appui pour n'importe quelle opération que le Flash ne soutient pas natalement. Par exemple, l'OCX accueille la demande souscrirait à l'événement fscommand et répondraient à fscommand ("en plein écran", "vrai") pour faire son changement de résolution. Les macromédias ont la documentation sur ce disponible ici :

Http: // www.macromedia.com/cfusion/knowledgebas e/index.cfm ? Id=tn_12059

COM des événements sont async, qui signifie que le SWF ne sera pas capable d'appeler une fonction comme fscommand ("getComputerName”) et s'attendra attendre une réponse. Le flash continuera à exécuter et la demande ne sera pas postée à la demande d'accueil tant que quelque temps n'ait passé. Pour traiter avec cela, nous devons utiliser un ordre où le SWF fait une demande, va ensuite de son affaire jusqu'à ce que l'appendice d'hôte ait une chance de recevoir et traiter la demande et mettre ensuite une variable dans le SWF avec les résultats. Le SWF devra le remarquer indépendamment (probablement par "une montre" sur la variable - une grande fonction d'ActionScript) et être capable de manipuler le temps au milieu. Cela peut être ennuyeux, mais Étinceler les promoteurs devraient être habitués à la programmation d'une manière asynchrone - tout de charger un SWF À UN JPEG à l'obtention de données d'une douille TCP est tout fait d'une manière asynchrone.

Il y a aussi quelques paquets immédiatement disponibles disponibles, comme le Studio SWF de Northcode et mProjector de ScreenTime (Google pour “SWF à EXE” pour trouver tous). Ceux-ci ont les jeux variants de fonctions et peuvent inclure scripting et la capacité de faire plugins dans C ++ prolonger le système plus loin. Comme ils sont des outils de but généraux, ils ont tendance à ajouter beaucoup à la taille de l'EXE. Ils feront d'habitude le paquet le SWF'S et d'autres fichiers d'appui dans avec l'EXE, avec le Flash OCX lui-même, aider empêcher l'ingénierie inverse. Récemment ces types d'outils ont aussi ajouté save-as-Mac EXE l'appui. Et au moins un d'entre eux a réussi à fixer l'async COM le problème d'événement, où l'appendice de Flash peut vraiment appeler synchroniquement à son hôte pour obtenir l'information. Ces outils sont toujours sans redevance et si bon marché qu'ils sont essentiellement libres et valant la vérification.

Ainsi voici les pièces dans notre jeu : "le projecteur" EXE, le Joueur de Flash OCX et le contenu dans SWF’s, XML fichiers et d'autres formats de ressource. Cela peut être distribué sans redevance - les Macromédias exigent essentiellement seulement un peu de placement de logo mineur quand nous utilisons leur Joueur. Assurez-vous de vérifier le contrat de licence pour tous les détails.
Développement avec Flash

Ce qui est différent du développement pour le Flash qu'un moteur "roule notre propre" ? Pour des artistes, il est du même. Faites l'art dans le Photomagasin et vérifiez-le dans le contrôle source - le Flash peut importer une variété de formats, y compris PSD. Pour audio, manuel de MP3'S pour Étinceler, ou le donner le WAV'S et laisse le Flash faire la compression lui-même. Bien sûr, le Flash est beaucoup plus flexible dans cela il est facile de trouver des artistes avec l'expérience d'animation de Flash pour le contrat ou le travail à plein temps. Nous pouvons simplement les faire faire le SWF'S et l'intégrer directement dans le jeu via loadMovie () ou le traînage et la baisse du SWF sur l'étape ou dans un symbole. Ou ils peuvent éditer notre FLA’s directement, s'ils sont prudents. Des ingénieurs audio peuvent faire la même chose, si le séquencement audio dans des animations.

Publicité
Publicité
Commentaires
Jeux
Publicité
Publicité