After bashing my head against it and blender2crystal, I cant for the live of me get anything to _move_. I've tried making it an npc. I've tried adding pclinearmove. Nothing works. I'd get on IRC and ask the devs, but my internet wont let me stay online longer than about 5 minutes, and I doubt they'll answer within an hour after I ask.
If I can get a theoretical creature moving about, I can move forward. Otherwise, a friend of mine insists I should start from scratch and make it in C++.
So why should I?
Well, it'd be fast. Blazingly fast. It _is_ C, after all.
But it'd take a loong time to write. It'd be months before I get back to where I am now. Which is "Crossplatform, easily loading object/uv/texture data, move the player around, basic physics, and lighting."
I'm sure lighting comes basically for "free" with pure opengl, as well as movement.
However, loading object/uv/texture data is another story I'm sure. I'd like to use a library that supports Collada. I hear screams of anguish about xml. Know what? Fuck you. How else would you store all the data possibly present in a scene? Binary data? Like Blender? Ever try to access any of that data _not_ through blender? It's a pain in the ass. You end up with another library to read that garbage, instead of just parsing it with whatever xml parsing libraries you already have. How else is one supposed to store scene data than in a hierarchical manner. You derive from class Human. Humans derive from class Animal. Animals derive from class Organism. Etc. Life is hierarchical. Get over it. And besides, it loads it once, when the game starts. Speed is not, I repeat, *_NOT_* an issue here. Crysis takes nearly a minute to load its maps, and they're _huge_. This little crappy game isnt going to be nearly that big.
As for Crossplatform-ness, that is only really possible if we use standard C++, though not particularly hard, per se, it comes "for free" with Crystal Space.
Basic physics are a little hard to get running in Crystal Space from what I've tried. I tried and failed to get feesiks running. However, my friend has been working on a little ODE demo type program, rezzing boxes and such so that they collide with each other. It's really snazzy.
But what would I need in the future?
Terrain/heightmaps, bone animations, sound, off the top of my head.
Sound can be handled with openal and as such isnt a problem. (And isnt really related to 3d aside from the 3d-audio aspect)
Bone-based animations. Apparently the library Crystal Space uses, Cal3d, has an exporter for Blender, my tool of choice. (http://oomadness.tuxfamily.org/en/blender2cal3d/index.html) "Cal3D also provides an automatic level-of-detail control" --Cal3d FAQ I like the sound of that. Though I'm not quite sure how it'll tie into opengl, but I'm pretty sure it wont be that "hard". So then instead of having opengl import the collada file, we can just have cal3d import its file and go from there. Though, we wont be doing this until the rest of the stuff is done.
Terrain/heightmaps couldnt be that hard. I mean, all it is is a mesh that's deformed depending on a greyscale image. It isnt effected by gravity, though it does collide. I'm sure ODE has nice tutorials and sample code for this kinda thing, so no worries here.
(A few hours later)
So my buddy says g3d is all that. And that we're going to definitely be using it. He's anti-cal3d because "it makes too many files!!" or somesuch. Oh well, we'll worry about bone animations when we get that far I guess, and in the meantime, we'll just use md2 or something.
(A couple hours still later)
So I played with it a demo a little and it looks pretty good already :P
Lens Flares and all.
Anyway, I'll finish this off and give an update in a couple days.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment