7
votes

Devrais-je utiliser HTML5 Canvas ou CSS3 Sprites pour animer des objets pour un jeu?

Je suis en train de commencer à créer un jeu de stratégie (pensez Warcraft) pour le Web. Je fais des recherches sur les sprites Toile HTML5 et CSS3 et je ne peux toujours pas décider quelle technologie à utiliser.

Le jeu ne sera pas terminé pendant 6 mois supplémentaires.

Un conseil serait apprécié.


2 commentaires

Une idée brillante BTW. Starcraft / Warcraft pourrait être facilement porté sur un Web.


Juste un FYI: Il y a un site Stackexchange pour le développement de jeux @ gamedev.stackexchange.com


4 Réponses :


7
votes

Comme vous l'entendez probablement si souvent ... "Cela dépend ..." ™

Ma suggestion considérerait la sensation de l'application que vous après. Si vous essayez de construire une application très riche, principalement des images, alors j'utiliserais de la toile. Toutefois, si vous essayez d'animer des graphiques, mais la page reste-t-elle et se comporter plus de "Web-like", mélangée à un autre contenu HTML, j'essaye CSS3.

Deux points supplémentaires:

  • Actuellement, la toile est mieux supportée que l'animation / sprites CSS3.
  • Si vous utilisez de la toile, vous allez mettre en œuvre votre propre code de boucle de rendu et d'animation (ou en utilisant une 3ème bibliothèque partielle). Votre code crée une animation en composant les différentes couches de chaque image, en appliquant des mouvements et en répétant. Vous ne pouvez pas simplement dire "déplacer cette image un peu à droite". Vous devrez faire cela vous-même.

0 commentaires

3
votes

Le jeu web EA "Lords of Ultima", aussi terne que c'est, est un excellent exemple de style Warcraft (Eh bien, c'est plus de bâtiment de la ville car il n'y a pas d'unités visibles) Outworld, avec des animations et tout ce qui est construit sur une base pure HTML et CSS Sprite. Il a l'air et se répète bien et je pense que la boîte à blocs carrés - modèle de la nature de HTML convient à ce type de conception basée sur carrelage, d'autant plus que beaucoup de traitement de l'image (incorporer un ou un

avec un arrière-plan, modifiez la position de fond pour l'animation) et cliquez sur / la manutention de la souris est effectuée pour vous dans un simple HTML.

Si vous allez faire de la toile, vous devez vous gérer vous-même qui augmentera considérablement la complexité et le temps de développement. Vous aurez plus de contrôle d'éléments mineurs et de performances améliorées, mais vous perdrez également (si c'est du tout important), une plus grande compatibilité à l'envers avec les navigateurs plus anciens. Cela dépend donc de la complexité de votre conception et du type de performance dont vous avez besoin.


0 commentaires

0
votes

Il y a des avantages et des inconvénients aux deux. Actuellement, la toile est mieux prise en charge alors CSS3, mais vous avez dit que votre jeu ne sera pas fait pendant 6 mois supplémentaires, d'ici que le soutien de CSS3 pourrait être beaucoup mieux mieux. Il y a aussi beaucoup d'autres variables ici, telles que: Quel navigateur le jeu sera-t-il consulté? À quel point les graphiques sont-ils avancés pour animer? Etc ... je dirais que la toile serait mieux pour le soutien de la génération actuelle de navigateurs et de graphiques de jeu, mais CSS3 serait plus rapide, mais ne serait même pas proche du soutien ou de la manutention graphique. Mais cela ne semble pas que vous vous précipitez de le faire.

Fondamentalement:

Canvas: graphiques, prise en charge actuelle dans le navigateur Utilisateurs

CSS3: vitesse de développement

L'éther fonctionnera. Mais pour le moment je voudrais utiliser la toile. Cependant, 6 mois dans le monde technologique est une éternité, les choses pourraient être beaucoup différentes.


0 commentaires

1
votes

Utilisez la toile. Si vous utilisez des sprites CSS pour construire une partie, vous allez faire beaucoup de

qui effectue des opérations sur le DOM, qui peut ralentir et aussi avoir beaucoup de concentration et Problèmes de compatibilité.

Il peut payer pour échanger le temps de développement de la performance sur , par l'hypothèse de "Un code sera maintenu pour toujours".

Je pense que le système Sprite CSS3 prend plus de temps pour développer, car vous devez gérer la compatibilité du navigateur.

Les navigateurs comme IE 8 (8 ou 9?) Utilisent GPU pour accélérer les graphismes, ce qui vous permet d'obtenir le déjeuner gratuit de la loi de Moore.


0 commentaires