portal DS avance tranquillement…
« Petit » post pour faire part de l’avancement de portal DS (au passage, le jeu final s’appellera surement pas comme ça, faudra songer à trouver un nom cool comme DScraft; malheureusement, DStal et porDS sonnent vraiment pas terrible
). Alors ça fait maintenant en gros deux mois que je suis dessus je crois et ça se présente vraiment bien, honnêtement mieux que ce que je pensais. Pour commencer, une vidéo assez récente qui montre en gros où j’en suis :
(la suite explique en gros tout ce que j’ai fait pour le projet jusqu’ici, mais c’est un peu technique par moment, donc désolé si c’est pas votre truc)
(et désolé aux gens qui aiment les trucs techniques parce que je pense pas que ce soit assez détaillé pour que ce soit intéressant
)
(ça me fait penser que ça pourrait être cool d’écrire un article style post-mortem pour DScraft où j’explique un peu comment j’ai tout fait, ça pourrait peut être aider des gens qui ont envie de faire un jeu similaire)
(bref.)
Alors ouai ça donne pas l’impression que le projet a énormément avancé depuis le dernier post mais en fait si. En fait, j’ai eu pas mal de gros problèmes techniques à résoudre pendant ce laps de temps, et pendant un temps j’étais vraiment pas sûr que portal serait viable au final. En gros, j’ai commencé le développement de portal complètement sur émulateur parce que ma DS n’avait pas de chargeur (oublié en déménageant). Du coup pendant deux semaines je codais plus ou moins à l’aveugle; je savais plus ou moins que ce que j’avais fait fonctionnerait, mais niveau performances je savais pas du tout à quoi m’attendre. J’espérais quand même que ce serait comparable à ce que j’obtenais sur émulateur, mais il s’est avéré que j’avais vraiment, vraiment tort. Pour faire simple, pour l’affichage des portails (un point crucial du jeu donc), il faut que je fasse un peu de post-traitement de l’image générée par le GPU 3D afin de remplacer la zone couverte par le portail parce qu’on devrait voir à travers. Donc pour ça j’ai commencé par y aller un peu comme un bourrin; le résultat semblait satisfaisant mais sans plus. J’ai ensuite repris la même approche, mais codée en ASM pour gagner en vitesse. Ça semblait fonctionner : au final, sur no$, je faisais le traitement complet en en gros 250 000 cycles (ce qui représente 50% du temps CPU à 60 FPS quand même, mais c’est acceptable vu que je tourne à 30FPS). Le truc, c’est que quand j’ai testé sur hardware, le résultat était pas vraiment le même; si mes souvenirs sont bons, les perfs étaient plus proches de 500 000 cycles, ce qui était vraiment beaucoup, beaucoup trop. En regardant le code que j’avais écrit après coup c’était pas si surprenant, beaucoup trop d’accès mémoire dans tous les sens. Du coup j’ai expérimenté avec plein de techniques différentes et au final j’ai trouvé un truc qui marche bien et qui me fait tout en moins de 200 000 cycles, donc mieux que ce que j’espérais. Mais ça m’a quand même pris deux semaines rien que pour ça. Après j’ai du trouver un moyen fiable de rendre les portails dans toutes les situations sans avoir de problème de profondeur ou de clipping, et ça aussi ça m’a bien pris deux semaines. J’ai finalement trouvé une solution (que je n’ai pas tout à fait fini de coder mais qui marche déjà pas mal en l’état), donc c’est cool.
Après ça, j’ai cassé ma DS du coup j’ai pas pu vraiment avancer sur le jeu en lui même (je me méfie des émulateurs maintenant
), du coup je me suis tourné vers quelque chose de très secondaire (le jeu pourrait très bien marcher sans), mais qui serait quand même très cool s’il fonctionne effectivement : le moteur physique pour gérer les objets comme les cubes et les tourelles. Ça peut paraitre assez trivial comme ça et effectivement d’un point de vue maths/physique c’est pas super compliqué. Pareil, implémenter ça sur PC n’est pas trop trop dur, il y a de très bons articles qui guident et expliquent bien (même si j’en ai un peu chié pour le trouver, au final je me suis beaucoup basé sur la série d’articles de chris hecker sur le sujet qui correspondait parfaitement à mes besoins : http://chrishecker.com/Rigid_Body_Dynamics). Du coup j’ai passé quelques jours à implémenter mon moteur sur PC en faisant bien gaffe à n’utiliser que du fixed point et pas de floats (ou seulement temporairement) pour pouvoir porter ça directement sur DS sans effort. Le résultat était probant; le moteur tournait sans trop de souci, j’ai réglé la plupart des situations qui le font planter et un simple copier-coller permet de passer de PC à DS (excepté pour la partie rendu forcément). De là je me suis concentré sur la mesure des perfs du moteur, et c’était pas forcément génial (ça ne l’est toujours pas d’ailleurs, mais y a pas mal de trucs que je pense pouvoir optimiser et d’autres que j’ai déjà optimisés). Du coup là je me suis rendu compte que même si j’optimisais comme un fou, vu le relatif peu de temps CPU qu’il me restait sur l’arm9, il serait virtuellement impossible de faire tourner le moteur physique de façon « classique » dans portal. Du coup je me suis tourné vers l’arm7 qui est largement inutilisé dans la grande majorité des applications DS (de façon générale, on s’en sert seulement pour tout ce qui est son et wifi… et pour envoyer les infos relatives à l’écran tactile à l’arm9). Il y a pas mal de raisons pour ça : impossibilité pratique d’utiliser la ram principale (c’est possible en vrai, mais on évite parce que ça bloque l’accès de l’arm9 à la ram, ce qui le ralentit/bloque forcément et donc casse tout l’intérèt d’utiliser l’arm7…), ce qui force à n’utiliser que les 64ko de WRAM qui lui sont dédiés (+32ko de WRAM partagée qu’on peut lui allouer) pour TOUT, ie le code et les données, le fait que la communication arm7<->arm9 n’est pas faite pour transporter beaucoup de données (c’est assez lent, du coup si au final ça coûte plus cher de transférer les données que de faire les calculs bon…), le fait que l’unité mathématique (celle qui fait les divisions et les racines en fixed point) est inaccessible depuis l’arm7, et enfin le fait que de toute façon l’arm7 tourne à 33mhz donc bon, c’est pas forcément un gain si énorme que ça si on prend en compte toutes les contraintes. Mais bon, dans mon cas le code du moteur n’est pas énorme donc la limite en RAM est clairement une difficulté, mais elle n’est pas a priori insurmontable (surtout que bizarrement mon code a l’air d’être plus rapide quand il est compilé en Os que quand il est compilé en O3… allez comprendre…), et je n’ai pas beaucoup de données à tranférer (25 octets suffisent à décrire entièrement une boite), du coup j’ai assez vite réussi à faire tourner mon code sur l’arm7. Après ça, j’ai fait pas mal d’optimisation, j’ai testé les perfs dans tous les sens, et une fois que j’étais à peu près satisfait je l’ai inclus dans portal.
Et en gros c’est là que j’en suis. Le moteur physique a l’air de bien fonctionner avec portal, j’ai même implémenté un mini gravity gun pour m’amuser et là je travaille sur les intéractions entre les boites et les portails. Il me reste clairement encore plein de boulot (même pour le moteur physique en lui même, faut que je fasse plein d’optimisation, principalement sur l’usage de la RAM), mais je trouve que ça se présente plutot bien donc je suis assez content. Si je continue à ce rythme (ce qui est douteux mais on peut rêver), je pense que j’aurai une version solide du moteur du jeu vers noël.
Du coup pour l’instant mes plans sont de « solidifier » le moteur, rendre tout ça bien propre et joli, peut être même commencer à ajouter certains trucs qui a priori viendront après comme les boutons et les tourelles, et une fois que j’aurai ça, sortir une démo avec un niveau ou deux. L’idée ce serait que quand cette démo sortira, il y aura plus de gens qui connaitront ce projet, ce qui facilitera la recherche d’un graphiste.
Je pense que ça va être difficile de trouver un graphiste pour ce projet; je n’ai pas besoin d’énormément de trucs mais il me faut vraiment quelqu’un qui soit très doué avec les modèles low poly (idéalement j’aimerais avoir des modèles aussi beaux que ceux-ci : http://tommytallian.blogspot.fr/p/low-poly-tf2.html) et je ne pense pas que lobo sera dispo/motivé pour ce projet. Mais bon, on verra bien, de toute façon j’en suis pas encore là.
novembre 4th, 2012 at 10:32
J’ai tout lu j’ai une chose a dire bonne continuation !
novembre 4th, 2012 at 20:03
je veut bien tester tes jeux si tu veux x)
novembre 5th, 2012 at 10:50
bah j’ai pas vraiment besoin de testeurs pour l’instant, mais sur GBAtemp je propose aux gens qui ont envie de tester de leur donner une version en cours de développement, donc si tu veux tu peux. Par contre, faut pas s’attendre à un truc bien, c’est vraiment très très très buggé et incomplet.
novembre 5th, 2012 at 17:25
franchement ca a l’aire impressionnent mais tu penses que cela va tourner sur la ds car 30 fps c pas non plus super jouable
mais sinon bravo
novembre 5th, 2012 at 17:28
bah euh, comment dire… si ?
30 FPS, tant que y a pas de baisse inopinée, c’est parfaitement jouable, et ça ne se remarque pas du tout quand n’a pas de comparaison. (par exemple, DScraft tourne à 30 FPS et y avait aucune plainte de ce côté là)
novembre 5th, 2012 at 17:30
http://drakon.ixan.net/?page_id=564
petit projet fait par un devlopeur amateur (créeteur de lamecraft)
novembre 5th, 2012 at 17:32
erf, sérieux ? je vais encore me faire insulter par ses fans moi
novembre 5th, 2012 at 20:21
re je veut bien tester meme si c’est très buger en plus je vien très souvent donc si tu veut met moi le lien sur mon adresse email : manoelgarattoni@gmail.com bref voila x) j’ai deja tester un mini projet un fps 3d test je croit que tu a fait je l’es trouver sur le net par smealum ya marquer quand je lance le jeux beta fps 3D smealum ou un truck comme sa bref je revient a dscraft (désolé)
Premiere map dscraft : nom Pixel art #1 : lien http://www.mediafire.com/?jtzpvkpb4l5dzck
Ma deuxième map Jumpcraft v1 : http://www.mediafire.com/download.php?klx3kekb7j8cj49
Jumpcraft : Casser aucun bloc – ne pas voler – ne pas tricher – juste faire le jeux
novembre 5th, 2012 at 20:49
je t’ai envoyé un mail manoel !
pour ce qui est de tes mondes DScraft ça a l’air cool, mais là j’ai pas le temps de tester; ptet que tu pourrais les poster sur le topic de DScraft sur GBAtemp, il y aura surement des gens qui le verront (et mets des screenshots aussi) : http://gbatemp.net/threads/minecraft-ds-in-3d.300847/ (par contre c’est en anglais, pas le droit de poster en français)
novembre 5th, 2012 at 21:19
ok merci x) sa serais cool sur la partit dscraft je vais poster sur gbatemp plus tard ce soir pas trop envie de screen je te donne 2 nouvelle peut etre dans la soirèe pour le test si tu m’a envoyer un lien
novembre 5th, 2012 at 21:31
sa me met guru medition error j’ai juste changer ma map modifier avec la tienne
novembre 5th, 2012 at 21:32
de quoi tu parles ?
novembre 5th, 2012 at 21:51
de portal sa me met guru medition error (sa a marcher j’ai changer ma vielle map de fpsmaker avec la tienne bien faite et guru medition error) chez moi sa a générer la map de fpsmaker je croit que c’est normal non ?
novembre 5th, 2012 at 21:53
ce serait mieux que tu me décrives tes problèmes par mail plutot qu’ici.
novembre 5th, 2012 at 22:22
d’accord et pour dscraft je pense que sa te soul réellement mais tu pense que tu va faire encore quelque blocs ? parceque niveau architecture j’ai beaucoup mais niveau blocs il m’en manque
novembre 5th, 2012 at 22:40
nan désolé, je compte pas ajouter de nouveaux blocs.
novembre 5th, 2012 at 23:06
donc tu arrete completement :/ c’est pg mais j’espere qu’un jour tu retournera dessus
novembre 6th, 2012 at 10:53
voila j’ai poster les maps x)
novembre 6th, 2012 at 11:27
Hey, smealum! J’ai remarquer que tu chercher un graphiste low-poly donc, je veux bien essayer. J’ai bien dit essayer, car je suis plutôt habituer a crée des modèle a 5000 polygone, a les texturer et a les animer sur UDK. Mais bon, sachant que j’ai un peu perdu la patience a faire ces trucs, je vais essayer de voir se que sa donne en bricolant un modele rapide, tout sa. Enfin bref, si t’es intéresse et surtout si sa donne bien mes technique en low-poly, j’aimerais bien t’aidais a faire les texture de Portal
novembre 6th, 2012 at 12:13
Effectivement sur dscraft ça ce voi pas du tout les 30fps car enfaite enormement de jeux
De ds ou autre petite console portable (psp) tournent aussi à 30
Enfin c’est vraiment cool q’un devloppeur indépendent ce consacrent à des projets
Comme ça donc smealum bon conrage
novembre 6th, 2012 at 12:50
Ouai bonne chance moi je trouve que c’est le meilleur dévellopeur pour moi
I Love you <3 x)
novembre 6th, 2012 at 14:16
@Foliper : bah je suis pas contre ! le truc quand même c’est que je vais avoir besoin de persos vraiment low poly, genre dans les 300 triangles pour le personnage principal (qu’il faudra animer), et des textures assez basse résolution (128*128 en 256 couleurs pour le personnage principal je pense). Après comme j’ai dit je vais surement pas avoir besoin d’énormément de trucs mais il va me falloir des trucs de qualité quoi.
) bah tu peux soit commencer à essayer de faire des trucs (comme le personnage, le portal gun, les cubes…) et voir ce que ça donne, soit attendre que le moteur soit plus présentable !
Dans tous les cas, c’est pas pour tout de suite la refonte graphique du jeu, il faut d’abord que je complète un peu le moteur, et après on verra… du coup, même si je sais en gros de quels modèles il y aura besoin, je sais pas encore exactement à quoi ça devrait ressembler (j’aimerais bien ne pas juste directement copier portal 1, peut être plutot essayer de faire une campagne alternative avec un autre perso, mais j’ai rien vraiment décidé pour l’instant).
Donc en gros ce que je veux dire, c’est que c’est comme tu le sens, si tu penses être à la hauteur (et que t’as toujours envie
novembre 6th, 2012 at 15:24
Bref j’ai bientot fini ma 3 eme map de dscraft baser sur un hotel j’ai deja fait 4 maison la piscine/plage (mélange des deux)
novembre 6th, 2012 at 16:50
Ci tu a session de monde pour le scénario je veux bien aider car l’université de portal et d’halflife n’a pas de secret pour moi
novembre 6th, 2012 at 16:53
Dsl mode de saisie automatique sur portable
Session=besoin
Université=univer
novembre 6th, 2012 at 18:09
Idée de map dscraft ? contacter moi x)
novembre 6th, 2012 at 18:25
Bon, ben voilas, j’ai passer 2 Heure a faire un suber portal gun! Probleme, il avait 500 polygone d’où le fait que j’ai légèrement réduit les détails, pour ne pas dire enlever complètement x).
http://img442.imageshack.us/img442/81/imageportalgun.png
Maintenant il fait 150 polygones, surtout concentrer dans les « bras », car après tout on verra surtout sa :p. Dites les parti qui vont pas/les changement a apporter. Et puis surtout, Smealum, est ce que c’est bien?
novembre 6th, 2012 at 18:26
Sinon, comme map DsCraft, pourquoi pas, euh, hum, un labyrinthe, xD
novembre 6th, 2012 at 18:35
un labyrinthe ok c’est noter x) toute facon j’ai prévue mais un peu la flemme la j’ai presque fini ma map hotel
Smealum : je t’ai envoyez un mail
et tu peut mettre les maps sur la page dscraft je ne refuse pas x) si ta le temps bien sur
novembre 6th, 2012 at 18:39
Et sinon, le modèle du portal gun, t’en pense quoi?
novembre 6th, 2012 at 18:43
moi je trouve qu’il est super bien x) j’espere qu’il l’ajoutera
parceque je trouve que tes bon graphiste
novembre 6th, 2012 at 19:00
mes maps sont avec le texture pack Lomacraft pour le design aprer avec les autre je c’est pas ce que sa donne
novembre 6th, 2012 at 19:55
Bon, nouvelle épuration du portal gun : il fait maintenant 90 polygones.
J’ai finalement decider de transformer les bras en face simple, puis de mettre les bras par le biais de l’UV map
Et pis, je me demander, pourquoi pas faire en sorte que sur le personnage, le portal gun lui soit intégrer a la place de la main? Je suis en train de modéliser le personnage la pour voir le résultat, mais bon, voilas le nouvel aspect du modele du portal gun non texturer.
http://img338.imageshack.us/img338/81/imageportalgun.png
novembre 6th, 2012 at 20:58
J’ai reussi l’impossible 4 map en un jour *-*
Donc Voila
Premiere map dscraft : Pixel art #1 : lien http://www.mediafire.com/?jtzpvkpb4l5dzck
Ma deuxième map Jumpcraft v1 : http://www.mediafire.com/download.php?klx3kekb7j8cj49
Jumpcraft : Casser aucun bloc – ne pas voler – ne pas tricher – juste faire le jeux
Map Custom Hotel : lien http://www.mediafire.com/?56daaszmwma4373
Map Test Avec Une Eglise Et Une Maison : lien http://www.mediafire.com/?bwlrnnoswc74oq1
Je Rapelle Aussi que le texture packs très conseiller est Lomacraft , si vous ne le trouvez pas dite le moi je l’upload
novembre 6th, 2012 at 23:23
Et si aprer portal ds tu fesais un portalcraft ds (minecraft + portal + ds) ou en faire une map x)
ou faire un jeux basic genre zelda, pokémon avec une nouvelle histoire si tu ne dévoile a personne ok si tu me le dévoile email et si tu dévoile a tout le monde dit le ici x) merci a toi smealum
novembre 6th, 2012 at 23:39
(j’arrive pas a trouver un nom pour portal ds peut etre portalion (sa ce lit portalionne)
novembre 7th, 2012 at 14:34
Dans portal ds y’aura des cube ect … ou juste des portails moi je dit sa serait bien comme fps maker faire un portal maker x) mais plus facile parceque fps maker j’ai encore du mal aprer quelque mois
novembre 7th, 2012 at 14:52
Hum, je croi qu’il a dti que Portal aurat le meme moteur que FpsMaker et que donc on pourat utiliser FpsMaker pour faire les map normalement
(Dans mes souvenirs)
novembre 7th, 2012 at 15:56
ok merci j’ai crus que tout le monde etais partit
tu as tester mes maps dscraft ? si oui elles sont bien ?
novembre 7th, 2012 at 18:55
Bah, aller, je vais regarder sa
novembre 7th, 2012 at 19:54
Lomacraft en texture packs ( jumpcraft et fait a la va vite en 1 heures)
tester ?
novembre 7th, 2012 at 20:31
dommage qu’il a arreter dscraft j’avait prévue un arbre géant avec des coffres cacher ect … :/
novembre 7th, 2012 at 20:36
dscraft a un bugs génant c’est quand je pose des échelles, je sauvegarde , eteinds la ds , remet ma map je ne voit plus les echelles mais je peut grimper *-*
novembre 7th, 2012 at 23:27
Hum, je pense que tu doit encore les ameliorers, et puis surtout je pense que tu peut en faire qu’une seul map les regroupant
novembre 7th, 2012 at 23:51
sa fait beaucoup de boulot :/ mais j’ai fait une nouvelle map la j’ai fait une belle maison , une tante , et une autre maison
novembre 8th, 2012 at 17:08
Smealum pour portal du nouveau ?
moi sa va j’ai entamée une map maison
et une map labyrinthe (pas commencer xD)
novembre 8th, 2012 at 19:46
sayer j’ai moonshell
novembre 8th, 2012 at 20:59
http://www.studiogmsoft.com/199646_1199230166_large.jpg
Sa c’est des modèles low-Poly o.o
novembre 8th, 2012 at 22:16
on dirait assasin creed x)
novembre 9th, 2012 at 10:14
C’est sa justement x)
novembre 9th, 2012 at 12:26
A je me disais que j’etais un geeker et que je sais tout x)
novembre 9th, 2012 at 16:06
je travaille su jumpcraft v2 x) sa rajouteras peut etre 1 ou 2 maison de jump a faire
novembre 9th, 2012 at 18:02
smelum je t’ai envoyez un autre email repond moi
novembre 10th, 2012 at 01:04
Jumpcraft v2 ? non vous ne rêver pas elle existe maintenant pour la télécharger rendez-vous a http://www.mediafire.com/?40dytkm88go6tfl
Quels sont les nouveautés ? 3 niveau rajouter
et bien une euh … comment dire la/le tour/carré avec la laine gris/blanc sera le point de spawn et la fin de la map definitif ! merci d’avoir lut et bon jeux
novembre 12th, 2012 at 19:58
Oui, je trouve les polygones d’Altaïr très réussis, pas vous?
novembre 13th, 2012 at 23:38
moi aussi j’adore
novembre 28th, 2012 at 21:00
Moi aussi g des maps:
-Un château avec une baraque et une cabane,
-La realy flat map avec une NDSlite et les conneries de ma sœur,
-[projet]Une map avec une quête (histoire).
Voilà, et pour Smea’, une idée: un logiciel pour 3ds (si il en a une), et mercii!
PS:Il manque le capcha.