:: PlayerAdvance.org ::  

Précédent   :: PlayerAdvance.org :: > :: Développement Amateur :: > Nintendo DS > Divers

Divers Tout ce qui ne correspond pas aux autres sous-forums mais qui concerne le développement amateur sur Nintendo DS

Publicité

Réponse
 
Outils de la discussion Modes d'affichage
Vieux 04/09/2008, 12h42   #1
Risike
Membre
 
Date d'inscription: 18/09/2007
Messages: 26
Par défaut [Nouveau langage] Micro Lua DS - un Lua 100% nouveau



Micro Lua DS qu'est-ce que c'est ?

Micro Lua DS est un homebrew pour Nintendo DS permettant de lire des scripts en Lua (plus précisément en Micro Lua). Ce Lua est 100% nouveau et n'a RIEN A VOIR avec dslua, un luaplayer sorti il y a déjà quelques temps sur DS.

J'ai écri Micro Lua en partant de zéro (enfin des sources brutes de Lua 5.1.3). Vous pouvez donc avec cet homebrew lire des scripts utilisant TOUTES les fonctions de Lua 5.1.3 (www.lua.org pour plus de détails) ainsi que des dizaines de fonctions spécifiques permettant de créer très facillement des programmes et des jeux en 2D pour DS.

Micro Lua ne se base pas sur l'hardware 2D de la DS et sur la PAlib pour traiter la 2D comme DSLua. Il utilise le GPU 3D ce qui a pour avantage de n'avoir presque aucune limitation quand aux nombres d'objets affichés à l'écran et leur taille. L'inconveignant majeur est que les 2 écrans de la console sont utilisés en mode 3D et tournent donc à 30fps.

En écrivant Micro Lua j'ai essayé de m'approcher de ce que fait le Luaplayer sur PSP. La syntaxe est donc très proche mais est adaptée à la console de Nintendo (2 écrans, stylet...etc). Il y a aussi des fonctions en plus comme la possibilité d'effectuer des rotations, des zoom..etc sur les images.

Micro Lua comporte des modules de gestion de sprites et de maps qui simplifie énormément la création de jeux 2D. Les sprites et les maps ne sont limités ni en taille ni en nombre.


A qui s'adresse ce langage ?

A tous ceux qui aimerait développer sur DS et qui n'aiment la syntaxe du C.
A tous les déçus de DSLua qui jugeaient la syntaxe peu adaptée à un langage de script.
A tous ceux qui aiment le Lua.
Aux développeur Lua PSP qui possèdent une DS.
A tous ceux qui ont envi d'ouvrir leur esprit à de nouveaux horizons après avoir fumé un bon gros j.... euh...

Un exemple de code
Allez un petit exemple qui vous montre comment afficher une image de n'importe quelle taille et la fait bouger grace à la croix directionnelle ou au stylet.

Citation:
img = Image.load("man.png", VRAM)

x = 10
y = 10

while not Keys.newPress.Start do

Controls.read()

if Stylus.Held then
x = Stylus.X
y = Stylus.Y
end

if Keys.held.Up then y = y + 2 end
if Keys.held.Down then y = y - 2 end
if Keys.held.Right then x = x + 2 end
if Keys.held.Left then x = x - 2 end

screen.startDrawing()
screen.blit(SCREEN_DOWN, x, y, img)
screen.print(SCREEN_UP, 0, 0, "Use the stylus or + to move the man")
screen.print(SCREEN_UP, 0, 8, "Press START to quit")
screen.print(SCREEN_UP, 0, 184, "FPS: "..NB_FPS)
screen.stopDrawing()

end
Vous remarquerez que l'on peut à tout moment dessiner sur l'écran de notre choix en précisant lequel.
Vous pouvez même utiliser les deux écrans comme un seul très facillement.

Pour plus de détails je vous invite à regarder la documentation, les tutos et les exemples.

Bien sur Micro Lua gère tout ce qu'un langage de ce style gère : les dessins d'images et de formes géométriques, les lectures/écritures de fichiers, les parcours de dossiers, le son (mod et compagnie pour le moment), les controles de la DS...etc

De quoi développer de bons petits jeux rapidement.


Quels sont les avantages de Lua (et de Micro Lua)

- Syntaxe très simple, idéale pour les débutants et confirmés
- Une programmation orientée objet même si la plupart des gens ne le savent pas
- Pas de limite de taille pour les images
- Pas de limite du nombre d'images à l'écran (bien sur si vous en affichez des centaines votre programme ralentira fortement)
- Pas de limite de taille de Rom. Une Rom faite maison ne peut pas dépasser 4Mo environ. Avec Micro Lua vous pouvez avoir autant de fichiers que vous voulez étant donné qu'ils ne sont pas inclus dans la Rom
- Un gestion des exceptions (erreur) à l'exécution de scripts
- Très rapide pour un langage de script. Vous allez devoir afficher beaucoup d'images pour voir baisser le compteur de fps
- Une gestion avancée des sprites animés et des maps pour les jeux 2D
... Et beaucoup d'autres



Dans la prochaine version

- Correction de bugs éventuels (et oui c'est une beta)
- Gestion du Wifi
- Gestion du rumble
- Gestion du motion
- Support de plus de fichiers audio (raw, mp3, wave, ogg...etc)


Bugs connus

- Les fonctions drawLine et drawRect ne fonctionne parfois pas
- Lorsque l'écran est recouvert de texte il clignote parfois

Ces bugs seront corrigés rapidement.
N'oubliez pas que c'est une version beta et que d'autres bugs peuvent éventuellement apparaître. Si c'est le cas n'hésitez pas à venir les reporter sur le forum.


Les liens

Téléchargement : ICI
Le site officiel : http://microlua.risike.com
Le forum vient d'ouvrir, il comporte une section française et une anglaise.
Risike est déconnecté   Réponse avec citation

Publicité

Réponse

Liens sociaux

Publicité



Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s))
 
Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Lecteur Micro SD BlackDave [NDS] Divers 8 28/10/2007 20h55
PSP Ca vaut la peine de coder en lua ? Konick Aide au développement 6 03/08/2007 10h33
GBA LUA in my game Dr.Vince Tutoriels 7 13/09/2006 20h22
NDS new exclusive nouveau M3 lite supermecleboss Linkers M3/R4 26 04/08/2006 15h02
NDS LUA sur Nds BennyRebirth Aide au développement 4 24/03/2006 22h17


Fuseau horaire GMT +2. Il est actuellement 18h12.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone
Design par Ass-Itch, DJP et Dr.Vince