Raydium 3D Game Engine

Official forum for everything about Raydium, ManiaDrive, MeMak, ...
It is currently Sat Apr 27, 2024 4:13 pm

All times are UTC




Post new topic Reply to topic  [ 6 posts ] 
Author Message
 Post subject: Moteur de jeu
PostPosted: Wed Feb 23, 2005 2:30 am 
Offline
User avatar

Joined: Sat Dec 18, 2004 9:06 pm
Posts: 101
Location: France - Isère (38)
C'est bien un moteur 3d de rendu, de son et de tout ce qu'on veut mais il manque un composant essentiel entre le code du jeu et le moteur (a mon avis).
J'ai beaucoup réfléchi comment je pouvais utiliser raydium pour mon projet. Et je pense que cela peut aussi être utilisé de même pour MeMak alors je soumets l'idée.

A une certaine époque, j'ai travailé sur un jeu qui utilisait le moteur Unreal. il a des possibilités d'extensions offertes qui permet d'améliorer considérablement le jeu sans avoir rien a installer sur le poste client. Tout est téléchargé au début de la partie.
Tout fonctionne autour d'un language orienté objet. Chaque élément (hud, personnages, différents meshes sur la scène, le menu principal, la boîte de sélection du serveur réseau, ...) est une classe qui est instanciée sur la scène.

Mon idée est donc de copier cela: Il ya aurait un programme (le jeu) qui chargerait des classes crées dans un language de scripting aproprié. je pense à Python mais on peut aussi y mettre php :-) Il faut bien entandu restreindre au maximum les possiblitées de ce language car le script téléchargé ne doit pas faire de dégats sur le pc.
Les scripts ont alors accès aux fonctions raydium (peut être pas toutes) qui lui permettront de créer l'objet

Voici comment j'immagine le fichier qui définirait la carte à afficher:
- ce serait un fichier .tar qui serait décompressé avant utilisation
- il y aurait un fichier /index qui serait un php/python/... qui instancirait toutes les classes avec les bons paramètres. par exemple:
Code:
import("mesh", "music");
new mesh(0, 0, 0, 0, 0, 0, "mesh/mesh.tri");
new music(0, 0, 0, 0, 0, 0, "music/maplaylist.txt", "music/maconfig.ini");

Ici, j'immagine que les 6 premiers paramètres sont la translation et la rotation des objets. Chaque objet a donc une position précise.
On peut immaginer que les fichiers sont d'abord cherchés dans l'archive .tar, ensuite sur Internet ...
La fonction import() permet d'importer les classes.

Voila mon idée ... Après, le problème est de limiter les droits des scripts téléchargés ... mais laisser ces droits (écriture de fichier par exemple, toutes les fonctions classiques du language de script) pour les fichiers livrés avec le jeu.

Qu'en pensez-vous ?


Top
 Profile  
 
 Post subject:
PostPosted: Wed Feb 23, 2005 7:58 am 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Cela ressemble pas mal à ce que fait Raydium à l'heure actuelle : téléchargement des données (si version locale non trouvée), et ça concerne aussi les scripts PHP ("RayPHP"), et ces scripts ont accès à une partie de l'API Raydium (toujours RayPHP) pour manipuler la scène (les deux exemples que tu donnes sont réalisables avec RayPHP.

Certes, çe ne sont pas des instances (langage C oblige), mais rien ne t'interdit de placer une fine couche objet avec PHP/Python au dessus de ces fonctions.
Autre limitation : aucun support des tgz. Cet aspect est discuté depuis quelques temps au travers des fichiers "packés", dont il est prévu qu'ils soient intégrables à l'executable lui même si c'est nécessaire, ou dans ton cas, simplement téléchargeables. Ces fichiers sont (seront) décompressés localement.

A ces détails près, Raydium est "capable" de réaliser ce dont tu parles, la seule véritable limitation probable (en fait je n'en sait rien, puisque je n'ai jamais moddé de jeu) est que la durée de vie d'un script dans Raydium n'excède jamais celle d'une frame : il faut executer le script à chaque image (il est bien sûr possible de conserver des variables d'un appel sur l'autre).


Top
 Profile  
 
 Post subject:
PostPosted: Thu Feb 24, 2005 1:35 am 
Offline
User avatar

Joined: Sat Dec 18, 2004 9:06 pm
Posts: 101
Location: France - Isère (38)
Mon idée était bien d'utiliser raydium piur tout cela ...
Mais aussi de fouiller dans cette direction. C'était aussi pour définir un format de fichier pour les niveaux dans le jeu ...
Juste un outil pour coller tout ensemble .

Mais si ca se trouve, tout est déja dans raydium et je n'ai pas a me casser la tête dessus.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Feb 24, 2005 8:46 am 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Je ne cherchais pas à vendre Raydium, mais à voir si ton besoin était réalisable "tel quel" avec Raydium ;)

Quand au format de fichier pour les niveaux, tout dépend de ce que tu entends par "niveau" :)


Top
 Profile  
 
 Post subject:
PostPosted: Thu Feb 24, 2005 11:18 pm 
Offline
User avatar

Joined: Sat Dec 18, 2004 9:06 pm
Posts: 101
Location: France - Isère (38)
Xfennec wrote:
Je ne cherchais pas à vendre Raydium, mais à voir si ton besoin était réalisable "tel quel" avec Raydium ;)

Mon idée n'est pas de me passer de raydium (sinon, je ne le mettrais pas ici) mais de créer ou au moins définir un cadre permettant de créer une application utilisant raydium avec beaucoup de possibilités d'extensions.

Xfennec wrote:
Quand au format de fichier pour les niveaux, tout dépend de ce que tu entends par "niveau" :)

En fait, je ne sais pas bien quel mot utiliser ... C'est la carte du monde, la scène, le fichier ou on trouve toutes les informations sur comment raydium doit dessiner la scène.
Un fichier qui dit que tu dois mettre tel mesh a tel endroit avec telle rotation et telle échelle ... qui dit quelles textures utiliser et où, qui indique toutes les choses utiles au jeu comme l'endroit ou le jeu va commencer ...


En fait, je cherche l'équivalent d'UnrealEngine mais libre et gratuit.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 25, 2005 8:21 am 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Je vois ... il y'a beaucoup de choses différentes dans ce que tu annonces. : mesh du sol(avec les infos de textures inclues, bien sûr), carte, scènes (objets posés sur le sol ?), "scénario" ("quelle action lorsque ...").
Certaines sont des primitives de Raydium, d'autres sont complétement à la charge de l'application. Le mieux est probablement de commencer par les tutoriaux sur la physique, qui vont te donner une idée sur la manière dont Raydium voit les choses pour les applis un peu "complexes".


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 170 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group