BaseCamp (now officially called "BaseCamp Game Library" (BCGL) for copyright conflict reasons) is moving along steadily. Reporting progress about internal library stuff is dreadfully boring to talk about, so I'll spare you all the details. Most of the repetitious groundwork is done, so it's just a matter of implementing the more interesting subsystems now (particle engine, scripting engine, etc) before the library is usable, and my next project can finally commence.
The slow progress lately entirely stinks, but I'm hoping that as I get more and more adjusted to the 'fulltime job' mode of living, I'll keep on getting more work done daily. I've been making daily progress on the train each day -- it's either code or stare out the window [smile] -- so I definitely get at least 2 hours of developing per day in. It's just a matter of time!
I'll be posting in fair detail about the inner workings for the particle and scripting engines once I get to them, since I find them to be a bit more of an interesting topic than wrapping SDL/OpenGL function calls or creating animation structures. I'm unsure whether the particle engine will use the scripting engine, but the idea is to have a flexible particle 'AI' format that will allow for tons of interesting particle effects. As for the scripting engine itself, I hope to create a more imperative C/Python/BYOND-like language than my previous Scheme/Lisp scripting experiment.
It's been far too long since I've posted a screenshot, so I'll post an image containing a bit of code, a bit of console, and well, the 'testbed game' that I'm using to test library features as I go. Don't be surprised that things look a little odd.
What you're seeing:
- Ugly JPEG compression.
- Usage of the 'Sprite' object (about 50 of them) to make a bunch of spinning Box-Men.
- Blending (the box in the middle); alpha, additive, subtractive, etc.
- The code shows the Graphics class, using the Sprite class, a SpriteGroup, and how new games are derived from the base 'Game' class.
- The logging system, which logs message types to either the console or an HTML file (or both).
- A nifty little spring-rope system (the blue lines with aqua nodes), to test primitives (ranging from lines to circles to rectangles).
- Lots of other stuff, like the Vector2D+Colour+Utils helper classes, colour masking, and so forth.
It's a lot of work to do, and feels particularly strange since I've never really written "just a library" with no game attached directly to it. But I'm positive that this will save me a bundle of time down the road for both my next game and future ones.
Invasion: Fall of Man
Programmer16 has been working really hard lately on his game project, Invasion. He has a demo out, so go give it a looksee!