Anything that can change in Intelligence will be an entity. The static parts of a map are the quadtree, the changing parts are entities. The quadtree can influence entities (collisions, treadmill floors, etc.), but for the most part it’ll be passive. I have quadtree loading and drawing working fully already, so next I clearly need to work on entities. But they’ll be basically all of the game, so I’m not really sure where to begin on them. They’re…complicated.  They will have one or more functions governing their behavior (I might conceivably want more than one; for instance, one for player controls and one for physics), a position, a texture (which may be animated, and a behavior function will take care of animation), a size, and maybe some more properties I haven’t thought of yet. They’ll need to be able to give messages to the player through text, and run around on predetermined paths. I’ll need the possibility of multiple player characters which can be switched through while playing a level, and perhaps I’ll need to be able to have the level control one of those player characters while he’s not being controlled. It’s some complicated stuff, but I think I can manage it.

Basically, once it’s done, the main loop of the game will be incredibly simple. Just update every entity, draw the quadtree, draw every entity. Do this synced to the screen’s refresh rate, and you’ve got yourself a fully playable game. Obviously, the most important part is the entities, so I need to get started on them. I guess first I need to figure out what all they need in their main structure (which I basically figured out above), and then make that structure and some functions to work with instances of it. Then put one of those in the map structure, start making some simple behavior functions, and see how it goes from there. The ones for AI and such will definitely be the most interesting, and they’ll have to have some variables which can be controlled in the map files on disk. This probably doesn’t make sense to anyone but myself, but getting my thoughts written down definitely helps me organize them.

This has been quite helpful. I’ll try writing about tricky problems to help solve them more in the future.


Time for New Sprites!

A newer version of Rae's animator.

He looks different from Rae now, yay!

A newer version of Rae

She's shorter now, and looks much better.

My sister is a really great artist, and I’ve gotten her to do the graphics for Intelligence.  Here are the new sprites for Rae and the animator, based on the old ones.  They look way better now, don’t you think?  Plus, I’ve decided on a scale for everything. 32 pixels = 1 meter.  And because of that scale, they’re shorter now.  If they hadn’t been made shorter, they both would’ve been very, very tall, and I can’t say that I want that.

So much for that.

Turns out this week is busier for me than I expected.  It’s already Wednesday, and I’ve done no work to Intelligence.  Also, I’ve realized I want the game to have single-player and co-op modes, and to make that easier, I think I’ll use the client-server model for both modes.  So that means I’ll probably have to do threading, which Allegro 5 can fortunately do (if C1X were done, I could use built-in threading, but C1X isn’t done).  More things have popped up for later in the week, so I doubt I’ll be able to work on Intelligence much at all.  Maybe next week, if I’m lucky.

A Clean Keyboard is a Happy Keyboard

I noticed dust between the keys in my keyboard, and so I decided to take them all off and give the whole thing a good cleaning.  I wiped all the dust off, and was a bit surprised by how much dirt had settled between them in under six months.  It’s pretty gross when you think about it, and what’s worse is that all that came from your hands.  You use those things to put food in your mouth, and all that crap in your keyboard is from them.  Maybe we should all start eating candy bars with utensils.

The keyboard is back together now, and I’ll probably try to work on the Intelligence game this week.  If I’m lucky, I might be able to get levels to load, and have Rae walk around in them (well, slide around, since I don’t have any animations yet).  Allegro 5 seems like a nice library, and though I know very little about it, I’ve decided to use it for this project.  I’m even the package maintainer for it in the AUR.  I really think it should be in [community], but it’s not.  Not that I mind, since I get to maintain it, but it seems too important to be in the AUR.  But I digress.  I’ve made my decision.  I want to have a basic level loadable by next Sunday, and I’ll try to post more stuff on here than I have been.

Well, I screwed up.

Yep, I made a big mistake.  I picked out a SATA card that I thought would do what we wanted, and also had RAID capabilities.  But, as it turns out, it is just a SATA RAID controller, and it can’t be used without RAID.  So now we have to return the card to Newegg and pick out another one.  I swear, the page about the card made it look like it would be a normal SATA controller, and also do RAID, which we wouldn’t use.  But it wouldn’t boot when I plugged our two hard drives into it, even though it detected them.  Its BIOS screen had only options involving RAID, though, so now I’m upset with myself.

On an unrelated note, it’ll be a few days until I can work on anything Intelligence-related much.

Rae’s Animator

Rae's animator

Rae's perpetually nameless animator (working draft).

Here’s the current sprite for Rae’s animator. I’m not 100% happy with it yet, so I’d appreciate some feedback. And yes, he’s supposed to look like Rae. Olivier commented on how similar they look in episode 4.

Intelligence: The Game


My current image for Rae.

I really didn’t want to end the ASCIImated series I’d been making, so I’ve decided to make it into a game. A pixely, retro game, since I doubt many people would appreciate ASCII graphics as much as I and the other people on ASCIImator do. So I started messing with pixel art in The GIMP, and with some input from my sister, came up with the image you see at the right.  I think she’s looking pretty good, and I’ll work on the image for her animator (maybe programmer, I’m not sure how much of the story I’ll change) next.  He’ll look similar, but a boy.  He’ll wear different colored clothes, and maybe his hair will be very dark brown instead of black.  I have a lot of different characters to draw, and all their walking/running/jumping/anything else you can think of animations to make.  So it’ll take a while.