FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» I Love You
par Jean Claude Aujourd'hui à 18:16

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Aujourd'hui à 18:08

» mise a jour calculatrice
par joeeee2017 Aujourd'hui à 15:57

» [solved] 3D_LINE How to ?
par Jicehel Aujourd'hui à 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Hier à 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

» Un petit "coucou" à tous les Panoramiciens !
par Jack Ven 6 Oct 2017 - 10:24

» Pourquoi le compilateur stagne
par mindstorm Mer 4 Oct 2017 - 20:38

» Panoramic ?
par Marc37 Mer 4 Oct 2017 - 0:39

» Premiers pas avec Arduino
par Marc37 Mer 4 Oct 2017 - 0:29

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Projet de RPG en panoramic, another time.

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
lagman

avatar

Nombre de messages : 204
Age : 25
Localisation : France
Date d'inscription : 07/05/2008

MessageSujet: Projet de RPG en panoramic, another time.   Sam 24 Juil 2010 - 1:40

Bon voilà, y'à beaucoup de personnes sur ce forum qui ne me connaissent pas, vu que celà fais une bonne année que je ne suis pas passé ici, j'ai déjà crée un jeu 3D assez basique et spécialement pourri et je voudrais passer à autre chose, j'en ai déjà parlé mais j'ai en effet un projet de Jeu de Rôle 3D en tête, j'ai vu qu'il y'avais beaucoup de nouveau éléments dans ce forum aptes à mener à bien ce projet.

J'ai un début de scénario en tête, et j'aurais donc besoin d'un certain nombre de personnes ayant les capacités pour m'aider.

- Une personne pour le son (Je ne possède pas de carte sonore sur mon ordinateur.)
- Un graphiste ( Je ne maitrise que basiquement blender.)
- Un autre programmeur


Et tout ca devrais suffire.

Je m'attelle au code dès ce soir pour vous pondre une petite démo pour dans une semaine ou deux !


Scenario : Vous êtes dans une prison, amnésique, promis à la peine de mort pour l'assassinat de 200 personnes en simultané (: O), et bah euh pour le moment vous devez vous tirer xD


Enfin voilà j'ai pas mal d'idées qui viennent là en même temps que j'écris et voilà Smile

Si ca intéresse manifestez vous ! : )


Dernière édition par lagman le Dim 25 Juil 2010 - 23:34, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tfssp.populus.org/
lagman

avatar

Nombre de messages : 204
Age : 25
Localisation : France
Date d'inscription : 07/05/2008

MessageSujet: Re: Projet de RPG en panoramic, another time.   Sam 24 Juil 2010 - 4:14

Code:
' Programme codé par Anthony REY


full_space 0
scene3D 1
color 1,0,0,0
full_space 1
label boucle
dim rotation_perso
label collision_check
rotation_perso = 0


' setting up of der madame la caméra et son adjointe la lumos

cam_position 0,-15,10
light_position 0,0,50


' création de la pièce.
' création mur par murs.


' ajout d'un toit

3d_box 7,60,60,2
3d_z_position 7,14
  3d_load_texture 7, "texture_sol.jpg"


' sol (un peu calculé au hazard a vrai dire lol)

3d_box 2,150,150,2
3d_y_position 2, -3
3d_z_position 2, -6.5

  3d_load_texture 2, "texture_sol.jpg"
 
  ' je vous raconte pas la ram qu'on pourrais gagner en mappant une texture en multiples
' petites textures de 128*128 mais bon.  Pasque du 1024 vla quoi.
' En plus c'est long à charger

 ' X= droite gauche  Y = devant deriere  Z = en haut en bas

' mur nord

3d_box 1,50,2,25
3d_y_position 1,20

3d_load_texture 1, "texture_mur.jpg"

' mur sud

3d_box 3,50,2,25
3d_y_position 3,-30
3d_transparent 3,50

3d_load_texture 3, "texture_mur.jpg"


' mur est ( droit )  (les pays de l'est sont vers la chine donc à droite de la France.)


3d_box 4,2,60,25
3d_x_position 4,25
3d_y_position 4,-5

3d_load_texture 4, "texture_mur.jpg"

' mur ouest


3d_box 5,2,60,25
3d_x_position 5,-25
3d_y_position 5,-5

3d_load_texture 5, "texture_mur.jpg"


' le pequenaud ! : D

3d_box 6,5,10,5
3d_x_rotate 6,90
3d_z_position 6,0

' la superbe caméra !


cam_y_position  o3d_y_position (6) -20



' setting des collisions et debugage

3D_COLLISION_AS_CUBE 1
3D_COLLISION_AS_CUBE 2
3D_COLLISION_AS_CUBE 3
3D_COLLISION_AS_CUBE 4
3D_COLLISION_AS_CUBE 5
3D_COLLISION_AS_CUBE 6








boucle:



if scancode=27
terminate
end_if

if scancode=19
message "Jeu en pause"
end_if

' haut le gars avance
if scancode = 38
3d_move 6, 0.3
display
end_if






' bas le gars recule
if scancode = 40
3d_move 6, -0.1
display
end_if

' droite il tourne ( genre à la sauce vieux rpg genre shenmue)
if scancode =  39
rotation_perso = rotation_perso +1
3d_y_rotate 6, rotation_perso
display
end_if

' gauche tourne
if scancode =  37
rotation_perso = rotation_perso -1
3d_y_rotate 6,rotation_perso
display
end_if



point_x_position O3d_x_position (6)
' ca veut dire que la cam pointe tjr sur le centre X de l'objet 6

point_y_position O3d_y_position (6)
' idem mais sur le plan y
point_z_position O3d_z_position (6)
' do I really need to explain ?

cam_y_position  o3d_y_position (6) -10
cam_x_position o3d_x_position (6)

 display
goto collision_check



collision_check:

if O3D_collision(1,6)=1 and scancode = 38
3d_move 6, -1
end_if

if O3D_collision(3,6)=1 and scancode = 38
3d_move 6, -1
end_if

if O3D_collision(4,6)=1 and scancode = 38
3d_move 6, -1
end_if

if O3D_collision(5,6)=1 and scancode = 38
3d_move 6, -1
end_if


' hey ouais sinon il traverse le mur quand il recule !

if O3D_collision(1,6)=1 and scancode = 40
3d_move 6, 1
end_if

if O3D_collision(3,6)=1 and scancode = 40
3d_move 6, 1
end_if

if O3D_collision(4,6)=1 and scancode = 40
3d_move 6, 1
end_if

if O3D_collision(5,6)=1 and scancode = 40
3d_move 6, 1
end_if




display
goto boucle




Twisted Evil C'est pas grave pour les textures virez les , ca devrait pas poser de problème je pense.
Bon j'go dormir et demain, je vous code un jeu complet pour le fun Laughing
C'est encore boggué mais ca iras quand j'aurais éxaminé en détail xD
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tfssp.populus.org/
Jack
Admin
avatar

Nombre de messages : 1764
Date d'inscription : 28/05/2007

MessageSujet: Re: Projet de RPG en panoramic, another time.   Sam 24 Juil 2010 - 8:13

Pas mal.
Pour le faire tourner, j'ai mis toutes les lignes 3D_LOAD_TEXTURE en commentaire car je n'ai pas les fichiers de texture.
Pour les murs, tu utilises des boites car tu as besoin d'un objet 3D_PLANE qui n'existe pas.
Je fais ce nouvel objet dans les jours qui viennent.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
lagman

avatar

Nombre de messages : 204
Age : 25
Localisation : France
Date d'inscription : 07/05/2008

MessageSujet: Re: Projet de RPG en panoramic, another time.   Sam 24 Juil 2010 - 14:07

Merci Jack Smile
Oui effectivement avec un plane je pourrais gagner un peu de temps je pense , mais j'aime bien les box parce que je n'ai pas besoin de les faire tourner sur un quelconque axe . Smile
D'ailleurs en parlant d'axe , impossible de les afficher ca bug >.<
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tfssp.populus.org/
Jack
Admin
avatar

Nombre de messages : 1764
Date d'inscription : 28/05/2007

MessageSujet: Re: Projet de RPG en panoramic, another time.   Sam 24 Juil 2010 - 19:39

Un objet 3D_PLANE sera:
- un plan,
- déplaçable (réagissant à 3D_X_POSITION, 3D_Y_POSITION, 3D_Z_POSITION, 3D_POSITION),
- orientable (réagissant à 3D_X_ROTATE, 3D_Y_ROTATE, 3D_Z_ROTATE, 3D_ROTATE),
- de taille modifiable (réagissant à 3D_X_SCALE, 3D_Y_SCALE, 3D_Z_SCALE, 3D_SCALE),
- recevant une texture tuilable (tuiles de 2 sur 2 par défaut) par 3D_LOAD_TEXTURE,
- pouvant avoir des répétitions de texture (tuiles) sur U et V (3D_U_TILE et 3D_V_TILE)

On pourrait d'ailleurs généraliser cette notion de texture tuilable (motifs répétitifs) et l'étendre à tous les objets 3D.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
lagman

avatar

Nombre de messages : 204
Age : 25
Localisation : France
Date d'inscription : 07/05/2008

MessageSujet: Re: Projet de RPG en panoramic, another time.   Sam 24 Juil 2010 - 20:05

ah ca les textures tuilables ca serais sympa, parce qu' il faut des textures géantes sinon >< (ce que je disais dans mes commentaires de code ^^)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tfssp.populus.org/
Tecking



Nombre de messages : 114
Age : 29
Localisation : Toulouse
Date d'inscription : 30/05/2010

MessageSujet: Re: Projet de RPG en panoramic, another time.   Sam 24 Juil 2010 - 22:10

Jack tes idées de textures sont excellentes Very Happy .
Mais pour gagner en vitesse d'exécution, en serait-il pas possible de créer un nouveau type d'objet (qui existe déjà dans le 2D cela dit), les objet texture :
Modifiable avec la commande flood.
Stockés en ram donc accès rapide.
Et plein d'autres choses... Wink

Remarque intégrer des sprites comme texture 3D ne me gène absolument pas.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
lagman

avatar

Nombre de messages : 204
Age : 25
Localisation : France
Date d'inscription : 07/05/2008

MessageSujet: Re: Projet de RPG en panoramic, another time.   Dim 25 Juil 2010 - 16:43

Code:
' Programme codé par Anthony REY


full_space 0
border_hide 0


scene3D 1
color 1,0,0,0
full_space 1
label boucle
label reinit_tableau
dim rotation_perso
dim camera_pdv


 ' mouvements du personnage
dim a$(19)
dim no : ' pour le tableau de variable
a$(0) = "1.3ds"
a$(1) = "2.3ds"
a$(2) = "3.3ds"
a$(3) = "4.3ds"
a$(4) = "5.3ds"
a$(5) = "6.3ds"
a$(6) = "7.3ds"
a$(7) = "8.3ds"
a$(8) = "9.3ds"
a$(9) = "10.3ds"
a$(10) = "11.3ds"
a$(11) = "12.3ds"
a$(12) = "13.3ds"
a$(13) = "14.3ds"
a$(14) = "15.3ds"
a$(15) = "16.3ds"
a$(16) = "17.3ds"
a$(17) = "18.3ds"



no = 0

label collision_check
rotation_perso = 0
camera_pdv = -10


' setting up of der madame la caméra et son adjointe la lumos

cam_position 0,-15,10
light_position 0,0,50


' création de la pièce.
' création mur par murs.


' ajout d'un toit

3d_box 7,60,60,2
3d_z_position 7,14
  3d_load_texture 7, "texture_sol.jpg"


' sol (un peu calculé au hazard a vrai dire lol)

3d_box 2,150,150,2
3d_y_position 2, -3
3d_z_position 2, -6.5

  3d_load_texture 2, "texture_sol.jpg"
 


 ' X= droite gauche  Y = devant deriere  Z = en haut en bas

' mur nord

3d_box 1,50,2,25
3d_y_position 1,20

3d_load_texture 1, "texture_mur.jpg"

' mur sud

3d_box 3,50,2,25
3d_y_position 3,-30
3d_transparent 3,50

3d_load_texture 3, "texture_mur.jpg"


' mur est ( droit )  (les pays de l'est sont vers la chine donc à droite de la France.)


3d_box 4,2,60,25
3d_x_position 4,25
3d_y_position 4,-5

3d_load_texture 4, "texture_mur.jpg"

' mur ouest


3d_box 5,2,60,25
3d_x_position 5,-25
3d_y_position 5,-5

3d_load_texture 5, "texture_mur.jpg"


' le pequenaud ! : D

3d_mesh 6
3d_load_object 6, a$(no)
3d_x_rotate 6,90
3d_scale 6, 1.2,1.2,1.2
3d_z_position 6,-5.5
3d_load_texture 6, "maleSkin.jpg"

3d_mesh 8
3d_load_object 8, "TSHIRT.3DS"
3d_load_texture 8, "shirt.jpg"
3d_chain 8,6

 3d_mesh 9
 3d_load_object 9, "jean.3ds"
 3d_load_texture 9, "jean.jpg"
 3d_chain 9,6

3d_mesh 10
3d_load_object 10, "cheveux.3ds"
3d_load_texture 10, "cheveux.jpg"
3d_chain 10,6
3d_scale 10 ,1.01,1,1





' la superbe caméra !


cam_y_position  o3d_y_position (6) +camera_pdv



' setting des collisions et debugage

3D_COLLISION_AS_CUBE 1
3D_COLLISION_AS_CUBE 2
3D_COLLISION_AS_CUBE 3
3D_COLLISION_AS_CUBE 4
3D_COLLISION_AS_CUBE 5
3D_COLLISION_AS_cube 6



boucle:


if scancode=27
message "Merci d'avoir testé"
3d_delete_all
end
terminate
end_if

if scancode=19
message "Jeu en pause"
end_if

' haut le gars avance
if scancode = 38
no = no+2


if no > 17
goto reinit_tableau
end_if


3d_load_object 6, a$(no)
3d_move 6, 0.8

end_if


' bas le gars recule
if scancode = 40

no = no+2

if no > 17
goto reinit_tableau
end_if
3d_load_object 6, a$(no)
3d_move 6, -0.5

end_if

' droite il tourne ( genre à la sauce vieux rpg genre shenmue)
if scancode =  39
no = 0

rotation_perso = rotation_perso +8
3d_y_rotate 6, rotation_perso
no=0

end_if

' gauche tourne
if scancode =  37
no = 0

rotation_perso = rotation_perso -8
3d_y_rotate 6,rotation_perso
no =0
end_if



point_x_position O3d_x_position (6)
' ca veut dire que la cam pointe tjr sur le centre X de l'objet 6

point_y_position O3d_y_position (6)
' idem mais sur le plan y


cam_y_position  o3d_y_position (6) +camera_pdv
cam_x_position o3d_x_position (6)


' changement d'angle  (a)

if scancode = 65
camera_pdv = 10
3d_transparent 3,0
3d_transparent 1,50
end_if

' changement d'angle  (z)

if scancode = 90
camera_pdv = -10
3d_transparent 3,50
3d_transparent 1,0
end_if


 display
 

 
goto collision_check


collision_check:

if O3D_collision(1,6)=1 and scancode = 38
3d_move 6, -1.5
end_if

if O3D_collision(3,6)=1 and scancode = 38
3d_move 6, -1.5
end_if

if O3D_collision(4,6)=1 and scancode = 38
3d_move 6, -1.5
end_if

if O3D_collision(5,6)=1 and scancode = 38
3d_move 6, -1.
end_if


' hey ouais sinon il traverse le mur quand il recule !

if O3D_collision(1,6)=1 and scancode = 40
3d_move 6, 1
end_if

if O3D_collision(3,6)=1 and scancode = 40
3d_move 6, 1
end_if

if O3D_collision(4,6)=1 and scancode = 40
3d_move 6, 1
end_if

if O3D_collision(5,6)=1 and scancode = 40
3d_move 6, 1
end_if



display
goto boucle


' reinitialiser le tableau

reinit_tableau:

no = 0

goto boucle


Bon c'est completement buggé, mais c'est une première version pour tester, je suis déjà en train de coder la seconde .

Sources :

megaupload.com C4VOW95V
(Compressé en 7zip : http://www.7-zip.org/)



Testé sur Windows XP SP3 sans problèmes.

Hyper lent sur Vista sur un pc portable pourtant beaucoup plus puissant que mon fixe..
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tfssp.populus.org/
Klaus

avatar

Nombre de messages : 10074
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Projet de RPG en panoramic, another time.   Dim 25 Juil 2010 - 17:11

Un petit détail: tu exécutes tout ton programme en mode "initialisation", avant l'exécution de la commande "end". Je pense que tu vas au-devant des difficultés que tu peux éviter en te servant sciemment du fonctionnement "évènement" de Panoramic. Normalement, un programme est conçu de la manière suivante:
Citation :

' labels
label on_click_0, key_down 0 : ' juste un exemple
' dims.

' création des objets permanents et du GUI
' initialisation de variables
on_click 0,on_click_0 : ' pour l'exemple
on_key_down 0,key_down_0 : ' pour l'exemple

end

' *** à partir de la ligne "end", rien n'est exécuté automatiquement,
' *** tout se passe par des évènements (on_click, on_key_down, ...)

' routines d'évènements
on_click_0: ' routine pour l'exemple
' ici, traiter le click sur la form 0
return

key_down_0;
' ici, traiter une touche frappée sur la form 0
if key_down_code=27
' ici, terminer tou, fermer les fichiers...
terminate
end_if ' routine pour l'exemple
' ici, traiter les autres touches
return
...

' autres sous-programmes appelés par gosub

J'en viens aux consequences: tel que tu as écrit le traitement de la touche Esc pour sortir, la commande terminate n'est jamais exécutée car elle se trouve APRES le premier "end" rencontré par l'interpréteur. Ce dernier passe alors du mode "initialisation" en mode "évènement" et attent tout évènement qui pourrait arriver ET pour lequel on a défini une routine ON_xxx tel que c'est montré dans le squelette de programme ci-dessus.

Donc, si vraiment tu souhaites continuer avec cette technique de programmation en te privant de la gestion simplissime des évènements de Panoramic, alors inverse au moins "end" et "terminate" pour avoir une sortie réelle de ton programme.

D'ailleurs, tu trouveras sur le forum de multiples posts traitant de ce sujet: la prise en charge des évènements, l'utilisation ou non de scan_code, print etc. Tu verras, c'est intéressant.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
lagman

avatar

Nombre de messages : 204
Age : 25
Localisation : France
Date d'inscription : 07/05/2008

MessageSujet: Re: Projet de RPG en panoramic, another time.   Dim 25 Juil 2010 - 17:21

C'est la première fois que je met sert de END, je l'ai inversé >.<

Sinon ouais j'vais essayer de mieux structurer ma prochaine démo ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tfssp.populus.org/
Contenu sponsorisé




MessageSujet: Re: Projet de RPG en panoramic, another time.   

Revenir en haut Aller en bas
 
Projet de RPG en panoramic, another time.
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Mon dernier projet
» [PROJET] Jeu de Plateforme - Commentaires
» EDI réalisé entièrement en Panoramic
» EDI réalisé entièrement en Panoramic
» [Projet] MMORPG: "Xeladora"

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos projets-
Sauter vers: