Phil Hassey - game dev blog
Phil Hassey as Rambo
".. I've been there,
I know what it's like,
and I'll do it again if I have to."

Dynamite: Day 2

So I stayed up late last night getting the lighting working. Turns out I was doing my gluPerspective and gluLookat against my MODELVIEW instead of against my PROJECTION matrix. Here’s the result:

dynamitedev-04

Now I think I’m going to try and get a bit more texture variety, windows, height variety, thinner walls, some torches, and some shadows. Didn’t get all this just now, but here’s an update:

dynamitedev-05

Now I’m working on switching from dev under linux to dev under OS/X and XCode. The Linux dev has been tough because with VMWare Fusion I don’t get GL under linux, so the framerate is pretty bad. I had an old SSH -Y trick that tunneled the GL back out to OS/X, but that seems to be even slower than software rendering today. Maybe it’s just time I embraced XCode and tweaked the key bindings a bit to suit myself.

Having done that, and tweaked a few settings, it’s time to start loading up data from files instead of inlining all my level data, etc. I think I’m going to give JSON a whirl for this project, since it should make handling all this pretty straight-forward. It also is supported in just about every language, so I can use my python scripts for generating texture atlases and fonts and have them just spit out some JSON for my code to load up. I had also considered sqlite for this purpose, but I think in this case, a database isn’t quite the right fit.

I think sqlite is a good fit for when you need to store CSV type data, except you want it packed. It’s particularly useful if you’re going to be storing a larger amount of data. In this game, the largest data store will be the level itself, which I can’t imagine will be much larger than 200k or so. sqlite can handle huge amounts of data and it’s quite efficient for that, but it’s also a database so you have to access everything using queries, which can be cumbersome if they aren’t needed.

Using python to generate the atlas does give me an excuse to pop back into linux for a while though!

-Phil

2 Responses to “Dynamite: Day 2”

  1. David Says:

    Why don’t you just develop on a real computer running Linux instead of VMWare? If you have to use a Mac for iOS development, can’t you dual boot into Linux? I don’t know a whole lot about OS/X.

  2. philhassey Says:

    Yeah, because I always need to be booted into OS/X, since the primary platforms I’m targeting are iPhone / iPad .. 🙂

    Anyway, I’m just doing my builds using XCode and using Linux in VMWare to use my text editor, which is probably a bit silly. But, ‘eh, it works well enough for me.