So, uh, yeah. I don't have much time for games development right now. I'm all emo about it. E-mo. Eeeeeemoooooeeeee. Eeyore.
Amazing Game Project I'm actually using UML to design this one. We'll see if I end up with more hacks, less hacks or the same amount of hacks.
My graphics assignments have given me ideas on how to improve my lighting/materials system, so I think that'll be really exciting and solve a lot of my shader-application and render-order problems. Throw me ideas on how I would write a materials manager that handles the standard glMaterial features as well as advanced shader capability (stealthed, black and white, duotone, bleach bypass).
Run_The_Shadows told me about the song that I liked from the Deja Vu trailer, so he gets his very own star system. Who else can say they have that? The answer is: not you, unless you enter in my "name a star system" contest, which I'll be throwing next month with the obvious prizes.
All this stuff about contests has made me want to talk about a certain contest with a week, a button, and a demented set of indie coders. But what kind of contest would that be? What sort of man, what sort of demon robot killer ninja pirate man indeed, would devise such a fiendish contest, and bring it back for its third iteration? That answer is potentially impossible to discern.
Propane Injector Working on some other utility functions (bounding box, etc). Nothing really exciting though I also have a MSVS HOWTO on the way.
Glow Yes, 1.2 is sitting on my hard disk. Yes, it adds save/load, balances the gameplay, makes the conversations smoother and makes the UI much prettier. But I just don't have time to release it right now. I'm really sorry, because I think that this represents the game much better than v1.1. Working on all these release versions has given me an idea to build some sort of release manager software...
What will the Ravuya of the future look like? Scientists think it will look a little something like this:
Propane Injector: Not much done on this lately. Worked some more on the Qt interface for the Propane scene editor. I think I could probably work Lua into this and then somehow create an indie alternative to Torque 2DGE. But that's a market I don't want to get into. I did a bit more work on the Doxygen stuff though.
I'd also like to make the sprite manager more awesome; a texture atlas system would be outlandishly useful.. but now I'm just thinking out loud.
Amazing Game Project: Well, I'm pretty sure the camera works now. I also have pseudo-projection working so I can have those neato selection rectangles around things, like in Deus Ex, which is another life's goal in my game development career. That's actually kind of sad to think about.
I'm also working on the control architecture -- anyone got a good idea for how to cleanly handle joystick, mouse and keyboard mappings at the same time in SDL?
A future tip to those of you who want to do heavy integration of scripting: Develop your scripting language binds as you develop the core engine functions you want to bind them to. It makes life so much easier!
Other projects: I don't have any other projects really on the go right now. It's amazing how midterm pressure can clean out my portfolio. I might pick up my scripting language again nearer the end, or clean up my hardware collection. Man, I'm really out of it. I can't even think of what projects I'd like to have on the go.
That's all for now. I'm sorry for not having any major screenshots. I can probably make some up for the selection rectangles and the totally awesome HUD shader. And maybe of the configuration system, brought over from Glow -- except now it works with command line arguments. Man, I'm a dork.
Although at a decreased rate I assure you that functionality is occurring.
Propane Injector: I am getting more classes down. Matrix, vector and now quaternion are all added and tested thoroughly, with a simple camera class for the quaternion. The model class is going to be next on the repair block.
Also, a game scene editor and entity xml description is in the works. My idea is to make you produce an XML list of all your entity "types" and then provide an editor which allows you to place them as well as edit solid geometry (sort of like the Genesis3D level editor's ability to read header files). I've got sort of a dummy version of it up and running in Qt, though I think that I'll have to read some more documentation as I can't seem to find a WinForms-style "latch to edges" feature when resizing the window.
Last on this front, Propane::HTTP and Propane::UI are going to be pretty much revamped soon to try and improve their re-usability in game code, and then implemented in my game project.
Game Project: I have a quaternion camera working, and next up I'm going to be taking a look at how to manage scenes effectively (which will involve my editor and camera). Mostly, though, I'm going to be playing oolite instead of studying for my exams or working on my game. I'm so weak!
Also, hopefully I'll be writing more about Lua in this journal as I start to implement it in my game. Maybe a Propane Injector script-binding handler will occur, as Lua seems to have the same binding oddities as SHilbert's SHilScript implementation.
If you're really hard up for screenshots, I made one here. Gaze upon it and stare in awe.
Well, that's all for now. Thanks for dropping by. Don't forget to pick up your complimentary gift basket from HopeDagger's journal!
I want to keep posting here so you people don't forget about me, but then I also have lots of work. I should be able to spend some time this weekend getting my game engine up and running, and maybe a Propane::HTTP demo to show off how you can do tip of the day and automatic update using libcurl and the Propane Injector 0.9 libraries on OS X, Linux and Windows.
<dcowEr> there haven't been many GDNet journal updates tonight
I figured I might as well point out that phantom (being awesome) has helped me with setting up an FBO option for those of you with nice video cards that like rendering to texture. In a word, FBO is fast. If you're using OpenGL, you must pick up and use FBO. There is no question -- the speed is so fantastic that it justifies any compatibility headache you may encounter with older (pre-Geforce4) videocards.
Still no hope on the crashy-shaders front; as far as I can tell it's dying in the OpenGL dynamic library somewhere just before making the jump to syscall land. SHilbert seems to believe it's a buggy OpenGL driver, and considering ATI's track record, that no longer seems all that rare to me.
So I'll keep going on, and hopefully this problem gets rectified in the OS X patch that's still waiting to be installed.
Still have lots of midterm-y stuff to settle up, but as soon as that's properly taken care of I should also have some really killer screenshots (and movies) of my user interface and early attempts at a camera system. Maybe even some light flying-about and shooting.
This would be a progress post, but unfortunately I have none to report. I've made some little shaders but they seem to crash the ATI driver when GuardMalloc is enabled -- still looking into why.
I'm also working on a quaternion-based camera system in the hopes that I can avoid the fate that befell the 3D version of Sunrise. Then it's off to start building prototype 3D models.
I'm going into midterms and other horrendous assignments and so I am very, very sad right now. Please send money and words of gratitude.
Meanwhile, here's what each of you can do: Modellers: Offer to send me textured md2 models Programmers: Insult my camera system and manhood. Then offer suggestions on why the hell some of my shaders crash the ATI driver when malloc page padding is turned on. Texturers: Offer textures.
I was wondering why Glow for OS X was 17MB -- turns out I forgot to turn off debug symbol generation, which inflated the binary to 40MB in size.
With debug symbol generation off, the binary is now 1.6MB.
So obviously Glow v1.2 is going to be a lot easier on my bandwidth for Mac OS X users to download. It'll probably be a lot faster, since I also noticed I forgot to enable optimizations.
I also posted it to the IOTD today.
Other than that, I'm still working on my assignments. Expect something new tomorrow afternoon -- probably from the new Propane Injector libraries but also possibly from my Lisp interpreter project.
Edit: Hot Propane Injector news. Uhfgood pointed out that he wants MOD/XM support, so I figured out how to add it from SDL_mixer and so it'll be in the next big release, along with a hopeful pile of functions to read information from the XM/MOD files.
I hate assignments, especially shitty "big" assignments that profs give you with the full intent that they will inflate from "implement this data structure" to "ohmygod this is the data structure from hell".
I have a shit load of assignments due this week. As I try to struggle through them, you all must find bugs in my code or something.
v1.2, which I like to call the "super duper HopeDagger special edition", has these new features:
Nicer UI elements, including a flashing indicator when you have character points left to "spend"
Game save and load (makes the game waaay too easy, IMHO)
Option to have a "respawn penalty" (wait one second before you can respawn)
Sliding portraits in the conversation screen
More comments in the game code
Version number now displayed on menu screen
Hopefully this will be the final-final version of Glow that I will be releasing, and then it's off to wider distribution. Please play v1.1 (Windows, Mac OS X) and give me some more information if you find a nasty bug that I need to fix for v1.2!