Raydium 3D Game Engine

Official forum for everything about Raydium, ManiaDrive, MeMak, ...
It is currently Tue Apr 30, 2024 8:58 pm

All times are UTC




Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: Wed Jun 21, 2006 8:09 pm 
Offline

Joined: Fri Mar 17, 2006 12:41 pm
Posts: 46
Location: Gif/Yvette, France
Hi,

I've worked on a truly independant maniadrive directory, and I came with something useable. One can download the directory, and it comes with a Makefile. In there, only one variable is set to define raydium directory (RAYDIUM_DIR). The Makefile checks if raydium build is up to date, then builds the game and can start it. There is an example static build.

Encountered problems and solutions :

rayphp directory : solved with a softlink. We should use a well known directory (/usr/lib/raydium/rayphp for instance). On packaged install, raydium_php_exec() should try in this directory before giving up.

Comments :

I changed some filenames (mania2 is now mania_editor, mania.h is now mania_drive.h)

RAYDIUM_DIR would be something like /usr/lib/raydium on packaged installs, and libraydium installed in /usr/lib.

media files are still downloaded in the game directory.

Todo (in my opinion) :

dedicated media directory to tidy up
By the way, I don't see anymore the need for a "shared" media directory, because only
a few media files can be shared among various games, then these files can be duplicated on
different game directories.

A random track is picked as menu track (getting bored of "I got it bad", and wondering what happens if somebody prefer another playlist where there is no more this song) and find some more rock bands on jamendo or whatever CC community.

The big question : Where do I commit ?

:arrow: we could add a mania_drive directory a the svn root (same level as trunk), I know it isn't subversion guidelines, but who cares ;)
:arrow: Could also be in a subdir of trunk (not so separate)
:arrow: or to really split up projects, on a new separate svn repository. I wouldn't be surprised by somebody commiting on maniadrive but not wanting to be involved much in raydium.

_________________
Phyce


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jun 21, 2006 9:08 pm 
Offline
User avatar

Joined: Thu Sep 29, 2005 2:59 pm
Posts: 828
it looks like a too much big commit to be done in one step...

maybe the best idea is to create a new brand in raydium svn.

About softlink solution. Can that be done in win32/64 platforms?

I see no problem with the new suggested names. But if there is a problem, at least those could be links to the older files.

I think that the shared folder is a must (and even i have a few ideas that make use of that folder, but i'll reveal those in a future). Duplicate info is not a good idea.

And about split mania drive from raydium (into the svn), maybe have to be done, but the matter is if this is the right moment. I'm not sure.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jun 21, 2006 9:38 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Not sure to agreed to most things here. I'm totally OK with making Raydium easier to use for external apps, but ManiaDrive is not ! :) For me, ManiaDrive was and is always "part" of Raydium, or a least a "complete tech demo". I want that people who downloads Raydium can try all provided apps, including MD, without any further download. I want people to be able to use clio.tri or any other file in their apps without configuring anything else (such as another repository), ...

Please, let me repeat that I want before anything else Raydium to be simple. Simply simple. Moving things over and over takes time, requires many tests under both platforms, package again the SDK, ... and I'm not sure it make all this simplier :)

With the very small team we are, I think there's many interesting things to do (random example: dynamic story mode for MD) for us than splitting media and sources. Raydium is GPL, my opinion counts for one voice only, everyone is free to commit what he want (really) but I'm tired to have to test (and fix) over and over every app, with every OS after every "large" commit.

Other example: this endless debate about "I got it bad". I want it as the main theme of ManiaDrive (look at almost every commercial game: there's always the same track during the menu, a sort of "sound indentity"), and that's the tenth time I try to justify this choice. We (the whole MD team) are a very special public for the game. How many people will launch the game as many times as us ? For most people, this unique menu soundtrack is a must. A good idea here is to test if this track exists, and play a random one if its not the case. It's a two lines patch, and everyone is happy (for your case, you just have to delete or rename this file). Same story for more soundtracks ... Totally ok with a bigger soundtrack, but we can't release a 200 MB game (It tooks many hours to extract the current soundtrack from the original choices). Here again, the correct answer (for me) is to provides some links to good music on the website, or a small "downloader" so people can retreive more tracks after they being bored by default soundtrack.

Sorry, I know that all this have probably required a lot of work for you, so this message is probably a bit rude, and that was not the original idea, but it's very heavy to deal with all this without being a bit direct.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jun 22, 2006 9:27 am 
Offline
User avatar

Joined: Thu Sep 29, 2005 2:59 pm
Posts: 828
Tense situation...
Phyce, first of all, thanks a lot for your work, even if it won't be used (or not the whole).
After reading the exposition of Xfennec i think that:

Mania Drive, being a tech demo, should be in the usual trunk folder. Could be splited, yes, but there is no reason to change, and no advantage or disadvantages with the change. So "if it works, dont' repair it" and the founder wants it in that way... maybe some day a new game will be the tech demo of raydium and Mania DRive could be "free" :P

I mantain my position of left as is the shared(trunk) folder. It will be of more use in a future, i think. And remember: to duplicate is a bad thing.

"Raydium is GPL, my opinion counts for one voice only", sorry Xfennec but even if i go agains the gpl license i always think that the creator/founder of a project must have more relevance in the development of thath project thath anyone else. So i think in this like a ponderated democracy: anyones points like 1 point and Xfennec points like 100 points :)

So, if Xfennec wants to put certain song by default in the menu, i have nothing to say against.
Obviously, right now, with the currents servers mania drive can't manage downloads of 200 MB.

Also i think that an "brutal experiment" branch could be done, even if it is only for fun, some people will want to apply their grotesque hacks in that branch :D. And could be a good place to show ideas in real time.

And the delicated point (more delacated even with my low level english :P)
Phyce, please, relax and don't go away frustrated by all this. I think that we need you, even if we refused some of your work. So what do you think about concentrate in the roadmap. Or even if you preffer to code your own ideas, i suggest more communication here in dev forum. Tell us what is your idea, we will comment that, and so, in that way we all can work better and avoid thic kind of tense situations.

Phyce, don't give up !!!


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jun 22, 2006 9:24 pm 
Offline

Joined: Fri Mar 17, 2006 12:41 pm
Posts: 46
Location: Gif/Yvette, France
First of all, no offense taken, and no need to be dramatic here ;) I understand if that this little test (a 30 lines Makefile and a couple of research-replace) isn't commited.
Let me reply to some of your comments :
Quote:
it looks like a too much big commit to be done in one step...

That's the reason I haven't done it yet. Not so big, but important as it changes the very structure of the project.
Quote:
About softlink solution. Can that be done in win32/64 platforms?

This is a hack and should stay one. I describe a way to do it better. May bring up a problem under win32 if we want to have a shared Raydium library, with shared rayphp lib : I'm no windows programmer at all and can't answer this.
Quote:
And about split mania drive from raydium (into the svn), maybe have to be done, but the matter is if this is the right moment. I'm not sure.

The sooner the better, before it becomes a very complex game with tremendous graphics and huge amounts of code !
Quote:
Not sure to agreed to most things here. I'm totally OK with making Raydium easier to use for external apps, but ManiaDrive is not ! Smile For me, ManiaDrive was and is always "part" of Raydium, or a least a "complete tech demo". I want that people who downloads Raydium can try all provided apps, including MD, without any further download. I want people to be able to use clio.tri or any other file in their apps without configuring anything else (such as another repository), ...

Maniadrive is a technical demo. Of course it is. And in my opinion it would be a better one if it showed how easy it is to use raydium as a library. With the current sources, I had to understand where maniadrive stops and where raydium starts. OK for the repository, let's just put it in a directory just under trunk/ (at the same level that raydium).
Quote:
Other example: this endless debate about "I got it bad". I want it as the main theme of ManiaDrive (look at almost every commercial game: there's always the same track during the menu, a sort of "sound indentity"), and that's the tenth time I try to justify this choice.

Sorry, only the second time to me ;) This was just to test the community about these ideas, and see if it's worth coding. Obviously, no.
Quote:
Mania Drive, being a tech demo, should be in the usual trunk folder. Could be splited, yes, but there is no reason to change, and no advantage or disadvantages with the change.

I explained above what I believe is a good reason to change.
Quote:
I mantain my position of left as is the shared(trunk) folder. It will be of more use in a future, i think. And remember: to duplicate is a bad thing.

I may look a little maniac, but seeing c code along with textures bothers me a little, actually. (don't worry, I still can sleep at night)
Quote:
So what do you think about concentrate in the roadmap.

Why not. But as I'm not good at graphics/models, I haven't the background in 3D programming, I try to help with a little "architect" work (layout, packaging and so on). I believe this is also important to gather people around the project. I hope one day I will be able to "emerge raydium" (or apt-get install raydium or whatever) and start to code something fun (following a tutorial). The svn as it is now can't be packaged.
Quote:
Or even if you preffer to code your own ideas, i suggest more communication here in dev forum.

Remember who started this thread ? ;)
Quote:
Tell us what is your idea, we will comment that, and so, in that way we all can work better and avoid thic kind of tense situations.

I've just done that.

_________________
Phyce


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jun 24, 2006 10:39 am 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
OK, it becomes clearer. There's two major points here. First, I think we don't talk about the same thing about "repository". For me, a repository is a server sided system (alias R3S), not the local directory where the game stores (downloaded or not) data, as you seems to talk about. Am I wrong ?
Creating a special R3S for ManiaDrive is for me an error (and that's what I talk about in the previous message), but allowing apps to store data in their own directory is, obviously, all right. To be clear, the problem and the answer here is to complete the "media path" system that was already started, and since "per user home directory" is now available, it may help.

On top of this, the second point here is the packaging of Raydium. Raydium follows none of the usual rules : no autotools, no generated config.h and Makefile, downloading its own "complex" dependencies, ...
It would be great to allow Raydium to be packaged in a more standard way, but it's an huge task and should be analysed and planed (and all this after the media path is completed, again).


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jun 24, 2006 10:59 am 
Offline
User avatar

Joined: Thu Sep 29, 2005 2:59 pm
Posts: 828
Appointing in your way, Xfennec, i see that:

1- Should be just 1 REPOSITORY (including raydium and maniadrive files)
2- Should be one FOLDER per application/game
3- Should be one shared FOLDER (even if it's not /trunk, but it has to be shared between apps)


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jun 24, 2006 3:19 pm 
Offline

Joined: Fri Mar 17, 2006 12:41 pm
Posts: 46
Location: Gif/Yvette, France
I was talking about Subversion repository, not R3S ;)
Of course, R3S is unique and will remain that way. In my view, a media file is only one time on the R3S, but for some of them it can be duplicated (downloaded twice).
A separate repository (created by "svnadmin create" on the svn server) allows separate revision numbers of ManiaDrive and Raydium, and separate commits on the 2 projects. But if you prefer one folder per game, in a single subversion repository it is OK for me.
BTW, one folder per game (separate svn repos or not) is the cleanest way of solving vicente's problem ( viewtopic.php?t=471 ) : just add a makefile and you can compile Raydium changes, compile the game and play it by just typing "make play" !

About the media path, the more I think about it, the less I see the interest : to tidy up and create a per-game media directory, a search/replace in the sources (foobar.wav replaced by media/foobar.wav when loaded) can be enough. I don't know if the few MB saved by the shared media dir are worth the trouble. Where is located this shared media dir ? How do I know if a media file being downloaded by R3S is to be put in the shared directory or in the private directory of the game ? But I've worked on a non-leaking, portable (win32 tested by guitou) path algorithm before I realized this, so we can use it if needed.

_________________
Phyce


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

All times are UTC


Who is online

Users browsing this forum: No registered users and 127 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