Lunchtime Atic Atac

Snap taken using “Retrotechys Speccy Graphics Viewer/Editor”

After a few boring lunchtimes at work with nothing to do, I started tinkering around with a ZX Spectrum .sna file of Atic Atac, the aim being to be able to read some sensible data from the file and display some atic atac screens, using Blitz3D.

 

Prep Work:

  • firstly I obtained a 48kB .sna file of Atic Atac. I figured that as I have paid for the game twice in my life (ZX Spectrum and Xbox One Rare Replay), I was entitled to peep at the code.
  • I downloaded a decent free Hex Editor.
  • I had a good look at Icemarks Atic Atac data format page, as this gives a lot of guidance on specific areas of the data that pertain to drawing the screen.
  • I added 16kB of padding onto the front of the .sna file so that Icemarks memory offsets matched the file that I had.

 

Dev Program 1 – Find enough data to draw the outline of each type of room.

Atic Atac has 13 different room types, including the last room when you escape the haunted house, and the room when you are falling down a trap door.

The actual X and Y points for drawing each room are stored in two sections for each type room. The first part lists each X and Y co-ordinate for every line required to draw the room and the second part is a list of points so that these X and Y co-ordinates can be connected using lines to draw the room.

Example:

The First part of data looks like –  186,42,186,186,42,186,42,42. It is read as Point 1 X co-ord = 186, Point 1 Y co-ord = 42, Point 2 X co-ord =186, Point 2 Y co-ord=186 and so on.

The second part of the data looks like – 1,2,255,3,2,4,255,255. This i read as “Go to the X and Y co-ords of point 1 and draw a line to the X and Y co-ords of point 2. Then 255 means end of that draw function. Next go to the X and Y co-ords of Point 3 and draw a line to the X and Y co-ords of point 2, then go back to the X and Y co-ords of point 3 and draw a line to the X and Y co-ords of point 4.” Then two 255’s in a row means end of drawing that room.

Dev Prog 1 Input:

Type in which type of room you want to draw (0 to 12) and what scale factor you want to use (1 to 4, 1 being original size)

Dev Prog 1 Output:

Room Type 2, Scale Factor 4

Room Type 1, Scale Factor 3

It all looks pretty good with the exception of room type 7 which has an X co-ordinate error on one of the draw points. After some looking it turns out that room type 7, a sideways stairway, isn’t used in the game so the error wouldn’t ever have shown up.

 

Dev Program 2 – Draw the outline of each game room with room attributes.

Rather than just calling up a type of room, I wanted to be able to call up a room number from the game itself and have it display the correct type of room in the correct colour.

The Atic Atac .sna has a table in it with each room listed as room colour and type, so the data looks like 66,3,68,0,64,5 and is read as:

  • Room 0, Colour 66, Room Type 3
  • Room 1, Colour 68, Room Type 0
  • Room 2, Colour 64, Room Type 5

The room numbered order itself is a bit haphazard to say the least. Room 0 is the start screen, Room 1 is the screen above, Room 2 is screen left of that… and so on through the various rooms/floors.

Dev Prog 2 Input:

Type in which room from the game you want to draw (0 to 148) and what scale factor you want to use (1 to 4, 1 being original size)

Dev Prog 2 Output:

Game room 33, Scale Factor 4

Game room 69, Scale Factor 4

 

Dev Program 3 – Add Room objects to the each room rendered.

The game has an object table. This lists all of the objects in the game along with varous object attributes including the type of object the room number its in, the X and Y position it should be drawn in the room and its orientation.

This object table doesn’t seem to be in any specific order so if you walk into room two, you have to scan the entire table to list what objects are in room 2.

Once you have confirmed that the object belongs in the room that you’re in and you have  the object type, you can then jump to the offset of that specific object which contains the X width of the object in bytes, the Y height of the object in pixel rows and then the bitmap of the object itself, and start to draw it in the correct X, Y and orientation.

Dev Prog 3 Input:

Type in which room from the game you want to draw (0 to 148) and what scale factor you want to use (1 to 4, 1 being original size)

Dev Prog 3 Output:

Game Room 0, Scale Factor 4

Game Room 3, Scale Factor 4

Game Room 6, Scale Factor 4

So with all of this dev work done… “WHAT IS IT GOOD FOR… ABSOLUTELY NOTHING!!” but fun nerdiness all the same.

 

 

Ghostbusters film locations in New York

Family holiday to Manhattan… Chance for some nerdy Ghostbuster film location spotting… Would be daft not to!

  1. The Firehouse – Hook and Ladder Company #8 – Tribecca

Ok so a bit gutted about this one. The building wrapped in coverings whilst repair work goes on.

Should look like this:

Looked like this:

2. “Spook Central” Dana and Louises Apartment Block,  55 Central Park West at 66th Street.

The actual building is a lot smaller in real life than it looks in the movie. This is because there is a lot of larger buildings located around it so to make it look more menacing, an additional 8 floors were Matte painted onto the movie shots.

Should look like this:

Looked Like This: Still a pretty odd loking place even without the extra floors!

3. New York Public Library.

Whilst this is an iconic scene at the beginning of the original Ghostbusters where the first spook in the film is spotted, the actual appearance of the building is fleeting to say the least, with all inside shots filmed at a library in California.

Should look like this:

Looked like this:

4. National Museum of the American Indian

Known in Ghostbusters 2 as the Manhattan Art Museum (No such place exists), This building ends up encased in pink slime in the movie…

Should look like This:

Looked Like This:

5. Interior of the Statue of Liberty 1

The Ghostbusters set themselves up inside the Statue of Liberty and spray the innards with positively charged pink slime in Ghostbusters 2.

Should look like this:

Looked like this:

5. Interior of the Statue of Liberty 2

The Statue of Liberty was controlled from inside the Statue of Liberty crown and  in Ghostbusters 2.

Should look like this:

Looked like this (Yer ok Couldn’t get a pic from the outside) :

A missed a few opportunities…

Rockerfeller Plaza (Below) – For some reason I thought that this scene had multiple golden statues around it. After checking the Plaza for a while I concluded that they had been removed. It turns out that I walked past the area in the pic below about 3 times….

Tavern on the Green (Below) – Couldn’t get access to the back without going in the front which had security on it…

Lincoln Centre Fountain (Below) – Unfortunately didn’t get this far up on the west side…

As far as I’m concerned, this is a very good reason for going back in a few years time!

What links the Friends fountain and The Omega Man.

Yup bizarro random fact time…

What links the fountain in the opening sequence of “Friends” and the 1971 apocalyptic Sci-Fi flick “The Omega Man”?

let’s dispel the myth of the fountain in “Friends” opening sequence being one of the fountains in Central Park.. It’s not.

Central Park Bethesda fountain…

Central Park Cherry Hill fountain…

“Friends” Fountain

The fountain in “Friends” is on the Warner Bros ranch in Burbank, California, some way from New York.

in The Omega Man, Robert Neville’s apartment is also at the Warner Bros ranch. As can be seen in the top picture and below.

So it can clearly be seen that the fountain at Warner Bros ranch is the fountain used in Friends opening sequence, and also is in the park across the road from Robert Neville’s apartment in The Omega Man.

Now the odd thing is, at the end of The Omega Man, Robert Neville is hit by a spear and falls into the fountain in the park, but not the fountain in the picture above.

1. The fountain is far smaller.

2. The fountain is far closer to the fence than the other.

The only reason I can think for this is that maybe the real fountain was too far away to make it believable that Robert Neville could be hit by a spear thrown from his balcony, so a prop fountain was used and the real one covered up with shrub and tree camouflage.

Sega Game Gear Capacitor Change

So after having a half stripped Sega Game Gear rattling around in my work drawer for a few years, I decided it was time to order a Cap Kit and get it running in its former glory…

So as a starter, split the Game Gear in two:

Remove the metal shield overlapping the audio board:

Remove the Audio Board:

And prep for surgery. Looks like one or two of the caps on here have already been changed at some point in the past:

Game Gear Audio Board stripped of caps. Unfortunately two of the solder pads came away during the process. They are very fragile so carefully does it:

And now new caps fitted. Also ran two pieces of instrument wire to bridge the connections from the missing solder pads:

A quick test and audio from both the in-built speaker and the headphone socket is blasting out nicely.

The next step… The main board!

PSP Go on 65” 4K Sony TV

Yup. Use your PSP Go as a full game console with separate controller and even connect it to your TV.

What you will need:

1. PSPGo
2. PSPGo TV component lead (head to eBay)
3. PS3 controller
4. PS3 (only once to initially connect the controller to the PSP)


So first you need to turn on your PSP Bluetooth and use your PS3 to connect the controller to the PSP. 


Once the Bluetooth is initialised to the PSP, you won’t need to use the PS3 again.

Then plug the PSP into the TV and off you go.


PSPGo on 65” 4k Sony BT linked to PS3 controller…

3D Isometric game engine in Blitz 3D – Building Blocks and Film Sets

snap0

So previously I had entertained a few concepts for the isometric game engine I was working on, however everything started to look a bit flat.

I decided to make the move from building worlds with flat cube tiles to building out of blocks to make things a bit more 3D.

blog1

I made a simple cube block with 45 degree bevelled edges and corners. Each surface had its own set of vertices and its own surface to allow for multiple textures. I then stretched for a long block and stretched and rotated for a tall block. I then designed a quick routine to add the blocks randomly to a wall and allow for spaces. It was a disaster… The amount of vertex’s on screen came in at around 12000+ and the FPS slowed down to 30. Also the bevels in the stretched blocks weren’t at 45 degrees any more and didn’t match the cubes in the wall.

I quickly realised that in an isometric world, you only see a max of 3 sides of the block at any one time so by making six blocks with some surfaces missing and using the correct one for correct circumstance I managed to reduce the vertex count to less than a third, even with the floor being 3D bevelled cubes.

The result, from the ISO camera view, all looks good, 3D and solid. But if you walk around to the back of the wall, like every good film set you find out that its just a plywood mock-up.

blog4

Again, planting the camera in a standard Isometric position gives you a stretched curved effect meaning that some parts of the screen are out of shot, so moving the camera a long way from shot and using the zoom function flattens out the image to a more regular looking isometric view.

blog2

blog3

3D Isometric game engine in Blitz 3D – Generating Shadows

Whilst Blitz3D has a number of easy to use lighting effects, it lacks any built in shadow functionality.

An easy way to add a suggestion of a shadow is to use sprite shadows, a simple dark coloured sprite with some alpha set will cast a reasonable shadow effect.

Also with a bit of geometric knowhow, you can have shadows across the floor and up the walls.

snap0

In a room as in the picture above, if you have a single light source in the room, you would need to set up three potential shadows:

Shadow 1 – stretches across the floor between that man and the wall at the angle the man is to the flame. Dynamics for the shadow are positioning the centre of the sprite half way between the man and the wall at the flame to man angle, stretching it the correct length so that it reaches from man to wall and finally rotating it as the man moves in relation to the flame.

Shadow 2 – is on the east wall. Dynamics for this shadow are positioning it at the correct position on the wall so that its in line with the angle between flame and man and stretching it to the correct height so that its in line with the flame height to man height.

Shadow 3 – is on the north wall. Essentially its the same as shadow 2. Its far easier to have a north and east shadow so that when you reach the corner of the room, east shadow disappears into north wall as north wall shadow emerges out of east wall creating a nice shadow round the corner effect.

snap1

To add some atmosphere, animate the flame on the candle and in time with the animation:  increase/decrease the light range on the candle light to simulate some flame flicker, adjust your shadow angle by a couple of degrees left and right and slightly decrease/increase the alpha of the shadows.

snap2

The general lighting on all of the rooms above is biased towards blue. In order to set the general background lighting to a moonlight style colour, you need to up the blue in a big way. If you turn all of the lights off, you get a very heavy red/green biased low ambient light. To remove the red/green biasing you add blue light, but then you end up with a blue room…. so you up red green and blue but make blue double what red and green is to try and even the ambient light biasing out.

Space Invaders on the Sony PlayStation Portable / PSP / PSPGo

You must know how it is and how it goes by now. It’s a Friday afternoon. You’re on a long train journey. Your portable game console of choice is the Sony PSP and the only game that will do is classic Space Invaders. What are your options…

 

  1. “Space Invaders Pocket” (Japan Release 2005)
Yet another collection of eight classic rom sets / flavours / ports of the quintessential daddy of all shmups. As well as the usual monochromes, cellophanes, uprights and DX’s, we also have Return of the Invaders, Majestic Twelve aka Super Space Invaders ’91 and Space Invaders ’95 – The Attack of the Lunar Loonies aka Akkanvaders.

 

  1. “Space Invaders Evolution” (European Release 2006)
A collection of three different angles of Space Invaders. Firstly and without being hidden or unlockable there is the classic original arcade Space Invaders. We also have “Match up” which is a two player at once opposite sides of the screen style shootout with a similar if slightly improved visual style to the original game. Finally there is a Space Invader Re-imagining called “Future”.

 

It’s Worth Noting…..

It’s worth noting and well worth mentioning “Space Invaders Extreme” on the PSP, Taito’s portable Space Invader release to mark the original games 30th Anniversary.
I particularly like this re-imagining because once you turn off the crazy migraine inducing random 3D background, the game and graphics are reasonable faithful to the original source game albeit with a lot of extra added fluff. Of all of the remakes of Space Invaders that I have played, this one is by far the most fun and has bags of gameplay.

 
 

Space Invaders on the Sony PlayStation 2 / PSX2 / PSTwo / PS2

You know how it goes. It’s a Sunday afternoon, the only game console you can lay your hands on is a Sony PlayStation 2 and the only game that will do is classic arcade Space Invaders… Again. What are your options?

 

  1. “Space Invaders Anniversary” – European Release 2003
SpaceInvadersAnniversary
A collection of eight different Space Invaders flavours / romsets presented in a comfortable virtual back street arcade setting. The versions included are:

 

  • Tabletop  Monochrome Version
  • Tabletop Cellophane Version
  • Tabletop Colour Version
  • Upright Colour Version
  • Tabletop Part II Colour Version
  • Space Invaders VS
  • Space Invaders Doubles
  • 3D Space Invaders
Four of the games listed above are available on the PS1 Simple 1500 Series “The Invaders” release, however the 3D Space Invaders game on this release does differ from the PS1 Simple 1500 Series “The Invaders” 3D Space Invaders.
There is also a Space Invaders memorabilia section containing original game artwork and other original Space Invaders material.

 

  1. “Taito Legends” – European Release 2005
A collection of 29 various Taito arcade games including the following Space Invaders releases:

 

  • Space Invaders
  • Space Invaders Pt II
  • Return of The Invaders
Also included are a Taito history section and an interview with Space Invaders original creator and of course, a whole host of other Taito arcade classics.

 

  1. “Taito Legends 2” – European Release 2005
A collection of 39 various Taito arcade games including the following Space Invaders releases:

 

  • Space Invaders DX
  • Space Invaders ’95
  • Super Space Invaders ’91
72373_back
Again this collection contains Taito game memorabilia and a large collection of other Taito arcade classics.

 

  1. “Taito Memories Joukan” – Japan Release 2005
67153_front
A collection of 25 various Taito arcade games including the following Space Invaders releases:

 

  • Space Invaders Colour
  • Space Invaders DX

 

  1. “Taito Memories Gekan” – Japan Release 2005
A collection of 25 various Taito arcade games including the following Space Invaders releases:

 

  • Space Invaders
  • Space Invaders Pt II

 

  1. “Taito Memories II Joukan” – Japan Release 2006
A collection of 25 various Taito arcade games including the following Space Invaders release:

 

  • Return Of The Invaders

 

“It’s Worth Noting….”

It is worth noting that you can play classic arcade Space Invaders on the critically unclaimed “Space Invaders – Invasion Day” also known as “Space Raiders”. At the ‘Press Start’ screen, enter this code: Hold L1+R1 & press X + O.