Nous sommes actuellement le 08 Fév 2012, 06:52



Publier un nouveau sujet Répondre au sujet
 [RELEASE] LuaGE : Lua Game Engine 
Auteur Message
Dev

Messages: 16
Message [RELEASE] LuaGE : Lua Game Engine
Bonjour à tous, bon ces derniers jours je me suis lancé dans un projet : un interpréteur lua mais la différence avec le luaplayer ou pgelua c'est qu'il est conçus spécialement pour être lancé sur psp, sur windows 32, sur ds, ....
Le code lua peut ainsi obtenir les meilleurs config pour la plateforme cible.
Ce lua player n'est basé sur aucun autre lua player !!!

Ce projet est open source et j'aimerais que des personnes m'aident donc vous pouvez utiliser et distribuer les sources à votre guise, dans l'archive, il ya l'eboot pour psp et l'executable pour windows avec les dll.
On peut compiler pour windows et psp et je pense que sa marche pour linux (pas encore testé)


Site officiel : http://mymicrosystem.redby.fr/

liens de download :
http://mymicrosystem.redby.fr/files/luaGE_src_beta.zip
Sources online :
http://mymicrosystem.redby.fr/files/luaGE/

Voici les fonctions pour le moments :
Citer:
System.getX() : Renvoie la résolution en X la plus adéquate à la plateforme
System.getY() : Renvoie la résolution en Y la plus adéquate à la plateforme
System.getName() : Renvoie le nom de la plateforme

Windows.create(x,y,largeur,hauteur,nom,fullscreen,3d) : Ouvre une fenêtre au coordonnées donnée et de la taille spécifié, fullscreen permet de la lancer en plein écran et 3d permet d'activer le mode 3D
Windows.get() : Renvoie la structure Image pour dessiner dessus
Windows.delete() : Ferme la fenêtre
Windows.flip() : affiche la fenêtre
Windows.event() : renvoie l'évènement de la fenêtre
Les différents évènements sont :
EVENT_WINCLOSE : on a appuyé sur le bouton quitté de la fenêtre
EVENT_KEYDOWN : on appuye sur une touche
EVENT_KEYUP : on a relâché une touche
EVENT_MOUSEMOVE : on a déplacé la souris

Joystick.getKey() : renvoie la touche pressé sur le clavier
Joystick.getPad() : renvoie la touche du joystick pressé
Les différentes touches sont :
JOYSTICK_NO : aucune touche pressé
JOYSTICK_UP
JOYSTICK_DOWN
JOYSTICK_RIGHT
JOYSTICK_LEFT
JOYSTICK_T1 : X sur psp et espace sur windows
JOYSTICK_T2 : O sur psp
JOYSTICK_T3
JOYSTICK_T4
JOYSTICK_T5
JOYSTICK_T6

Joystick.getMouseX() : renvoie le déplacement en x de la souris (du pad sur psp)
Joystick.getMouseY() : renvoie le déplacement en y de la souris (du pad sur psp)

Image.load(image) : charge une image
Image.create(l,h,ram) : crée une image vide, la valeur ram peut être :
MEMORY_VRAM : pour la mémoire vidéo
MEMORY_RAM : pour la mémoire ram
image:delete() : supprime l'image de la mémoire
image:clear(color) : lave l'image
image:blit(x,y,img) : affiche une image sur une image
image:pixel(x,y,color) : affiche un pixel sur l'image
image:rect(x,y,l,h,color) : affiche un rectangle sur l'image
image:circle(x,y,r,color) : affiche un cercle de raton r et de centre (x,y)

Color.new(r,g,b) : renvoie la couleur
Color.delete(color) : supprime la couleur color de la ram

ge3D.clear() : lave le buffer 3D
ge3D.mode(mode) : change le mode, mode peut être :
GE_3D_POINTS
GE_3D_TRIANGLES
GE_3D_QUADS
GE_3D_POLYGONS
ge3D.look(cx,cy,cz,cix,ciy,ciz,vx,vy,vz) : positionne la camera au point c(x,y,z) regardant vers ci(x,y,z) avec comme vertical v(x,y,z)
ge3D.stop() : stop l'affichage avec le mode (met bien en place les nouveaux vertex)
ge3D.vertex(x,y,z) : crée un vertex
ge3D.coord(x,y) : spécifie les coordonnées de la texture
ge3D.texture(img) : spécifie la texture à utiliser



Voici des codes et ce qu'ils affichent sous windows :
Le 3D ne marchent pas encore sur psp
sources 1 :
Image
sources 2 :
Image


source 1 code :
Code :
largeur=System.getX()
hauteur=System.getY()
Windows.create(0,0,largeur,hauteur,"Little Shooter",false,false)

event=0
screen=Windows.get()
enemie=Image.load("test/smile.bmp")

black=Color.new(0,0,0)
white=Color.new(255,255,255)

persox=0
persoy=0

nbcible=20

cibles={}

for i=1,nbcible do
   cibles[i]={}
   cibles[i].x=math.random(0,largeur)
   cibles[i].y=math.random(0,hauteur)
   cibles[i].etat=true
end


function dessiner_cibles()
   for i=1,nbcible do
      if (cibles[i].etat==true)then
         screen:blit(cibles[i].x,cibles[i].y,enemie)
         cibles[i].y=cibles[i].y+math.random(-10,10)
         
         if (cibles[i].y >= hauteur ) then
            cibles[i].y=math.random(0,hauteur)
            cibles[i].x=math.random(0,largeur)
            
         elseif (cibles[i].y <=0 ) then
            cibles[i].x=math.random(0,largeur)
            cibles[i].y=math.random(0,hauteur)
         end
      end
      
   end
end


function tuer_cible(x,y,r)
   for i=1,nbcible do
   
      if (cibles[i].x>(x-r)) and (cibles[i].x<(x+r)) and (cibles[i].y>(y-r))
         and (cibles[i].y<(y+r)) then
         cibles[i].etat=false
      end
   end
end



while event~=EVENT_WINCLOSE do
   
   event=Windows.event()
   screen:clear(white)

   
   dessiner_cibles()
   screen:circle(persox,persoy,25,black)

   
   if (event==EVENT_MOUSEMOVE) then
      persox=persox+Joystick.getMouseX()
      persoy=persoy+Joystick.getMouseY()
      
   elseif (event==EVENT_KEYDOWN) then
      if (Joystick.getPad()==JOYSTICK_T1) then
         tuer_cible(persox,persoy,25)
      end
   end
   
   
   Windows.flip()
end

Windows.delete()


sources 2 code :
Code :
largeur=System.getX()
hauteur=System.getY()
Windows.create(0,0,largeur,hauteur,"Test 3D",false,true)


texture1=Image.load("./test/floor.jpg")

blanc=Color.new(255,255,255)
rouge=Color.new(255,0,0)
vert=Color.new(0,255,0)
bleu=Color.new(0,0,255)
cyan=Color.new(0,255,255)
magenta=Color.new(255,0,255)

t=0
angleZ=0



function dessiner_cube()
    ge3D.translate(2,2,0)
   
    for i=0,4 do
   
        ge3D.mode(GE_3D_QUADS)
        ge3D.coord(0,1)
        ge3D.vertex(1,1,1)
        ge3D.coord(0,0)
        ge3D.vertex(1,1,-1)
        ge3D.coord(1,0)
        ge3D.vertex(-1,1,-1)
        ge3D.coord(1,1)
        ge3D.vertex(-1,1,1)
        ge3D.stop()
      ge3D.rotate(0,0,90)
    end

    ge3D.mode(GE_3D_QUADS)
    ge3D.coord(0,0)
    ge3D.vertex(1,-1,1)
    ge3D.coord(1,0)
    ge3D.vertex(1,1,1)
    ge3D.coord(1,1)
    ge3D.vertex(-1,1,1)
    ge3D.coord(0,1)
    ge3D.vertex(-1,-1,1)

    ge3D.stop()
end

    ge3D.texture(texture1)


while event~=EVENT_WINCLOSE do
   
   event=Windows.event()
   ge3D.clear()
   
   
   angleZ = angleZ + 1

   
   ge3D.rotate(0,0,angleZ)

   
   ge3D.look(3,4,2,0,0,0,0,0,1)

    ge3D.mode(GE_3D_QUADS)

    ge3D.color(rouge)
    ge3D.vertex(1,1,1)
    ge3D.vertex(1,1,-1)
    ge3D.vertex(-1,1,-1)
    ge3D.vertex(-1,1,1)

    ge3D.color(vert)
    ge3D.vertex(1,-1,1)
    ge3D.vertex(1,-1,-1)
    ge3D.vertex(1,1,-1)
    ge3D.vertex(1,1,1)

    ge3D.color(bleu)
    ge3D.vertex(-1,-1,1)
    ge3D.vertex(-1,-1,-1)
    ge3D.vertex(1,-1,-1)
    ge3D.vertex(1,-1,1)

   ge3D.color(cyan)
    ge3D.vertex(1,1,-1)
    ge3D.vertex(1,-1,-1)
    ge3D.vertex(-1,-1,-1)
    ge3D.vertex(-1,1,-1)

    ge3D.color(magenta)
    ge3D.vertex(1,-1,1)
    ge3D.vertex(1,1,1)
    ge3D.vertex(-1,1,1)
    ge3D.vertex(-1,-1,1)
   
   ge3D.color(blanc)
    ge3D.stop()
   
   
   dessiner_cube()
   
   Windows.flip()
   t=t+1
end

Windows.delete()


02 Jan 2010, 11:57
Profil
publicité
PSP master

Messages: 628
Message Re: [RELEASE] LuaGE : Lua Game Engine
A essayer d'urgence

_________________
Image
Image
Image


02 Jan 2010, 12:41
Profil YIM
PSP addict
Avatar de l’utilisateur

Messages: 209
Localisation: Devant mon pc :)
Message Re: [RELEASE] LuaGE : Lua Game Engine
Génial ! Je teste tout de suite !
:D

EDIT : Mais c'est génial, c'est trop pratique les fonction dispo !
J'ai une question : est ce que il y aura aussi la gestion des fenêtre sur PSP ? Ce serait vraiment bien !
Comme sa il y aurai vraiment 100% de compabilitée !

_________________
Dev : PHP, LUA, C++, JS, Html, Action Script, Java, .Net (C#, VB, XNA, silverlight), python, brainfuck, objC

PSP Fat réparée --> ShellOS en C !


02 Jan 2010, 14:40
Profil
Staff IRC
Staff IRC
Avatar de l’utilisateur

Messages: 1698
Message Re: [RELEASE] LuaGE : Lua Game Engine
Qu'est-ce que tu veux dire par fenêtre ?
Une solution simple serait de dessiner ta fenêtre sur une image que tu blittes sur l'écran ;)


02 Jan 2010, 14:53
Profil
PSP addict
Avatar de l’utilisateur

Messages: 209
Localisation: Devant mon pc :)
Message Re: [RELEASE] LuaGE : Lua Game Engine
Non, se luaPlayer est surtout bien parce que il permet de coder des programmes compatible avec n'importe quel plateforme, sans toucher au programme.
Mais si il y a des fonction relative a l'utilisation de fenêtre, les programmes fait pour windows ne sernt pas compatible avec ce LuaPlayer version PSP, sauf si il y a un gestionnaire de fenêtre, ou autre chose qu'il l remplace (Des onglets pa xemple, donc au moinsdu multi tache).

Si il n'y a pas de fenêtre (Ou autre) sur le lua Player PSP, les programmes fait en LUA ne seront pas compatible partout. Il ne faut pas qu'il y est des fonction escusivement sur une plateforme.

_________________
Dev : PHP, LUA, C++, JS, Html, Action Script, Java, .Net (C#, VB, XNA, silverlight), python, brainfuck, objC

PSP Fat réparée --> ShellOS en C !


02 Jan 2010, 15:11
Profil
Dev

Messages: 16
Message Re: [RELEASE] LuaGE : Lua Game Engine
il n'y aura pas de fonctions pour une seul plateforme. Sinon pour que votre programme soit compatible avec toutes les plateformes il faut quand meme bien le coder, par exemple en utilisant les fonctions System.getX() et System.getY() pour obtenir les meilleurs resolutions et adapter son codes à ces resolutions : lors de l'affichage d'une image à une coordonnée, ... (les exemples que j'ai mis le montre)

Sinon nouveautés de cette aprem qui seront posté bientôt (jours prochains) :
+support des fonts ttf et affichage avec (psp et win32)
+Support du son (win32)

Lorsque des fonctions ne sont que pour win32 par exemple sa veut dire que sur psp elles ne font rien mais exite quand meme


02 Jan 2010, 16:41
Profil
PSP bronze
Avatar de l’utilisateur

Messages: 2498
Localisation: Auvergne (63)
Message Re: [RELEASE] LuaGE : Lua Game Engine
Bonsoir.

Je tiens à t'encourager dans ce projet bien parti déjà et qui ne fera qu'apporter un plus à la scène PSP. On n'est jamais en manque d'outils pour développer, alors bon courage, et que tu puisses obtenir tous les résultats escomptés ! :)

_________________
Image
°°°°°°°°°
Image


02 Jan 2010, 23:48
Profil Site internet
News Hunter
Avatar de l’utilisateur

Messages: 2321
Localisation: St Laurent de Chamousset
Message Re: [RELEASE] LuaGE : Lua Game Engine
Héhé après un OS, lordvisaris nous sort un interpréteur LUA, bien joué vieux :P

Non sérieux faut vraiment que je teste sa, les fonctions sont génials :wink:

_________________


03 Jan 2010, 11:36
Profil Site internet
Administrateur
Administrateur
Avatar de l’utilisateur

Messages: 12945
Localisation: Cannes
Message Re: [RELEASE] LuaGE : Lua Game Engine
news en cours.

_________________
EN VACANCES!


04 Jan 2010, 09:14
Profil Site internet
Dev

Messages: 16
Message Re: [RELEASE] LuaGE : Lua Game Engine
Nouvelle release version 2 :
http://mymicrosystem.redby.fr/files/luaGE_version_2.zip

Nouveauté :
+support des fonts ttf
police=Font.load("test/CircleOfDust.ttf",size) : charge une font ttf
police:mode(norm,gras,italique,souligne) : change le mode
police:print(x,y,texte,screen,color) : ecrit un texte à l'ecran
police:delete() : supprime la musique

+Support du son MP3 (pas pour psp)
musique=Sound.load("test/musique.mp3") : charge une musique
musique:play() : joue la musique
musique:delete() : supprime la musique

+Support du reseau (sauf pour psp) :
socket=Network.create(port)
socket:listen(max) : met le socket en ecoute
socket:delete() : supprime et ferme la connection
socket:connect("192.168.9.10",10) : connection (adresse,port)
--ne marche pas encore car manque socket:accept()
socket:send(message,taille_message)
socket:recv(message,taille)


04 Jan 2010, 19:22
Profil
PSP addict
Avatar de l’utilisateur

Messages: 117
Message Re: [RELEASE] LuaGE : Lua Game Engine
Bravo ! la 3d ça reste quand même très compliqué


04 Jan 2010, 19:59
Profil
Dev
Avatar de l’utilisateur

Messages: 898
Localisation: Tours
Message Re: [RELEASE] LuaGE : Lua Game Engine
Merci, je viens de tester et c'est vraiment classe ;)

_________________
Image


04 Jan 2010, 20:57
Profil
Afficher les messages depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet


Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Rechercher pour:
Sauter vers:  

Actualité PSP

Exploitez votre PSP

Aide et information

Nos partenaires