Seven hours of further work on the game and its starting to look like a game. Some proper graphics have been added and I’ve started to code the game logic. I want pixel perfect collision detection, but since hardware assisted features like these have gone to hell during the last 15 years I have to code it myself. On the picture theres an extra window open for debugging purposes. This window shows what the collision detection algorithm sees. I was worried that this was going to be slow so I optimized it quite a bit. I still ended up with a system that does 65536 comparisons every frame…. but since cpu power has gone WAY up during the last 15 years this didn’t even bother the system at all. In fact I can hardly even measure if the collision detection is on or off.
To refresh my Java skills I started making a little game. I’ve always liked the good old Thrust and back in 1994 I wrote a similar game for the Amiga. Back then it took me 3 weeks of hardcore assembler coding. The Amiga had hardware support for two layers of graphics and 8 sprites(Smaller graphics objects). This included hardware collision detection between all those elements. This made it fairly easy to write a game with a ship (one layer) and stuff that it shouldn’t hit (The second layer consisting of a tile based world.) and a bunch of missiles(Sprites) that the player could shoot with.
The result was a nice little game where the player controls the rotating spaceship through a maze of rocks, shooting stuff, and carefully maneuvering towards the exit. It had multiple levels, sound, and high score table.
Now 15 years later I wanted to recreate the game on the PC… of course bigger and better.
Sometimes you just don’t need a beautiful wallpaper…
[singlepic id=57 w=480 h=360 float=]
(Apart from resizing, nothing at all has been photoshopped.)
Apparently I had too much free time because I decided to play around with XCode and have a go at Objective C.
The result is a screensaver. It simply draws random colored blocks in a zigzag pattern up across the screen. At the same time it fades them out, but due to some strange effect that happens with drawing using BezierPaths and alpha channels…that I honestly haven’t quite figured out yet… they aren’t all faded out evenly. I like the result and find it pleasing, like looking into a fire or something.
So.. even though this little project turned out nowhere near what I planned its still one of the most best pieces of hobby programming that I’ve created in years 😀
Since this is an xcode project it means that the screensaver is for Mac only. It may even be so that you require an intelbased mac… or perhaps it even requires you to run Leopard or something. I only got one mac.. and it works there…and thats pretty much all the testing thats ever gone into this project. What I’m trying to say here is that “your milage may vary” … and don’t blame me if your Mac explodes and burns down your house or something. You could leave an angry comment though, if you want 😀
Today it seems that every program, no matter how useless it is, likes to install windows services for some reason. Apparently the creators think that their program is so important that it must be up to date constantly or somehow just has to be worth spending your CPU power and RAM… just waiting… just in case…if something should happen… which it doesn’t 99.99% of the time.
I don’t know about you, but I find those services annoying as hell.
This post is about the Java updater. This service runs constantly, and the reason for this is that JAVA wants to check for updates once a month. Let’s remove that thing!
Digging through more screenshots… this time from Team Fortress 2.
I looked through my Left 4 Dead game folder today. I was looking for screenshots with my friends in them. Actually there weren’t too many this time… I guess this game is just too hectic to leave you time to do anything else but shoot, shoot, shoot!
During the years 2005-2007 played a lot of Anarchy Online. One day I looked through my screenshot folder. It was like looking at old photos remembering the good old days 😀
Here is a selection of the best pictures through the time.
Back in 2005-2006 I was writing my masters thesis at the University of Århus. I was studying was if using a high level language would be useful for programming embedded systems like the LEGO RCX. I used JAVA as the high level language. Java can be run on the RCX using the LeJOS firmware and classes.
To see if this really had any effect on development time I had to do some sort of practical project that would also include a bit of robotics and embedded systems. Why not make something fun? A game where a bunch of robots whould bash the hell out of each other seemed like a good idea…
The LEGO DACTA 70909 controller has 8 outputs and 8 inputs that can be controlled from a PC via the serial port.
As a part of my thesis in computer science that I did in 2006, I coded a JAVA class that can control the box. It also comes with a some example code that will enable you to control the box.