Death Zone - A new game for BeebEm

new games to be launched and discussed here
Tom_Lindberg
Posts: 75
Joined: Sat Jun 18, 2016 11:33 pm
Location: Sola, Norway

Death Zone - A new game for BeebEm

Postby Tom_Lindberg » Sat Sep 17, 2016 12:13 pm

Hi all,

The reason for this post (my first actually) is to share with you a
game that I have created.

Some background info: I owned a BBC Micro Model B in the years
1983 - 1985. I was very interested in games and my ultimate goal
was to learn 6502 assembly and write a game. Well, I was 14-15 years
old at the time and it was just too difficult for me to understand
assembly programming.. I bought Leventhal's book on the subject, but
it was all greek to me.

Fast forward to present time: I have had BeebEm installed for some
time, and 3-4 months ago I decided to have another go. The holy grail
for me was to make a game in assembly, and if I failed again
it would never happen. The bar was set. I had to complete the goal
I had set 32 years ago.

I downloaded all the info I needed from internet (user guide and
books on assembly programming) + studied the books I have owned for
over 30 years, Mike James - The BBC Micro an expert guide, and
Leventhal's 'bible' on 6502 Assembly Language Programming.

It took me 2 weeks to brush up my general BBC knowledge, 4 intense
weeks to learn assembly and 3-4 intense weeks to write the game
Death Zone. I probably spent 4-5 hrs on average each day. Weeks
filled with mostly pain and frustration. On four occasions I almost
gave up due to bugs and memory shortage. BeebAsm (a portable 6502
Assembler) was a lifesaver to me. Many thanks to Rich Talbot-Watkins
for that excellent piece of software.

But despite pulling all my hair out in utter desperation I did it!
I created a game in 6502 assembly, and I uttered a guttural cry of
victory :)

Death Zone (attached) is a very simple arcade game. Don't expect
fancy graphics and sound. It is an amateurs first attempt at a game.
Bear that in mind ;) But it is very addictive I think (I have only
tested it in BeebEm). The collision detection isn't 100% so there
are some rare unexpected deaths, but that just adds to the
excitement.

Some info about the game: Start it by typing CHAIN "START". It's
just a simple starting screen. Then press a key to play. The
goal is simple: Avoid the monsters and red walls, grab the key and exit the level
through the opening in the bottom wall. Every level is like that. But the playing
field gets smaller and smaller making the game harder. You get
5000 points for grabbing the key, 10000 points for clearing the
level + whats left on the bonus counter. Note that the game moves
a bit too fast in the first two levels, but after the introduction
of another monster in level three the speed is more comfortable.

Note that 'up' is assigned to key ] (right bracket) and 'down' to
- (minus key). You will probably have to make some adjustments to
your keyboard to get a comfortable setup. I hope it isn't to much of a
hassle.

When you have lost all three lives the game just ends. To enter
the hiscore table you can press BREAK followed by soft key nr one
(normally assigned to F1 on your keyboard). Or type CHAIN "HSCORE".
The hiscore table saves the 15 best scores to memory so your scores
will be there forever ;) You can also type your name alongside
your score, but max 6 characters.

OK, I hope some of you are curious enough to check the game out.
Even if it's simple and amateurish. A new game for the BBC Micro,
well BeebEm, (with a hiscore table that saves itself!) isn't something
that occurs too often :)

Best regards from Tom!
Attachments
Death Zone.zip
(4.09 KiB) Downloaded 53 times

User avatar
tricky
Posts: 1922
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Death Zone - A new game for BeebEm

Postby tricky » Sat Sep 17, 2016 12:44 pm

Well done, a nice little game.

Vertically moving things is quite tricky.

I don't think I agree about the random deaths being a good thing ;)

Do you think you could check when a monster goes off screen (or touches a red line) and then bring them back on on the opposite corner to you?

*OPT 4 3 will set the floppy to *EXEC !BOOT, which can be written with:

10 *SPOOL !BOOT
20 PRINT "*BASIC"
30 PRINT "*K.10 CH.""HSCORE"""
40 PRINT "CH.""START"""
50 *SPOOL

Tom_Lindberg
Posts: 75
Joined: Sat Jun 18, 2016 11:33 pm
Location: Sola, Norway

Re: Death Zone - A new game for BeebEm

Postby Tom_Lindberg » Sat Sep 17, 2016 9:44 pm

Well done, a nice little game.


Thank you, tricky!

I don't think I agree about the random deaths being a good thing ;)


No, it is not optimal, but it doesn't happen too often.

Do you think you could check when a monster goes off screen (or touches a red line) and then bring them back on on the opposite corner to you?


I will have to think about that. My idea was that the monsters would respawn in the same spot in the middle of the screen after hitting the red wall. Makes the coding easy, not requiring the extra effort of checking the position of the opposite wall and place the monsters there ;) But your idea is noted!

*OPT 4 3 will set the floppy to *EXEC !BOOT, which can be written with:

10 *SPOOL !BOOT
20 PRINT "*BASIC"
30 PRINT "*K.10 CH.""HSCORE"""
40 PRINT "CH.""START"""
50 *SPOOL


Thx! Saves some typing :)

User avatar
tricky
Posts: 1922
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Death Zone - A new game for BeebEm

Postby tricky » Sat Sep 17, 2016 10:23 pm

Centre would be a good compromise, also adds a little risk/reward for taking the shortcut.
The *OPT can be set from the beebasm command line and the basic only has to be run once, but you can write the !BOOT file from beebasm linke this: http://www.retrosoftware.co.uk/forum/viewtopic.php?f=73&t=1003&p=7634&hilit=hex#p7634 or by PUTFILE.

User avatar
CMcDougall
Posts: 5623
Joined: Wed Feb 02, 2005 3:13 pm
Location: Shadow in a Valley of Scotland

Re: Death Zone - A new game for BeebEm

Postby CMcDougall » Sun Sep 18, 2016 10:30 am

Welcome Tom, nice wee game :D , but the keys for up/down are a bit poopy, change to ' / and would be good!

hi-score save needs the disc to be write protected tick off in emulator.
Attachments
dz.png
ImageImageImage

Tom_Lindberg
Posts: 75
Joined: Sat Jun 18, 2016 11:33 pm
Location: Sola, Norway

Re: Death Zone - A new game for BeebEm

Postby Tom_Lindberg » Sun Sep 18, 2016 4:17 pm

Welcome Tom, nice wee game :D , but the keys for up/down are a bit poopy, change to ' / and would be good!


Thx! As most of you know BeebEm has a very good keyboard mapper in the options menu. So you can save
a perfect key configuration for any game you play. Better that than me compiling 2-3-4-5 versions of the game
hoping to satisfy everyones needs :)

And yes, tick off write protection!

User avatar
tricky
Posts: 1922
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Death Zone - A new game for BeebEm

Postby tricky » Sun Sep 18, 2016 6:13 pm

It isn't very pretty, but if you look on one of my later carnival discs, there is a program to let the user defined their own - press K.

User avatar
richardtoohey
Posts: 3378
Joined: Thu Dec 29, 2011 5:13 am
Location: Tauranga, New Zealand

Re: Death Zone - A new game for BeebEm

Postby richardtoohey » Mon Sep 19, 2016 5:23 am

=D>

On my bucket list (it's a long list of TODOs, nothing really to do with kicking the bucket!) to write a 6502 assembler game, so a doff of my cap to anyone who does. :D

User avatar
daveejhitchins
Posts: 3692
Joined: Wed Jun 13, 2012 5:23 pm
Location: Newton Aycliffe, County Durham

Re: Death Zone - A new game for BeebEm

Postby daveejhitchins » Mon Sep 19, 2016 7:02 am

richardtoohey wrote:=D>

On my bucket list (it's a long list of TODOs, nothing really to do with kicking the bucket!) to write a 6502 assembler game, so a doff of my cap to anyone who does. :D
Here - here =D>

Dave H =D>
Parts: UM6502CE, GAL22V10D, GAL16V8D, AS6C62256A, TC514400AZ, WD1772, R6522, TMS27C512, AT28C256
Products: ARA II, ABR, ATI, AP6, MGC, AP5 . . .
For a price list, contact me at: Retro Hardware AT dave ej hitchins DOT plus DOT com

Tom_Lindberg
Posts: 75
Joined: Sat Jun 18, 2016 11:33 pm
Location: Sola, Norway

Re: Death Zone - A new game for BeebEm

Postby Tom_Lindberg » Mon Sep 19, 2016 4:59 pm

Now that you guys feel so inspired, what are you waiting for? \:D/

User avatar
richardtoohey
Posts: 3378
Joined: Thu Dec 29, 2011 5:13 am
Location: Tauranga, New Zealand

Re: Death Zone - A new game for BeebEm

Postby richardtoohey » Tue Sep 20, 2016 5:09 am

The time machine.

Something that gives me lots of money so I don't have to work.

Something that freezes the family for 8 hours so I can (gasp!) just do what I want to do for a few hours solid.

:-({|= :roll: :wink:

User avatar
Rich Talbot-Watkins
Posts: 1121
Joined: Thu Jan 13, 2005 5:20 pm
Location: Palma, Mallorca

Re: Death Zone - A new game for BeebEm

Postby Rich Talbot-Watkins » Thu Sep 22, 2016 12:52 am

^ wot he said

User avatar
tricky
Posts: 1922
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Death Zone - A new game for BeebEm

Postby tricky » Thu Sep 22, 2016 6:25 am

RichTW, are you sure you couldn't finish Bone Muncher, it's an inspiring tech demo and might even be fun ;)

Says the man who hasn't touched assembler for ages!

User avatar
kieranhj
Posts: 530
Joined: Sat Sep 19, 2015 10:11 pm
Location: Farnham, Surrey, UK

Re: Death Zone - A new game for BeebEm

Postby kieranhj » Thu Sep 22, 2016 5:45 pm

Haven't you heard? Rich is writing BeebAsm v2.0. :D
Bitshifters Collective | Retro Code & Demos for BBC Micro & Acorn computers | https://bitshifters.github.io/

User avatar
tricky
Posts: 1922
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Death Zone - A new game for BeebEm

Postby tricky » Thu Sep 22, 2016 8:19 pm

Then he will need something to test it with ;)

User avatar
Rich Talbot-Watkins
Posts: 1121
Joined: Thu Jan 13, 2005 5:20 pm
Location: Palma, Mallorca

Re: Death Zone - A new game for BeebEm

Postby Rich Talbot-Watkins » Thu Sep 22, 2016 8:27 pm

Ha, steady on now! Right now it's basically a new, faster, more flexible parser with a type system, and an experiment in resolving forward references better. I hate the BeebAsm code as I wrote it very quickly one Christmas time with little planning or design, and it ended up a pretty horrible mess as these things do. The plan is to tie up the pieces so that it can assemble some simple code and then stick it on GitHub with a view to incrementally updating it. Right now it's just a bunch of classes which pass my test suite.

Bone Muncher - I go back to it every now and then. The last thing I added was all the rest of the doggy animation frames, but then implementing proper collision detection started to get hairy and I aborted mission!

User avatar
tricky
Posts: 1922
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Death Zone - A new game for BeebEm

Postby tricky » Thu Sep 22, 2016 10:02 pm

I've walked away a couple of times myself from proper collision detection.
For AstroBlaster, I even added a half width 1 bit per pixel mask of the players ship to collide against as I wimped out of the proper one (still pixel perfect though!).
I think I have more collision detection variants than sprite plotters and every game has several different plotters!
Sorry for hijacking the thread again, but I would love to see one of Rich's games released.

Michael Brown
Posts: 1898
Joined: Sat Apr 03, 2010 12:54 pm
Location: Nottingham

Re: Death Zone - A new game for BeebEm

Postby Michael Brown » Sun Sep 25, 2016 3:08 pm

Hi Tom,
Great to see someone write a new game.
If it helps, there is a way to avoid having to press Break each time the game ends.
You can simply split the START file into 2 parts (say START and START2), the first part up to line 3050 simply drawing the title, and the second part from line 3060 onwards loading the game - but adding a line in the first part to load the second at &900 (as it should only be around &250 in length and should'nt corrupt the DFS). This will allow the game to return to basic when your 3 lives are lost (as currently loading START as it is at &1100 or above causes the machine code in the DZONE file (loading at &1100) to corrupt the basic code which crashes the game).
You can then insert a line at 3190 in the basic code (after line 3180 which *runs DZONE) to PAGE=&1900:CHAIN"HSCORE".
You can then modify the HSCORE file at line 170 to set page to &900 and CHAIN the second part (START2) again to replay.
I have tried this myself and it seems to work.
If you want, I can PM you a copy I have made of this working as above.

Hope this helps.
regards,
Mick.

Tom_Lindberg
Posts: 75
Joined: Sat Jun 18, 2016 11:33 pm
Location: Sola, Norway

Re: Death Zone - A new game for BeebEm

Postby Tom_Lindberg » Sun Sep 25, 2016 5:14 pm

Thanks, Michael.

Yes, this seems to work! But a bit risky if you don't know what you are doing.. It's easy to corrupt something you shouldn't by moving the PAGE around. But I follow your idea of not letting the machine code corrupt the BASIC code :)

Tom_Lindberg
Posts: 75
Joined: Sat Jun 18, 2016 11:33 pm
Location: Sola, Norway

Re: Death Zone - A new game for BeebEm

Postby Tom_Lindberg » Fri Oct 14, 2016 10:52 pm

Hi all,

I have attached a new version of the game. Changes are:

- A bug 'work around' related to collision detecting
- Keys for UP and DOWN have been changed to the classic ":" and "/" (I expect som stellar scores now from CMcDougall 8) )
- Disc is made autorun
- The look of the bonus counter have been changed to an authentic retro digital font. A must see :wink:
- Some minor layout changes
- Game now displays "GAME OVER" (!) and instructions on how to enter the hiscore table.
Important: Disc must not be write protected in order for the highscore to save.

The player MAY experience some unexpected consequences of the collision detection, but no game is perfect I guess...

I would love any feedback from people testing the game on an authentic BBC. Hopefully that everything works OK.. or not!

Thanks!
Attachments
Death Zone - Ver 1-1.rar
(4.95 KiB) Downloaded 14 times

User avatar
tricky
Posts: 1922
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Death Zone - A new game for BeebEm

Postby tricky » Sat Oct 15, 2016 9:34 am

Still find it very hard, unfair sometimes, but I am getting the hang of it - a bit!
It would be nice to have a "play another game" key, but SHIFT-BREAK works ;)

461320 level 19 - like the new font.
Image
Tips: don't go near the middle and wait in the top half until you see an opening.
I hadn't noticed the animation on the blue monster before.
Attachments
DeathZone461320.png
(2.42 KiB) Not downloaded yet

Tom_Lindberg
Posts: 75
Joined: Sat Jun 18, 2016 11:33 pm
Location: Sola, Norway

Re: Death Zone - A new game for BeebEm

Postby Tom_Lindberg » Sat Oct 15, 2016 11:55 am

It would be nice to have a "play another game" key, but SHIFT-BREAK works ;)


That will only take you to the start screen. I suggest that you proceed to the
highscore table, especially if you want your score to be saved..

Tips: don't go near the middle and wait in the top half until you see an opening.
I hadn't noticed the animation on the blue monster before.


It is trying to kiss you, but I would not recommend it. It's probably a trap :wink:

About the tip: Yes, stay away from the middle. Proceed down close to one of the walls. Right wall might be the best. By studying the enemies you will reckognize some repeating patterns and take advantage from it. You reached level 19. The playing field 'shrinks' again at level 20, 25, 30 (now it gets hard), 35 and 40. After 40 it stays the same. I have a good tactic that I use up to level 39, but at level 40 you need a big portion of luck to proceed. My best so far is level 54 and 1.3M points.

Michael Brown
Posts: 1898
Joined: Sat Apr 03, 2010 12:54 pm
Location: Nottingham

Re: Death Zone - A new game for BeebEm

Postby Michael Brown » Mon Oct 17, 2016 12:16 pm

Hi,

Any chance of a ssd of the newer version as I cannot access rar files.

regards,
Mick.

Tom_Lindberg
Posts: 75
Joined: Sat Jun 18, 2016 11:33 pm
Location: Sola, Norway

Re: Death Zone - A new game for BeebEm

Postby Tom_Lindberg » Mon Oct 17, 2016 4:50 pm

Here it is. You must rename it from zip to ssd :) (I was not allowed to upload with ssd extension).
Attachments
Death Zone.zip
(23 KiB) Downloaded 24 times

User avatar
sydney
Posts: 1987
Joined: Wed May 18, 2005 9:09 am
Location: Newcastle upon Tyne

Re: Death Zone - A new game for BeebEm

Postby sydney » Sat Jul 15, 2017 11:46 am

As requested by Tom here is a re-upload of his game in an actual zip file.
Attachments
Death Zone.ssd.zip
(5.34 KiB) Downloaded 24 times


Return to “software: new games”

Who is online

Users browsing this forum: No registered users and 1 guest