Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

Trudging ever forward.

Sign in to follow this  


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!
Sign in to follow this  


Recommended Comments

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.

Share this comment

Link to comment
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

Share this comment

Link to comment
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!

Share this comment

Link to comment
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]

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!