Je travaille actuellement pour un studio de développement qui porte un jeu PC sur GameBoy Advance. Quelle ne fut pas ma surprise lorsque, analysant les sources du jeu original (Backyard Hockey), j'ai découvert que celui-ci était écrit entièrement en Python ! Qui plus est, toutes ses données sont basées sur XML et... le MNG !
Avez-vous également des exemples de jeux utilisant des technologies ouvertes (comme UT2003 et les OGG) ?
Aller plus loin
# Re: Des technologies ouvertes au service du jeu
Posté par Anonyme . Évalué à 9.
Je pensais qu'un jeu, utilisant des graphismes, demandait une optimisation poussé (genre des bouts de code en assembleur).
Python m'étonne tout les jours.
Un peu rebutant au premier abord, voire même semblant un peu simpliste, et puis on constate qu'il peut faire (facilement) ceci, puis cela et on en fini jamais d'être impressionné.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Moby-Dik . Évalué à 10.
Bon, faut voir les screenshots aussi :-))
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Romain Guy . Évalué à 10.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Xavier Teyssier (site web personnel) . Évalué à -2.
Je suis à chaque fois époustouflé devant la démo fr08 qui, pour 64Ko, est à mon avis magnifique ( http://www.clubic.com/t/fiche1433.html(...) ).
Mais outre la probable qualité de codage de la démo, il est clair que ce n'aurait pas été possible sans DirectX.!
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Jak . Évalué à -4.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Romain Guy . Évalué à 8.
Cela étant dit heu... disons que sur un P IV 1.6 Ghz (avec la RAM et la carte gfx qui vont bien) on sent les menus "ramer". En fait le problème est leur utilisation excessive de XML, chaque changement d'écran fait sentir le bon vieux parsing du bazar (en plus ce sont des gros fichiers XML, par exemple la base des joueurs tient dans un fichier de 500 ko).
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Larry Cow . Évalué à 10.
C'était vrai à l'époque où les machines n'étaient encore ce qu'elles sont. Ca reste encore (partiellement) vrai pour les jeux 3D actuels.
L'idée, c'est que les opérations qu'avant on optimisait à mort en ASM, aujourd'hui elles sont disponibles en hard (accélération 2D ou 3D). Pour ces raisons, coder des jeux (2D ou 3D "légère") dans des langages de haut niveau peut complètement s'envisager.
Un exemple était Arkanae, jeu 3D codé en Java et (étonnament) rapide. Il se basait sur OpenGL4Java, et utilisait ainsi la carte accélératrice. Un jeu 3D software en Java ramerait à mort, par contre.
Une très bonne base pour commencer un jeu en python: pygame.
http://www.pygame.org/(...)
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Thomas RIBO . Évalué à 0.
Voir http://www.nekeme.net(...) , y'a un lien vers la page de Slune.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Philippe Bouamriou (site web personnel) . Évalué à 5.
Ben si le jeux utilise sdl, gtk ou qt (modules écrit en C qui ont pour rôle de permettre l'utilisation de ces libs avec python) pour l'affichage (voir le son), il y a moyen de faire des jeux qui tournent sans aucun pb sur les machines actuelles (voir facilement sur un pII 400 par ex).
Il est d'ailleur possible d'écrire certaines parties en C pour les traitements "lourds" par l'intermédiaire des modules C.
Je ne pense pas qu'il existe des jeux necessitant une IA complexe qui sont réalisé avec python.
Tout ca pour dire que je trouve que python est un superbe language.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par let antibarbie = xp <- xp - 1 . Évalué à 5.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par tcws . Évalué à 1.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Mickael Villers . Évalué à 9.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Gentoo][Gravis . Évalué à 10.
D'ailleurs, à ce sujet, je dois conseiller à tous TwistedMatrix qui est un framework python. La particularité de celui-ci est d'avoir été créé dans le but de créer des jeux !
http://twistedmatrix.com(...)
Pour l'utiliser dans un projet professsionel (pas pour un jeu), c'est une démonstration de ce que peux offrir python...
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Romain Guy . Évalué à 3.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Jiba (site web personnel) . Évalué à 5.
Dans un jeu (en tout cas en 3D), environ 80% du temps est consommé par le rendu des graphiques : OpenGL, carte 3D, raffraîchi de l'écran. Donc faire de l'assembleur permettrait au mieux de gagner 20% de vitesse, pas plus et sans doute beaucoup moins...
Sinon pour l'IA Python est très bien aussi (les générateurs entre autre) !
Pour un jeu en 3D en Python, voir Slune http://oomadness.tuxfamily.org/fr/slune(...)
Le moteur de 3D est en parti en C; le moteur réseau et le jeu lui-même est entièrement en Python
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Frédéric Lopez . Évalué à 2.
> par le rendu des graphiques : OpenGL, carte 3D, raffraîchi de l'écran.
> Donc faire de l'assembleur permettrait au mieux de gagner 20% de
> vitesse, pas plus et sans doute beaucoup moins...
Sauf que pour utiliser les pixel/vertex shaders, il faut écrire en assembleur. Il y a bien sûr des langages de plus haut niveau comme Cg, mais d'après ce que j'ai pu lire, c'est pas très optimisé et beaucoup moins puissant.
Sinon, pour certaines choses, l'assembleur niveau CPU est quand même parfois utile, comme pour le vertex skinning, l'optimisation des shadow volumes ou les calculs matriciels quand on est limité par le nombre d'opérations ou de registres du GPU.
Mais c'est vrai que l'assembleur est de moins en moins utilisé pour les jeux en 3D.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Cedric Cellier . Évalué à 3.
> Donc faire de l'assembleur permettrait au mieux de gagner 20% de vitesse
Incompréhension là : les rendus sont fait par le GPU (le proc sur la carte vidéo).
Pour tout ce que fait le CPU (calculs géométriques, collisions, IA, etc...), faire de l'assembleur permet toujours de gagner des perfs (bien plus de 20% sur ces parties :-)) Quant au rendu, il est limité par la vitesse du GPU et c'est tout, que la gestion de l'IA, par exemple, soit codée en asm ou en visual turbo basic++ ne change pas la vitesse du rendu... Sauf ien sur si, et c'est souvent le cas, il y a une synchro entre le GPU et le CPU (genre arrivée à telle étape, les deux s'attendent).
Donc le fait que les cartes soient accélérées pour le rendu n'enlève à priori aucun des avantages de l'asm sur le visual turbo basic++... Sauf que ca permet aux studios de dev de sortir à moindres frais les jeux d'hiers sur les machines d'aujourd'hui. Ouaaaiiii, on est contant d'acheter super cher du matos de fou pour réduire leurs frais de développement !! :-)
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Matthieu Moy (site web personnel) . Évalué à 2.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Cedric Cellier . Évalué à 0.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Alexandre Beraud . Évalué à 5.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Cedric Cellier . Évalué à 0.
# Re: Des technologies ouvertes au service du jeu
Posté par Duncan Idaho . Évalué à 10.
A noter que dans une mission, on entre dans le bureau d'une secrétaire qui joue évidement au freecell, mais a vue de nez, c'est celui de gnome :)
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Jean Roc Morreale . Évalué à 8.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Az' (site web personnel) . Évalué à 9.
Bref, ne retenir de ce post que oui, mafia à toute sa piste son codée en ogg.
# Re: Des technologies ouvertes au service du jeu
Posté par Christophe Fergeau . Évalué à 10.
En passant, pour le developpement sur PS2, ils utilisaient deux compilateurs, celui de codewarrior, et un autre basé sur gcc...
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Mathieu Pillard (site web personnel) . Évalué à 3.
http://www.lua.org/uses.html(...)
et on y retrouve pas mal de jeux commerciaux...
[^] # Re: Des technologies ouvertes au service du jeu
Posté par PsychoPat (site web personnel) . Évalué à 0.
D'ailleurs c'est là-bas que j'ai appris le Python :)
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Rolland Dudemaine . Évalué à 0.
On m'aurait menti ?
[^] # Re: Des technologies ouvertes au service du jeu
Posté par VERMEEREN Sebastien . Évalué à 0.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Romain Guy . Évalué à 5.
# Re: Des technologies ouvertes au service du jeu
Posté par GreGuS . Évalué à 10.
Les outils de développement principalement recommandés sont basés sur GCC. Des émulateurs existent tels VisualBoyAdvance qui fonctionne sous Linux et est sous licence GPL (me semble-t-il), ainsi que certains outils permettant de tester ses réalisations sur la console directement (sans modifications sur le matériel, tels les cables multiboot utilisant le mode link multi-joueurs de cette console).
Outre des concours, des jeux diffusés sous GPL, une "demo-scene" active, des membres de cette communauté essayent de faire entendre leur voix dans le sens d'une plus grande ouverture (tolérance ?) des constructeurs de consoles.
Pour plus d'informations :
http://www.gbadev.org(...)
http://www.devrs.com/gba/(...)
[^] # Re: Des technologies ouvertes au service du jeu
Posté par Romain Guy . Évalué à 7.
Toujours est-il que pour environ 100 n'importe qui peut acheter une cartouche vierge et uploader ses propres ROMs dedans pour des tests en grandeur nature.
[^] # Re: Des technologies ouvertes au service du jeu
Posté par peau chat . Évalué à 1.
# EvE Online
Posté par Yann Lugrin (site web personnel) . Évalué à 4.
http://www.eve-online.com/(...)
# Re: Des technologies ouvertes au service du jeu
Posté par Thomas RIBO . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.