Raydium 3D Game Engine

Official forum for everything about Raydium, ManiaDrive, MeMak, ...
It is currently Thu Mar 28, 2024 8:02 pm

All times are UTC




Post new topic Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Mon Aug 24, 2009 11:06 am 
Offline
User avatar

Joined: Thu Sep 29, 2005 2:59 pm
Posts: 828
As most raydium devs already knows there are a few unfinished or even unpublished features started by me.
More important ones are lensflare and cal3d animated characters cause they are practically done but not commited.
Lensflare status: usable with the native features (not implemented the Xfennec asked ones)
Cal3D status: I've being testing it for a long time and it works quite good, but there is an inherent problem with Cal3D(lack of support). So, apart of the code itself, I guess I would have to do a videotutorial explaining how to use this feature and create an animated character in blender for being used.

[Introspective mode on] in general I have a problem adding features (apart of indentation :) ). Some feature touch certain uncommented/cryptic parts of Raydium that I'm unable to understand. When I reach those parts I block myself. For example I started a new texture loader as Xfennec proposed (a format manager and an upper layer texture loader) but I couldn't do it cause I don't understand the texture_load function.
By other side, with a few exceptions, my commits have to be corrected ( by Xfennec usually), so in general I'm afraid of do big commits.
In other words, I would need "supervision" for tweaking the code of in these features before commiting (or fast enough to correct them just after an initial commit. Again I ask for an experimental trunk/branch...).

The rule of "SVN must have working code" is hard to comply (for me) adding this kind of features.[Introspective mode off]

Anyway, for fixing this situation I'd like to start finishing something: In this case I think cal3d anim characters is the best option since the code is really working, I've split the functions in 2 layers (in this way we can add other animated formats in the future), I've located a working blender plugin for cal3d (only useful following a few steps) and I've done a cal3d model viewer already.

So, should I do the commit for cal3D?


Top
 Profile  
 
PostPosted: Mon Aug 24, 2009 12:44 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Interesting post.

Talking about Raydium, my role on this project is mainly to maintain the code base, and make sure that pretty much everything works, and "holds" together. When a patch or a commit arrives, my first reaction is "something may be broken by this patch, let's check it". To be honest, I may have been, a few times, more requiring and exigent with contributions than with my own code.

It may sound very "cocky", not very humble, but that's how I see the management of a free project. The fact is that I wrote most off the engine, and still have interest in the project. Don't get me wrong: it's just a fact ! I'm not pretending to be a better coder than anyone else, or able to manage contributions in a perfect way. Far from it :)

So, from this, let's get back to vicente's post. First, you're right, it's very common to see a commit from me right behind a commit of somebody else. Don't take this as something like "Grrr, they're again unable to do a proper commit, I'll fix it by myself", of course ! Following what I've wrote just above, these commits are only here so the patch can "fit" perfectly into the engine (removing unused vars, fixing indentation, removing useless comments/debugs, renaming vars/functions, ...) It's just a cleaning job ! That's not my preferred one, but since I'm the one who've initially chose indentation/naming/whatsoever rules, I'm the only one who should respect these choices at 100% :)

Second point, the stable SVN. I'll be very strict on this point, the trunk is not a playground. I consider that a newcomer who takes time to try the engine, or to take a look at the code, ... should face some correct code, that compiles and works. You could argue that the SVN is for developers and that we should provide regular stable snapshots for "users", but that the same story for us: As a contributer to the engine, I don't want to work on a bunch of badly written, unfinished and uncompilable features. Committing to Raydium trunk says "Hey, world ! I've done something, here's what, It works and I'm proud of it", not "here you are a bunch of code that I'm afraid to lost, so I'll backup it on the server" :)

Then, how can we work together ? Patches, patches and patches again. It's soooo easy to get another copy of the trunk, download a patch, apply it and test things ... It works ? Let's do a commit ... It's horrible and nothing works ? A newer patch is here ? Let's revert the whole thing and start again.

I definitely believe that's the best way to create new features for the engine. It allows other people to help you before you've actually finished your work (release early, release often: post patch a often you can), and it allows me to see quite early what can be wrong in the future commit, so the fix can be done waaay sooner, and way better, for sure.

On the other hand, I think I've always answered when someone asked me "how this code works ? what's this ? how can I do that ? ...". There's some rude and harsh blocks of code here and there (and the texture loader is one, you're right) but I can help, just ask me ;)
In fact, since I'm quite "aware" of almost everything in the engine, I think I can save a lot of time to someone who starts something into the engine.

Enough explanations, let's be practical: about Cal3D, I think the best thing is to create a new post, with the current patch, and as much informations as possible to show how it works, how to use the API, ... Then, we'll have a clear view of the current state of this long waited feature and of the next steps ;)


Top
 Profile  
 
PostPosted: Mon Aug 24, 2009 1:43 pm 
Offline
User avatar

Joined: Thu Sep 29, 2005 2:59 pm
Posts: 828
ok, quite clear for me.

About cal3d: Then I'll prepare a patch , some extra doc and I'll post it in a new thread when ready.

About texture: I'll have to open a new thread for that... but ok, first we have to finish Cal3D.


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

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 36 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:  
cron
Powered by phpBB® Forum Software © phpBB Group