Jump to content

Photo

WIP Frake of Bemer

WIP programming game Atari 800XL Assembly

25 replies to this topic

#1 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • 240 posts

Posted Sun May 1, 2016 9:53 PM

In the April 1984 issue of Compute! is a favorite type-in game called Worm of Bemer.  It was largely written in basic, and is a great example of a basic action game.

 

The author challenged readers to improve upon the game, and I do not know how many times this has already been done, but my son and I are taking the challenge!

 

The author Stephen Fultz said "Some features you might add include a routine to save the high score to disk, adding more players, or having Nerm go to a different room depending on which exit he takes. "

 

Now - I'm telling everyone about the WIP, because I just love hearing all the news about other works in progerss, and I hope everyone enjoys various updates around this game as well.

 

Also, so that this doesn't become a never ending project, the feature list is set in stone.  We are taking Stephens challenge by adding these features:

 

1.  Save high score to disk

2.  Two player mode

3.  Different exits lead to different room

 

PLUS:

 

4.  Rewriting in C/Assembly

5.  2 player mode will be competitive or cooperative

6.  And re-doing the graphics, including new welcome screen and animated snakes.

 

There is always the possibility that the game never finishes, but I have a good feeling about this one....   be setting out the goals, in public no less, I will not let feature creep cause this to never finish....lol

 

This weeks task, is to re-do the Welcome screen.

 

Here is the original  

 

WelcomeOriginal
 
One thing we could do is change the fonts only - and leave it at that, here is a new font:
 
Dima is reworking the font

 

And lastly, we could try to put an image on the screen - or do that and the fonts also, here is a mockup of placing an image:

 

Welcome New
 
 

 

 



#2 Rybags OFFLINE  

Rybags

    Gridrunner

  • 15,990 posts
  • Location:Australia

Posted Sun May 1, 2016 10:23 PM

Is there pics or video of the gameplay?  Can't say I've seen this one before.



#3 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 4,199 posts
  • Location:Denmark

Posted Sun May 1, 2016 10:53 PM

Is there pics or video of the gameplay?  Can't say I've seen this one before.

 

 



#4 Bunsen OFFLINE  

Bunsen

    Dragonstomper

  • 874 posts
  • Location:Dithmarschen/ Germany

Posted Sun May 1, 2016 11:16 PM

Nice project! Go on! :-)

#5 Rybags OFFLINE  

Rybags

    Gridrunner

  • 15,990 posts
  • Location:Australia

Posted Mon May 2, 2016 12:42 AM

Similar game to Millipedes http://www.atarimani...edes_13847.html

 

I created the concept of this game.  Mixture of normal, poison, bonus mushrooms.  The object is to grab all the bonus objects to end the level, the good objects make you grow longer  but while doing that the poison ones which cause you to shorten become more numerous and block your progress.



#6 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • Topic Starter
  • 240 posts

Posted Mon May 2, 2016 11:36 AM

I took a look at Millipedes. I think Nerm of Bemer and Millipedes are similar... In that they are classic snake games and run speedily in basic.

I like the colorful millipede. In Nerm, the worm has to return home. In the original that really just meant completing the levels. But in a game where doors actually lead somewhere, it implies finding the home.

Although minor conceptual differences, the main fun for me will be remaking the look. I will be going for animated snake body and head, colorful lands to explore and I'm thinking of animated mice.... But I can scope creep so maybe no animated mice, but I have a top screen animation...

The main fun is can it look elegant and ppl say, hey that does look good.... Of course I am cheating and not limited to the speed of basic

#7 Shawn Jefferson OFFLINE  

Shawn Jefferson

    Stargunner

  • 1,987 posts
  • Location:Victoria, Canada

Posted Mon May 2, 2016 9:29 PM

Similar to the commercial game Guess What's Coming to Dinner as well.



#8 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • Topic Starter
  • 240 posts

Posted Mon May 2, 2016 10:07 PM

This is turning into a fascinating study of Atari 800 snake games!   Thanks for that share, looks like a fun game.

 

You know, it's a shame my mac is at Apple being repaired.  I did set up my Windows laptop today, so I can compile again, but I might as well face it, I just lost a day....

 

oh well, no matter.  I may just see if I can get a list of all the snake games....maybe that'll be my area of expertise, lol :)



#9 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • Topic Starter
  • 240 posts

Posted Mon May 2, 2016 10:12 PM

 

Here is Atalan the snake.   My first try at animation was going to be 1/2 character shifts.....not full character as was done in Nerm of Bemer or Atalan.

But still the snake will only actually glide along full character ruts, so to speak.

 

But now I'm thinking if I want to do the best snake game, i need completely smooth animation.  The snake animation has to be top notch, to stand out.



#10 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • Topic Starter
  • 240 posts

Posted Mon May 2, 2016 10:39 PM

 

I like Nibbler, not exactly the same game, but nice stuff.



#11 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • Topic Starter
  • 240 posts

Posted Sat May 14, 2016 11:56 PM

 

I've written it about 90% in Assembly so far.

 

Here are some frustrating issues:
 

1.  The linker config is not 'mastered', I have a setup that works.  But I do not understand why I can't configure memory as others have done - blows up when I try it.

2.  IOCB routines are not mastered.  The main issue with this, is that if I turn on an IOCB channel at the beginning, my first screen goes to graphics 0.  Makes no sense.  So I have a new 'first screen' that is a blank screen that is taken away immediately and replaced with the welcome screen.  I hate silly hacks like this - I need to figure out why I can't set it up - but, I have to put it aside for a bit.

3.  Atari800MacX shows the colors I wanted (green), but Altirra has a blue top.  Hmmm, wonder how it looks on a real Atari?   I suspect we all know the answer.  

4.  Sound isn't exactly the same.  Someone can tell me if I'm wrong, but i think it's because in basic bumping up two sound statements together, actually has a delay, one runs - then the second one.  It isn't immediate, it's enough of a delay the ear picks up on it.  I may just live with sound being different on this version.  So 'no changes', on the first version, really means 'made it worse'? LOL...here is a version, only slightly worse - in assembler. What a sales pitch.

 

But, anyway, then I'll eventually have Frake...

 

To the good news -  Eclipse works beautifully. I hit the little button, compiles and runs.  That makes coding so much faster.

 

My son is doing room design, and he's got some rooms done.  He also did the snakes.   The original splash screen idea, I'm no longer favoring it, and will probably have an animated splash.


Edited by Dmitry, Sun May 15, 2016 12:05 AM.


#12 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • Topic Starter
  • 240 posts

Posted Sun May 15, 2016 12:16 AM

p.s. if it wasn't clear, I'm doing this in 2 steps

 

1.  Recreate "Nerm of Bemer" - the idea here, is no changes.  But it will be in Assembly.  That's what today's video is showing, progress towards that intermediate goal.

 

2.  Create "Frake of Bemer" - which uses the Assembly/Nerm code base, but has 1.  animated welcome screen, 2. updated fonts, 3. more responsive controls, 4. two player option, 5. saving of high scores, 6.  Fine movement/animated snake, and 7. meaningful doors, i.e. you really do explore Bemer in search of Frake's home.



#13 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • Topic Starter
  • 240 posts

Posted Sun May 15, 2016 7:59 PM

https://youtu.be/MYoELhlgeik

 

Now, I've re-organized the code so that I use no c includes at all.   Everything is currently using only assembler or atari os calls.

But IOCB stuff is where I've introduced bugs, you can see the inverted characters to the left.

 

In fact there are now several bugs.   First screen goes to graphics 0.  To circumvent that, I have a hidden first screen.  The welcome screen is actually the 2nd screen in the app.

Drawing the borders - a single border character gets zero'd out, once I call the routine to draw top area.  There is no reason whatsoever for that to happen.

You can see in the video there are inverted characters on the left, roughly tracking the snakes vertical position.

And, every once in a while some random character pops into view on drawing the snake head.

 

All these glitches were introduced in using IOCB.  However, I'll live with them for now.  When I do the rewrite for Frake, I simply won't use IOCB...so the bugs will disappear.



#14 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • Topic Starter
  • 240 posts

Posted Mon May 16, 2016 10:49 PM

 

Snake can be any length, in video playing with 240 length.

The dashboard has an active lives indicator now.  Actually scoring too, I just haven't put anything to score on, just yet.

 

This would go fast, except I'm constantly updating the code base and tools, so that 'eventually' it will go really fast.

 

But let's face it, assembler is a little tedious.   

 

added "oops" screen for death, although not respecting the color choices for level yet....but you'll have to trust me it works, the video doesn't show it above - that's a problem with the video recording, not the game.

 

added the sound for movement.  It sounds vaguely like the original, but as before, I plug in the same numbers, get different results.  Still can't figure out why Altirra won't give me any love - the game looks fine in Atari800MacX....I will have to try on a real atari eventually.


Edited by Dmitry, Mon May 16, 2016 10:51 PM.


#15 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • Topic Starter
  • 240 posts

Posted Thu May 19, 2016 7:57 PM

Still very much in progress.  It's 90% written in assembler, I thought that was supposed to be fast, why can't I get any speed out of it?!??!

Attached Files



#16 Stephen OFFLINE  

Stephen

    Quadrunner

  • 7,457 posts
  • A8 Gear Head
  • Location:No longer in Crakron, Ohio

Posted Thu May 19, 2016 8:16 PM

Still very much in progress.  It's 90% written in assembler, I thought that was supposed to be fast, why can't I get any speed out of it?!??!

Are you using built in OS routines for get/put char or screen output?  These are known to be slow.



#17 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • Topic Starter
  • 240 posts

Posted Thu May 19, 2016 8:22 PM

Not any more...I got rid of them because they were buggy.  I was having all kinds of weird things occur.

 

Now, this game is still slightly buggy - even what I've wrote so far, because I only very quickly put in a routine for advancing the snake, I'll have to rewrite that.  And it becomes obvious that my attempt at random numbers is a fail.  The worms have an obvious pattern.  I thought I was seeding it based on user input.  Like the user would have to start the game at different times or strike a mushroom at different times - but somehow the worms form a very clear, and quickly rotating pattern.  Maybe I'll make that 16-bit for at least a larger run before repetition.



#18 MaPa OFFLINE  

MaPa

    Dragonstomper

  • 960 posts
  • Location:Czech Republic

Posted Fri May 20, 2016 12:17 AM

Still very much in progress.  It's 90% written in assembler, I thought that was supposed to be fast, why can't I get any speed out of it?!??!

What speed do you want? As I see it.. most of the time (like 75%) it just waits in delay loop. Btw. the control response is really bad.



#19 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • Topic Starter
  • 240 posts

Posted Fri May 20, 2016 5:47 AM

Agreed, MaPa. As did the original Nerm. However, although I am doing this in two steps, the first being reimplement original Nerm, then 2nd step, rewrite... I am going to give even the Nerm version new controls...probably by next build

Btw it doesn't delay after 5 mushrooms on same life

#20 MaPa OFFLINE  

MaPa

    Dragonstomper

  • 960 posts
  • Location:Czech Republic

Posted Fri May 20, 2016 6:02 AM

So where is your problem with the speed? What is slow?



#21 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • Topic Starter
  • 240 posts

Posted Fri May 20, 2016 6:07 AM

Oh ps the original Nerm had simple for next delay loops. Then it polled the joystick on this irregular rhythm. I have already changed delay to be jiffy based and in a precursor to the control change, put stick polling into the vbi. However the responsiveness fix will come when movement responds to those polled changes.... Next build. One tiny improvement today is that jiffy based delays work on accelerated machines, whereas the original Nerm would just run fast

#22 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • Topic Starter
  • 240 posts

Posted Fri May 20, 2016 6:29 AM

Oh just saw your question. Well just sharing... But my experience is a little surprising to me. First I put in iocb routines and then pull them. Then I put in math based locate, then change to table lookup. Then somewhere I may pass a value in memory but then realize oh you can just leave that value on the accumulator. So you do all this, and then it's still at this level of speed...plz. Just go faster already

#23 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • Topic Starter
  • 240 posts

Posted Fri May 20, 2016 6:29 AM

Oh just saw your question. Well just sharing... But my experience is a little surprising to me. First I put in iocb routines and then pull them. Then I put in math based locate, then change to table lookup. Then somewhere I may pass a value in memory but then realize oh you can just leave that value on the accumulator. So you do all this, and then it's still at this level of speed...plz. Just go faster already

#24 devwebcl OFFLINE  

devwebcl

    Stargunner

  • 1,237 posts
  • Location:Chile

Posted Fri May 20, 2016 12:02 PM

This was my first favorite basic games...

That Compute! issue has a drawing in its cover

http://manillismo.bl...m-of-bemer.html


Edited by devwebcl, Fri May 20, 2016 12:02 PM.


#25 Dmitry OFFLINE  

Dmitry

    Chopper Commander

  • Topic Starter
  • 240 posts

Posted Fri May 20, 2016 3:59 PM

Yeah man, It's a classic, and I am having fun with it but I will also do it justice. When I finish with "Nerm" it will be overall faster, more responsive, able to work without a basic cart, be dos launchable, and keep proper timing on accelerated machines. But still the same game...."Frake" will then add pm graphics, char set animations, display list changes, new dashboard and fonts....big changes this weekend :). Lol... I'm obsessed





Also tagged with one or more of these keywords: WIP, programming, game, Atari, 800XL, Assembly

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users