To continue with the improvements necessary for Oracle’s Eye, I decided I would focus on simple and quick things. On my list:
- Shrink the Ball images to half size.
- Create an actual sprite for the Player.
No coding for tonight, mostly. And there really isn’t too much to describe for the Ball, either.
I just took the Ball image and scaled it so that it was 32×32 instead of 64×64. The tough part was rotating it 45 degrees at a time and putting it in the graphics collection for the Kyra Encoder. I could use the Kyra Sprite Editor to create the animation, but I found it much easier to manually edit the XML file. I already had the larger Ball, so I just changed the numbers. It was really easy, and I only had to fix a problem once. When I ran the game, the top of the Ball was cropped so it looked flat on top.
I even added some more Walls to the level. Eventually I’ll be able to dynamically load the level from a file so I don’t need to recompile for each change. For now I’m still working on the mechanics. The new Walls actually make the level a slight challenge. You can’t just kick the Ball three times and win anymore, although it isn’t all that more difficult either. Still, it is definitely a nice improvement. What is especially nice is that the Ball only spins if it is moving now. Once it stops, it stops spinning as well. Eventually I’ll change the rotation depending on which way it goes, which means more frames of animation to handle movement up and down.
I also decided to change the movement of the Ball. Instead of bouncing perpetually between the Walls, it now stops upon collision. I think handling the Ball movement will be more interesting this way, and levels can be created that take advantage of the fact that the Ball stops once it hits a Wall. We’ll see how it works out. It’s actually more of a puzzle now, so I think it might stick.
Next, I wanted to change the image of the Player. A white stick figure isn’t all that exciting. A non-animating stick figure is even more so. If he can’t move between two Walls, that would be a problem. I needed to provide a better Player.
I didn’t exactly want hyper-realistic graphics, but I realized that I hadn’t thought of an art style to use. I was thinking about making it simple for now and using a cartoon blob, but I felt it would be cheap and would make it look too much like Lolo. I wanted something that showed character but was also mine. I still wanted a cartoon feel to it, but I thought I would do well to make up a nifty character. Beetles? Snails? Pigeons?
I made a quick drawing of a corporate cubicle dweller. No reason, really. Yeah, this is all very temporary, but it is easier on the eyes, as you can see:
The Player still floats around the Room, but I figure that animating him would be premature. I would prefer something a bit more adorable than this guy. B-)
To build, you will need libsdl1.2 and libsdl_image. Go into source/kyra_2_1_1/kyra/engine/ and run ./make. Then, you go back to source/ and run ./make. To run, ./oracles-eye.
Only available for Gnu/Linux currently, but apparently it doesn’t take much to get it to run on Windows. Thanks, Scott!