Trudging ever forward.

Published May 13, 2007
Advertisement
Library Development

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!
Previous Entry Gamedev on the Go!
0 likes 5 comments

Comments

Ravuya
Looking good. I can look over the code at a future point and see if it's easily portable, still -- stuff like endian independent texture loaders and whatnot.
May 13, 2007 10:03 PM
DarkCampainger
Oh noes! Invasion of the box men!

Keep up the great work! I can't wait to see how the particle system turns out :D
May 14, 2007 03:58 PM
Programmer16
From what I can see of the library it looks good. Definitely seems designed well if it's running at over 400fps.

Thanks a million for the plug! I really appreciate it!
May 14, 2007 06:57 PM
Mushu
:D
May 16, 2007 08:39 PM
HopeDagger
Quote:Original post by Programmer16
From what I can see of the library it looks good. Definitely seems designed well if it's running at over 400fps.


BCGL now runs (on my system) at over 1500 FPS, for what it's worth. This number is almost entirely based on OpenGL and the user's video card, so take the information with a grain of salt. [smile]
May 20, 2007 02:14 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement
Advertisement