Sunday, 30 April 2017

Working.....

So, I completed the Blitz .... mostly .... it mostly works ; not tested as much as I would normally.

The game is at http://studio2.org.uk/dungeon/ and the source is now at https://github.com/paulscottrobson/pet-dungeon-remake

It's not the most exciting game in the world but it was an interesting, if somewhat reduced challenge.

Saturday, 29 April 2017

Blitz Project

The original
Well, real life (TM) has got in the way again.

So as to achieve something, I'm going to cannibalise it for a similar game I know I can finish in the time available - the Commodore PET "Dungeon" Game.

I've been on it for a couple of days now, and it is mostly finished.

Saturday, 15 April 2017

Now can move about ...

Seem to have done a fair bit today in an hour or so. My characters can now walk about the maze, the status updates, the elf detection works and the dwarf dead/alive map tracking works. 

The control system has ended up dead simple - touch one square away to move, two to jump, and touch the square you are on to "action" - e.g. start a fight with a monster, use a set of stairs, whatever.

I need to add a frame to the map I think

Tuesday, 11 April 2017

Some more classes

So, I've spent a bit of time this evening adding a couple of information classes ; the status in the top right which shows the level, party size and strength and whether the elf and dwarf are still with us, and a scrolling text area for messages, which is filled up at present using Math.random()

The orientation suggests I'm thinking mobile here not desktop so I will need some controls for this.

This is all really ad hoc which is I suppose bad practice, I'm just slinging it together :)

Some better rendering

Something now resembling proper rendering ; a level rendered in Phaser, with the test rendering in the bottom corner. The player will be in the middle and the level will scroll around.

It's been rigged so it displays the whole maze even if you haven't actually visited a square yet, just for testing purposes.

Next up, create some sort of messaging system, and a basic active object class. Objects in the maze are divided into things that move and things that don't, and some flip between the two ; monsters start of as a thing in the maze, when they are 'activated' they become an active object that will chase the player.

This game doesn't have a player in actuality, it has 17. It starts off with 15 players , an elf and a dwarf. Players are lost in fights, as can the elf and dwarf (one auto maps, the other gives warnings, can't remember which way round).

One thing I noticed in the code is that you can't get more players ; there is no 'recovery' from a bad fight. I might well change this.

Monday, 10 April 2017

Back to Retrochallenge

took the missus to see the mouse this week ..... now back so should be able to make some progress on the remake.


Tuesday, 4 April 2017

Some mazes up

So, some actual progress. I finished the last bit of reverse engineering, and grabbed some free 32x32 RPG tiles and a font and wrote a dungeon creator and renderer based on that code. It's written in Typescript and the Graphics are done with Phaser.

This isn't the final renderer, it's one that is designed to display the maze results so I can test it. It's a three level dungeon and the various symbols show the various content and walls.

The original is limited to a 4x13x13 dungeon but I see no reason not to extend that.

Next thing to do is to write the actual renderer.

Sunday, 2 April 2017

Reverse Engineering II

That went rather better than I was expecting. The one in the github (at the time of posting) has everything reverse engineered except the actual battle.

It's a remarkable achievement for a 16k Apple II. There is the odd bug (for example, if the Serpent kills your last player you will carry on with 0 players) but it's much easier to write these things with a proper editor when you don't have to scavenge every byte of memory.

Reverse Engineering

So, having decided what I'm doing, I need to figure out how this game works. There's two sorts of remake ; a precise remake where you remake something that is a clone of the original and those where you just copy the basic ideas but aren't interested in the code.

This is a first type, though I hope to make it look nicer and possibly expand it a bit. Depends on time.

It's mostly written in Apple Integer BASIC.  This has a very novel tokenisation system devised by Woz which is more complicated to decode than usual but interesting - it pre-parses numbers for example, which could be useful for the 1802 Basic that I'm thinking about doing and have a bit of prep for.

Multiplying a 16 bit integer by 10 is a bit slow in a 1802 ... even by 1802 standards.  I wrote a 1k Tiny BASIC for the 1802 for a competition where speed didn't matter.

So I have this analysis done and am part way through decoding the code. Some of it is complete (maze generation) but pretty much all of it is analysed to the extent that I know what each chunk of code does.

Friday, 31 March 2017

Retrochallenge April 2017

The original Apple II version
This is a screenshot from a 1978 game called "Dungeon Campaign" which was released on the Apple II.

My Retrochallenge for this month is going to be to remake this game in Typescript as an online game.