The “Coding” Has Begun

Screen shot 2010-08-31 at 23.52.15.png

I managed to get test programs working using the openFramework and found a suitable one to use as a template, (imageLoaderExample). Although the way it needs to be set up is a little fiddly, and although I can’t yet use it in my own directory structure, I was able to create a new project based on that sample.

The next step was to draw the iso cube and I thought that would be a simple matter of:

 isoCube.loadImage(“images/cube64x64.png”);

For some reason, I wasn’t able to draw this with transparency, despite the sample program clearly being able to draw with transparency. So I checked the image format. Turns out it wasn’t able to handle an indexed PNG’s transparency, but was fine with an 8bpc transparency. With that addressed, everything worked fine and I am now drawing iso cubes on the screen and the whole block of 64 iso cubes of 64 by 64 pixels is dancing to a sine wave.

I moved a few other things around and it was all surprisingly easy. I never really forgot C++. I think I was amongst the first game programmers in the UK to use it, when people were still thinking the idea of using C for a game was radical. I bought Walter Bright‘s C++, which was pretty decent. I was influenced by two factors, first, that David was using the C compiler, back when they were still “Zorland” and second, the price, Zortech C++ was £99. Amazing value and I did a lot of code using that compiler all the way up to the mid 90s. So I love C++ and am looking forward to using it in, well, not quite anger, more like nostalgic fondness.

zortech2.jpg

Tomorrow, data formats, object creation, object placement and save/load. I’m very exited.

 

Room Editor

chimera-map.gif

The last Room Editor I wrote was on the Atari 800XL in 1984. It could be used with an Atari Touch Tablet and saved and loaded room data files from floppy disk. It was the quickest way of getting room data made for “room” based games like Jet Set Willy. The Touch Tablet I’m using now is called a Magic Trackpad and it’s by Apple. Obviously, the resolution and functionality is worlds apart.

I’d written Jet Set Willy on the Commodore 64 the year before Chimera and towards the end of 1984 I was wondering whether I was finished in video games or not. I did a game with a friend called “Baby Starts Walking” on the Commodore 64. My friend did most of the graphics and room design, I took the code I’d written for Jet Set Willy and cleaned it up a bit. Before we’d quite finished and before we’d had a chance to create any enemy sprites, we decided to try and sell the game.

I won’t say where we took it, but we were offered £3000 and turned it down. Daft really, we should have taken the money and moved on. Instead I carried on playing video games, having already pretty much dropped out of school. Chimera was my last chance saloon. Having started in 1983, 27 years later, here I still am.

So the Room Editor I need to write now needs to have the following characteristics and properties:

1) Allow me “play the game” (whatever that turns out to be)

2) Allow the insertion of various “nouns”, including walls, artifacts, blocks and characters

3) Allow the editing of the properties of the nouns (i.e. choose adjectives)

4) Understand the physics (or the verbs) of the game

5) Allow saving/loading of the room data

I’m wondering if I should be using XML for the room data format, or something else. For now, I guess it would be sensible to use XML, given the availability of libraries for it.

To begin with, I just need to hard-code certain objects and allow for flexible placement.

Oh, and I also need to write an Isometric class. Not so tough.