Author Topic: Charger differentes scène à la suite  (Read 3985 times)

0 Members and 1 Guest are viewing this topic.

hedo

  • Associate
  • Posts: 2
Charger differentes scène à la suite
« on: June 23, 2006, 05:59:18 PM »
Je débute avec hyperion......... d'abord, bravo pour cet outil qui rend la 3D accessible aux petits programmeurs du dimanche.

Je cherche à faire un petit jeu (j'avais déjà commencé une sorte de RPG 2D en ActionScript (le langage de Flash) avec points de vie, force etc..).

J'aimerai pouvoir charger des scènes (donc fichiers xml) les un après les autres via le code LUA, un peu à la façon de passages de niveaux dans un jeu d'aventure (avec écran "loading") : un premier niveau est terminé, je passe une porte, ça active un script LUA chargeant une nouveau fichier XML (splashscreen "loading").

Est-ce possible ?

J'ai bien reperé qu'on pouvait (incomplètement ?) le faire de façon hardcore dynamiquement avec du code LUA, j'ai reperé des fonctions comme :

toto_id = HYP_Model.Load( "toto.3ds", etc...)
HYP_Object.SetPosition(toto_id, 0.0, 50.0, -20.0 );
HYP_Object.SetLightingState( "toto", 1 );
HYP_Object.SetTexturingState( toto_id, state );
HYP_Object.Render( toto_name | toto_id );
........

Mais je ne sais pas si c'est possible et je pense pas qu'il y ai encore suffisament de fonctions pour se substituer à tous les paramètres du fichier XML......  et ça reste quand même compliqué et fastidieux ..... alors que charger un nouveau fichier xml me parait vraiment plus clair et simple .
 

(par contre, garder certaines variables du niveau precedent (genre niveau de barre de vie) d'un niveau à l'autre me semble compromis vue qu'on charge (donc reset) via un nouveau fichier xml), peut être la possibilité d'écrire dans un fichier texte ces données ?.....

Voilà, j'aurai aimé connaître vos idées sur ce sujet (un peu déroutant vu que Hyperion est plus dédié aux démos courtes qu'à la création de jeux)........

JeGX

  • Global Moderator
  • Capo Crimine
  • *****
  • Posts: 2385
    • oZone3D.Net
Charger differentes scène à la suite
« Reply #1 on: June 23, 2006, 09:04:25 PM »
Hello hedo et bienvenu!

Il est tout à fait possible de développer un jeu avec Hyperion, un petit jeu au moins! J'en ai moi meme fait un il y a presque un an pour tester le concept et ça tient la route:



Le jeu a des bonus au niveau des munitions, des effets sonores, des hud pour les niveaux des armes. Une fois le mur détruit, il est possible de le recharger instantanement.

En fait je pense qu'un jeu doit avoir une scène principale et des médias (modèles 3d, textures 2d, etc.) que tu crée (load/create) et detruit (destroy) en fonction des besoins. Le script XML te permet
d'initialiser les elements qui seront présents tout le temps (genre certaines lumières, cameras, hud). Ensuite au niveau LUA, tu codes des fonctions te permettant d'initialiser et terminer un niveau:
Code: [Select]

function initializeLevel( level )
-- TODO
end


function terminateLevel( level )
-- TODO
end


Entre chaque changement de niveau, tu affiches un hud avec du fade in/out et le tour est joué. Dans tous les cas pour faire un jeu un minimum utilisable il te faudra pas mal de scripting lua. Commence par réflechir à l'organisation de ton game, les elements composants les niveaux.
Quand tu as le choix entre plusieurs solutions, choisi la plus simple (ca peut paraitre evident mais on fait souvent le mauvais choix...).

Et s'il manque des fonctions dans Hyperion pour mener à terme ton game, fais ta wishlist et postes-la sur le forum...

hedo

  • Associate
  • Posts: 2
Charger differentes scène à la suite
« Reply #2 on: June 24, 2006, 12:14:56 PM »
Merci pour ces renseignements.....