Skweek3D > Jeu de plateforme (FreeBasic+Irrlichtwrapper)
Proposé par BMarleyFR

le 06 January 2007 à 15h 19mn 27s

36077 visualisations

Déconseillé aux moins de 3 ans
illustration


J'ai tenté de porter sur PC avec Irrlicht le concept d'un vieux jeu que j'avait decouvert sur AmstradCPC.

Compilé avec Freebasic et le wrapper d'Irrlicht il utilise Irrlicht 1.1

Il est loin d'etre fini mais je solicite votre aide et surtout votre avis.

Lien du jeu original (Amstrad, Atari...) : http://www.loriciel.org/fiche.php?id=61
Lien de mon Projet (SKWEEK3D) : http://micro-break.fr/software/SKWEEK3D.zip

Merci d'avance ;-)


#1 

06-01-2007 17:55:10

Jerry Kan
Habitué
Date d'inscription: 21-11-2006
Messages: 265

salut,

c'est pas mal, sobre et joli, bravo !
j'ai pas tout compris, mais j'ai eu l'impression qu'il fallait passer par toutes les cases bleues pour quelles deviennent orange.

mon avis :

le systeme de pas (le perso qui fait un bond en avant) me donne rapidement mal au coeur, (et pourtant je suis un accro de AvP 1 en mode alien) peut etre que si la camera bougeait pas autant lors du saut (ou si elle restait fixe) ce serai mieux

il y a l'air d'avoir un petit bug avec la position du perso, tres souvent on est pas vraiment au milieu de la case, et des fois on est franchement a cheval

lorsqu'on meurt, on perd 2 vies

l'oscillation du blob de droite a gauche lors des "trajets a fond tout droit" est assez peu visible, alors quelle est sympa, et peut etre parce que quand on fonce tout droit on va tres (trop ?) vite, (au point que le blob est difficilement controlable, mais la on rentre dans le game play)

voila,

tu as dit que tu voulais de l'aide, tu as besoin de trucs en particulier ?

Dernière modification par Jerry Kan (06-01-2007 17:56:39)

Hors ligne


#2 

06-01-2007 18:18:50

BMarleyFR
Membre
Date d'inscription: 30-11-2006
Messages: 59

Merci d'avoir tésté ;-)

La position du perso par rapport a la map est normal, il reste libre. J'ai voulu ça pour coller avec le game play de l'original.

En fait je bloque sur ce que tu m'a dit : "le systeme de pas (le perso qui fait un bond en avant) ". A vrai dire avec ma config le perso ne fait pas de "saut" sauf si il tombe dans le vide. Je posterai ce week end une version avec une refonte du game play.

Mais toutefois je soupcone que nos difference de perception du gameplay sont causées par une différence de config, donc de FPS.

En gros si avec ma config le perso avance de 1 case par seconde, peut-etre qu'avec la tienne il en fait beaucoup plus. Je cherche donc un moyen d'avoir une vitesse constante, quelque soit la config, et la je ne vois toujours pas comment m'y prendre autrement qu'en utilisant la fonction d'Irrlicht pour le FPS pour tenter de le rendre constant. Qu'en pense tu?


Amstrad CPC6128 - RAM 128Ko - Lecteur disquettes double faces - Moniteur 256 couleurs ...  :-P

Hors ligne


#3 

06-01-2007 21:34:36

Jerry Kan
Habitué
Date d'inscription: 21-11-2006
Messages: 265

BMarleyFR :

En fait je bloque sur ce que tu m'a dit : "le systeme de pas (le perso qui fait un bond en avant) ". A vrai dire avec ma config le perso ne fait pas de "saut" sauf si il tombe dans le vide. Je posterai ce week end une version avec une refonte du game play.


je sais pas si on s'est compris, en fait quand j'avance d'une case, le blob a l'air de monter un peu en l'air, et l'angle de la camera est modifié, a premiere vue je dirai que la camera descends pour remonter brusquement (ou l'inverse)


BMarleyFR :

Mais toutefois je soupcone que nos difference de perception du gameplay sont causées par une différence de config, donc de FPS.


si ca peu aider, voici la config que j'ai utilisé :
Pentium Centrino 1.7ghz, ATI X600, 1 go de Ram

quand le jeux tourne le compteur en haut indique 300 fps en moyenne

BMarleyFR :

En gros si avec ma config le perso avance de 1 case par seconde, peut-etre qu'avec la tienne il en fait beaucoup plus. Je cherche donc un moyen d'avoir une vitesse constante, quelque soit la config, et la je ne vois toujours pas comment m'y prendre autrement qu'en utilisant la fonction d'Irrlicht pour le FPS pour tenter de le rendre constant.


il y a plusieurs méthodes, justement, on en a peu parlé dernierement sur ce forum, (section tutoriel / Thread Portable, et Gerer la vitesse avec SDL, le sujet a derivé sur les méthodes de gestion des FPS)
http://www.irrlicht.fr/forum/viewtopic.php?id=115

en résumé :

la plus directe est d'utiliser un timer pour enregistrer le temps avant et apres chaque tour de la boucle principale, de calculé le temps écoulé, et d'attendre le temps qui va bien pour arriver au temps que tu veux que dure un FPS
l'inconvénient est que ton programme va perdre un temps de calcul qui aurait pu etre précieux

la bonne méthode pour les jeux gourmands en FPS (merci Copland) est de bouger le personnage (ou n'importe quoi) avec un coefficiant qui varie selon le temps qui s'est écoulé au dernier tour de boucle (si on a fait 1 FPS en 1 seconde, alors on va bouger énormément d'un coup, si on est a 300 FPS on fait 1/300 de movement a chaque fois)

a toi de voit ce qui est le plus adapté
peut etre existe il d'autres méthodes,

Dernière modification par Jerry Kan (06-01-2007 21:34:56)

Hors ligne


#4 

07-01-2007 12:19:57

izguit
Administrateur
Lieu: 127.0.0.1
Date d'inscription: 14-09-2006
Messages: 306
Site web

Injouable sur ma config en signature (plus de 700-800 fps :s) donc ouais utilise le deltatime ca sera mieux smile
Mais sinon pas mal du tout j'aime bien les vieux jeux et vieux concepts remis au goût du jour wink
bonne continuation


Athlon 64 3000+ // 1Go RAM // Geforce 6600GT 128Mo
Turion 64 X2 // 1Go RAM // ATI X1250

Hors ligne


#5 

07-01-2007 15:09:44

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Excellente idée, mais totalement injouable chez moi...
Comme izguit sauf que là j'ai carément 1700 Fps donc je te laisse deviner la fusé que j'ai sur mon écran big_smile.
Voilou utilise un TimeElapsed comme coef pour les mouvements et t'aurra la même vitesse partout wink.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#6 

07-01-2007 17:07:11

BMarleyFR
Membre
Date d'inscription: 30-11-2006
Messages: 59

Merci de votre aide ;-)

J'ai donc tout revu pour utiliser un TimeElapsed, j'ai trouvé comme astuce de déscendre la resolution au plus bas pour faire grimper les FPS et pouvoir verifier si mon TimeElapsed fonctionnait bien. Il reste toujours se probleme de camera qui semble avoir des crises de tremblement... Mais tout probleme a une solution.

Version d'origine : http://dl-1.free.fr/52616e646f6d49567c2 … week3D.rar

Patch : http://dl-3.free.fr/52616e646f6d4956381 … WEEK3D.rar

J'espere dans un premier temps une vitesse constante et une stabilité sur toutes les configs pour pouvoir vraiment me lancer dans le jeu.


Amstrad CPC6128 - RAM 128Ko - Lecteur disquettes double faces - Moniteur 256 couleurs ...  :-P

Hors ligne


#7 

07-01-2007 17:30:17

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Ah ça marche déjà beaucoup mieux !!!!
Maintenant les critiques peuvent arriver lol.
Bon l'idée est originale, c'est assez cartoon et t'a du bol jaime bien ça big_smile.
Sinon j'ai pas bien compris le concept avec les cases blanche, le perso reste coincé dessus et patine dans la choucroute, ensuite je n'arrive pas à passer entre deux cube pour aller marcher sur les cases bleus au milieu.Je te suggère de réduire un tout petit peu la taille du bestio pour que ça passe plus facilement.
Sinon c'est pas encore un jeux complet, mais t'es sur la bonne voie !!!!
Aller au boulot ! Corrige ça et réup une nouvelle version que je puisse restester après correction de ses petits détails wink.
Bon courage et continu !
Rha ça fait plaisir de voir que ça bouge ici bordel big_smile.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#8 

07-01-2007 17:44:06

BMarleyFR
Membre
Date d'inscription: 30-11-2006
Messages: 59

Merci,

Pour les cases "blanches" elle ressorte translucide chez moi, c'est sencé etre de la glace mais ca foire et je pense les retirer directement. Bisarement chez moi ca n'a jamais bloqué entre 2 cubes, je vais modifier les collisions et on vera bien. Sinon pour le fun tu peut t'amuser à ouvrir les niveau dans "MEDIA\LEVELS\" avec le bloc note et tu verras que c'est tout bete a change pour faire ses propres niveaux.

Le but final :

Peindre toutes les cases en rose avant l'ecoulement d'un chrono
Presence d'ennemi à l'inteligence de limace...
Presence de bonus pour pimenter le jeu (augmentation de la vitesse, etc...)
Et un editeur de niveau...

Bref, ya encore du boulot........

Dernière modification par BMarleyFR (07-01-2007 17:48:32)


Amstrad CPC6128 - RAM 128Ko - Lecteur disquettes double faces - Moniteur 256 couleurs ...  :-P

Hors ligne


#9 

07-01-2007 18:31:54

N10
Membre
Date d'inscription: 27-10-2006
Messages: 46

Bon boulot smile ,bonne continuation j'ai trouvé cela bien intéressant.

Dernière modification par N10 (07-01-2007 18:32:10)

Hors ligne


#10 

08-01-2007 22:39:22

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

C'est sympa comme jeux, par contre quand on connait pas et qu'on est un beu comme moi, on se fait avoir par tout les pièges au début ^^.
Sinon c'est chouette, bonne continuation smile.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#11 

08-01-2007 22:48:30

Jerry Kan
Habitué
Date d'inscription: 21-11-2006
Messages: 265

BMarleyFR :

Comme avant je poste le lien de la version de départ puis le patch à ajouter :

Version Originale : http://dl-1.free.fr/52616e646f6d49567c2 … week3D.rar
Patch : http://dl-1.free.fr/52616e646f6d49564b3 … WEEK3D.rar


je telecharge mais j'obtiens des fichiers corrompus sad

Hors ligne


#12 

08-01-2007 23:45:06

BMarleyFR
Membre
Date d'inscription: 30-11-2006
Messages: 59

Ok les liens doivent etres bons maintenant

- Il y a eu des corrections
- L'ajout d'une aide au debuguage
- La possibilité de choisir la resolution et le rendu
- L'ajout de 2D pour le tableau de bord
- L'ajout de nouvelles fonctions

Cette fois-ci je poste le lien du jeu et des Dll indispensables :

DLL : http://www.sendbox.fr/upload/files/1b6I … 9-0015.rar
Jeu : http://dl-3.free.fr/52616e646f6d4956a81 … WEEK3D.rar

Dernière modification par BMarleyFR (09-01-2007 00:55:07)


Amstrad CPC6128 - RAM 128Ko - Lecteur disquettes double faces - Moniteur 256 couleurs ...  :-P

Hors ligne


#13 

09-01-2007 10:14:10

diOxy
Abonné
Date d'inscription: 10-10-2006
Messages: 153

J'ai testé et je trouve l'idée pas mal ! smile Je ne connaissais pas le jeu original.

Concernant les tests, je les ai fait avec ma NVidia 5200. Ma machine P4 3000+, Ram 1Go.

Fps : 160-180, rendu de la glace : Impeccable. Jouabilité : Jamais bloqué.
Le blob, j'ai l'impression que sa conduite tire a gauche quand on avance par petits pas.
L'effet de glisse sur la glace : Ok. Effet de direction forcée : Ok.

Pourrais tu passer le nombre de vie de 999 à une dizaine ? J'ai voulu tester le gameover, mais j'ai perdu patience aux alentour de 500 chutes ! wink

Le fait de ne pourvoir faire de marche arrière est voulu ?

Bon coding a toi ! smile

Hors ligne


#14 

09-01-2007 12:09:23

BMarleyFR
Membre
Date d'inscription: 30-11-2006
Messages: 59

Merci du test ;-)

Tu as testé le jeu par rapport au dernier liens?... lol
C'est etrange parce que les 999 vies etaient dans les version précedentes, la derniere se trouvant aux derniers liens n'en propose que 3.

Impossible de reculer, ca c'est voulu ;-)


Amstrad CPC6128 - RAM 128Ko - Lecteur disquettes double faces - Moniteur 256 couleurs ...  :-P

Hors ligne


#15 

09-01-2007 13:10:30

diOxy
Abonné
Date d'inscription: 10-10-2006
Messages: 153

Faut que je télécharge les derniers en fait, j'aurais du préciser.
Faut que je précise : J'ai pas le net chez moi, donc ce n'est qu'au boulot que je peux poster mes messages et télécharger les mises a jour.

Téléchargement en cours et tests idem.

Hors ligne


#16 

09-01-2007 13:16:30

BMarleyFR
Membre
Date d'inscription: 30-11-2006
Messages: 59

Oki ;-)

Tu m'en donnera des nouvelles


Amstrad CPC6128 - RAM 128Ko - Lecteur disquettes double faces - Moniteur 256 couleurs ...  :-P

Hors ligne


#17 

09-01-2007 18:13:01

Jerry Kan
Habitué
Date d'inscription: 21-11-2006
Messages: 265

tres sympa cette nouvelle version avec les niveaux et tout
ca corrige pleins de bugs qui me génaient précédemment

il reste un gros probleme :

le perso se retrouve souvent entre deux cases,
c'est particulierement génant quand on est sur les cases fléchées, on bloque contre les murs, c'est rapidement ingérable avec le vide a coté
et surtout le perso s'est retrouvé totalement piégé au milieu de 4 fleches a la configuration suivantes :

Code:

  |
->v 
 ^<-
 |

comme précisé dans les infos de debug, la glace fonctionne assez mal
et avec le test du max d'affichage de polygone ca rame avec 2500 cubes affichés (20/30 fps)

Dernière modification par Jerry Kan (09-01-2007 18:14:57)

Hors ligne


#18 

09-01-2007 18:52:55

BMarleyFR
Membre
Date d'inscription: 30-11-2006
Messages: 59

Je suis content d'avoir toutes ses infos :-D

Le perso est toujours voulu "libre" de ce déplacer à n'importe quel endroit, mais c'est vrai que lorsque qu'on lance le jeu des centaines de fois pour le coder on a tendance à s'être habituer à une certaine repondance du personnage, qu'elle soit pratique ou non... :-x

- Donc la maniabilité est à revoir en parti.
- La glace a eu certaines correction depuis, je verrai ce que ca donne au prochain testes, si  ca va toujours pas -> à la poubelle!
-  L'éditeur de niveau est terminé!! Je ne pense pas l'inclure dans les prochains testes étant donné qu'il na pas vraiment de lien avec Irrlicht...

D'ailleur pour les niveaux c'est très simple.

Si on note  le vide "0", les blocs bleus "1", les blocs de murs "2", et le point de départ "6" alors la map est un simple fichier ce présentant comme ceci :

100                   '<--- Temps alloué au niveau

Blablablablabla   '<--- Commentaire apparaissant dans le jeu pour chaque niveau

5                       '<--- Taille de la map sur Y

7                       '<--- Taille de la map sur X

22222222           '|
21116112           '|
22211222           '|   <---  La map
00211200           '|
00222200           '|


C'est quand meme bien pratique ;-)

Donc à venir, sans parler de la correction de bugs, il reste maintenant :

- Des ennemies, betes et mechants...
- Des bonus
- Et bien sur rendre tout ca un peu plus présentable ;-)

Dernière modification par BMarleyFR (09-01-2007 18:57:34)


Amstrad CPC6128 - RAM 128Ko - Lecteur disquettes double faces - Moniteur 256 couleurs ...  :-P

Hors ligne


#19 

09-01-2007 19:36:24

Jerry Kan
Habitué
Date d'inscription: 21-11-2006
Messages: 265

BMarleyFR :

Le perso est toujours voulu "libre" de ce déplacer à n'importe quel endroit, mais c'est vrai que lorsque qu'on lance le jeu des centaines de fois pour le coder on a tendance à s'être habituer à une certaine repondance du personnage, qu'elle soit pratique ou non... :-x


le souci pour moi c'est que sur le colimasson de cases flechées, le perso reste pas au milieu des cases(surtout dans les virages) et il se telescope avec les cases des bords, c'est pas super jouable smile

BMarleyFR :

- La glace a eu certaines correction depuis, je verrai ce que ca donne au prochain testes, si  ca va toujours pas -> à la poubelle!


sur le premier truc que j'ai testé ca marchais pas mal

BMarleyFR :

Si on note  le vide "0", les blocs bleus "1", les blocs de murs "2", et le point de départ "6" alors la map est un simple fichier ce présentant comme ceci :


si un jour ta le temps, essaie le parser XML de irrlicht, c'est un vrai plaisir, ca s'utilise en 10 lignes, et fini les fichier textes avec 200 lignes qu'on sait plus qui est quoi

Hors ligne


#20 

10-01-2007 15:36:09

diOxy
Abonné
Date d'inscription: 10-10-2006
Messages: 153

Re !

J'ai donc testé ta nouvelle version. Voila un bug que j'ai constaté sur la map 2 (celle avec un max de carrés) : Les carrés qui sont dans l'axe du plateau ne se colorent pas. Si on prend la case du milieu comme 1 et les autres comme zéro et changeant de couleurs, au lieu de :

0000000
0000000
0001000
0000000
0000000

ça agit comme :

0001000
0001000
1111111
0001000
0001000

Sinon, pas d'autres problèmes...

Hors ligne


#21 

10-01-2007 16:46:29

BMarleyFR
Membre
Date d'inscription: 30-11-2006
Messages: 59

Arg,

Je l'ai jamais eu celui-la, etrange...

Tu veux bien dire donc qu'au niveau du test n°2 tu n'arrive pas à peindre les cases dans l'axe de la case départ?  --->


Amstrad CPC6128 - RAM 128Ko - Lecteur disquettes double faces - Moniteur 256 couleurs ...  :-P

Hors ligne


#22 

10-01-2007 17:40:36

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Une chose qu'il est important aussi de préciser, m'enfin je pense que t'en es pas encore là, c'est de mettre en place un systeme de sauvegarde, personne n'y pense, mais rien n'est plus frustrant que de recommencer un level du début à la fin surtout quand un level dépasse un certains nombres de minutes.
Et tout le monde sait bien qu'un jeux frustrant bein... on y jou pas.
Je dis ça là sur le tas, même si ça n'a rien à voir avec les posts précédent car ça m'est venu à l'esprit sur l'instant smile.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#23 

12-01-2007 12:15:12

BMarleyFR
Membre
Date d'inscription: 30-11-2006
Messages: 59

La sauvegarde fera parti des details qui devront etre la, bien vu wink

Arg, mais la je lutte pour le moment avec le pathfinding des ennemies... c'est pas la joie sad

Mes map sont toutes composées d'unité de carré de 50 x 50, donc c'est facile pour le path finding de gérer tout ca. Je lis la map et j'attribue '1' aux endroits ou les ennemies peuvent passer pour arriver jusqu'a moi, mais c'est le "50x50" qui me gêne...

En utilisant un algo brut pour le pathfinding ca marche, bien sur leur mouvement se font de 50 en 50. Lorsque je veux adoucir tout ca ils mangent le bord des murs.... Lamentable....


Amstrad CPC6128 - RAM 128Ko - Lecteur disquettes double faces - Moniteur 256 couleurs ...  :-P

Hors ligne


#24 

12-01-2007 13:46:05

diOxy
Abonné
Date d'inscription: 10-10-2006
Messages: 153

BMarleyFR :

Tu veux bien dire donc qu'au niveau du test n°2 tu n'arrive pas à peindre les cases dans l'axe de la case départ?


Exact. Faudra que je te fasse un screenshot.

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
92 invités en ligne
Aucun membre connecté
RSS Feed