Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Librairie pour jeux
Vebveb Hors ligne Membre Points: 791 Défis: 14 Message

Librairie pour jeux

Posté le 24/04/2012 12:45

Bonjour,

J'ai pour projet d'écrire une librairie pour faciliter l'écriture de jeux où l'on dirige le personnage sur une map vue de haut.

Exemple de jeux: labyrinthe, Harry Potter, pokemon, zelda, ....

La librairie s’occuperait de l'affichage, le déplacement du personnage, des ennemis, ... ainsi il ne reste plus qu'au programmeur qu'à faire les dessins, à décider l'histoire et à programmer ce qui arrive lorsque l'on active tel objet, arrive sur tel case,...

Plus précisément, le programmeur fourni une map d'entiers, chaque entier renvoyant à un objet dans un tableau.
Ce tableau contient les caractéristiques des objets, par exemple:
- image associée
- Est-ce un mûr?
- Faut-il lancer une fonction lorsque l'on arrive sur la case,si oui laquelle (exemple: perte de pv, mort sur personnage ou de l'ennemi, récupération d'une objet, nouvelle quète,... ect -> fonction que le programmeur fait lui même)
- Faut-il lancer une fonction lorsque l'on clique sur la touche activer en étant dessus? Si oui laquelle? (ouverture de porte, de coffres,... )
- Faut-il lancer une fonction lorsque la case apparait sur l'écran? (Création d'un ennemi, ...)

Le programmeur défini de même les objets qui bougent (ennemis, pierre à bouger)

Le programmeur défini les touches 'action', 'quitter', 'menu', la taille d'une case,... et la librairie s'occupe des interactions avec les objets et de l'affichage, du déplacement du personnage, des ennemis...


En basic programmer ce genre de jeux est assez sale (on est souvent obligé de faire du cas par cas pour chaque position, map, ...)

Je compte programmer la librairie en lua, mais il est possible de la faire en C. (et je ne la commencerais pas tout de suite)

Avez vous des suggestions?


Al3x Hors ligne Membre Points: 77 Défis: 3 Message

Citer : Posté le 24/04/2012 16:16 | #


Ça ne casserai pas l'envie de programmer ?


Dark storm En ligne Labélisateur Points: 11631 Défis: 176 Message

Citer : Posté le 24/04/2012 16:19 | #


je ne me rend pas compte de la porté de la lib: il y a plein d'usage possible

C'est une tres bonne idée, si tu arrive à mener le projet à bien. J'attends ca avec impatience

Si tu commence en lua, je veut bien essayer de la porter en C, si ce n'est pas trop compliqué...

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Vebveb Hors ligne Membre Points: 791 Défis: 14 Message

Citer : Posté le 24/04/2012 16:33 | #


Al3x : L'avantage d'utiliser une librairie, c'est que t'as plus de temps pour faire d'autres fonctionnalités. Aussi, ça fait qu'un programmeur qui n'est pas sûr de pouvoir programmer le moteur peut quand même se lancer dans ce genre de jeux.

Dark storm: La différence entre lua et le C sera qu'il y aura à programmer la gestion de la mémoire et aussi faire plus attention au typage pour le C.


Invité

Citer : Posté le 24/04/2012 17:13 | #


Bone idée. En plus, si tu la fait en lua, je pourrai me charger de l'adaptation CPLua
Vebveb Hors ligne Membre Points: 791 Défis: 14 Message

Citer : Posté le 05/05/2012 11:46 | # | Fichier joint


J'ai fait une petite doc qui explique comment s'organise la librairie et comment elle pourras être utilisée.

Avez vous des conseils? Des trucs que j'ai oublié?
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 05/05/2012 12:10 | #


Ca à l'air bien. J'attends des exemples avec impatience.
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 05/05/2012 13:35 | #


Ca me rappele achement GameMaker (que je n'aime pas :/ )
Vebveb Hors ligne Membre Points: 791 Défis: 14 Message

Citer : Posté le 05/05/2012 15:33 | #


Je ne connaissais pas, mais vu les articles que je lit dessus, il me semble que ma librairie est quand même assez différente: Le programmeur a quand même une grande part du programme à faire lui même.
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 05/05/2012 15:35 | #


Mais ya les bases, des briques de collisions, de mouvement, pathfinding... Ya un éditeur de scripts, mais j'aime pas trop le concept.
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 17/02/2013 18:16 | #


tu l'a finie ta libraire?
parceque je viens de me mettre au luafx et ca m'interrese !

Ajouté le 19/02/2013 à 21:39 :
allo?
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Vebveb Hors ligne Membre Points: 791 Défis: 14 Message

Citer : Posté le 25/02/2013 17:38 | #


Oui, j'avais bien avancé la librairie, et je l'avais utilisée pour a lost island

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 85 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd