Sunday, 7 October 2018

RetroChallenge 2018/09: Final fixes on Atari Adventure in BASIC

Made a few further last minute (after contest) fixes. There was a bug in the Bat routine so that it wouldn't necessarily steal an item from a room that it found you in. Left out a NEXT in the item search subroutine so it would only find the sword (item 0) if you dropped it in the room with the Bat flying at you. While I was at it, I added a new death scene for Dragons, which I have been thinking about for a while. A dead dragon is now displayed upside down when you stab successfully. Here's what it looks like now. Skip to the end, if you just want to see the death scene:


Here is the link to the RetroChallenge to see the results of this year's challenge:
http://www.retrochallenge.org/p/entrants-list-201809.html

P.S.

Fixed a problem with moving objects. There are two unused rooms, 21 and 22. I send anything you are carrying, or dragons that are killed, to room 21. You could think of it as the Valhalla room. However, there is another room that does not appear, room 22. When randomly moving objects around the program should avoid sending anything to room 21 (Valhalla), room 5 (the secret room) and room 22. However, I hadn't included code to avoid sending things to room 22, so occasionally items and dragons would go missing, at least for a time, from the accessible spaces of the map.

In making these changes, I also changed the moving object routine to avoid moving objects placed in the micro dot room and the room where the chalice is initially placed. This means that both of these items stay put and don't get moved around. But now, once they are moved from their starting rooms, they are able to be moved by the bat like any other object. In other words, these objects themselves used to be off limits for moving, but now it's just the rooms they are placed in that don't allow movement of items from them.

I had also forgotten to prevent dragons from being selected when the bat was randomly moving things, so they could be brought back to life after being sent to Valhalla (room 21). Now items in room 21 are not allowed to be selected for random moving. This includes dead dragons, but it also includes the item being carried, so I was actually able to simplify the selection routine. It just excludes items in room 21, and things in the micro dot room and chalice room.

Finally, I also fixed the map in the White Castle. Now you have to pay close attention to the map in order to find a way into the hidden section... and out again!

Monday, 1 October 2018

RetroChallenge 2018/09: Saved just before the Bell by Solar Penguin!

A big thank you to the Solar Penguin for noticing a spelling mistake on the final screen when you win (take a look at the end of the video in my last post). I fixed it and found a few more speedups. Also tweaked the game levels and fixed the bat movement timer so it didn't reset every time you moved from screen to screen. Now the bat's activities should occur on a more regular basis. Here's a new playthrough, in which the chalice turned out to be fairly easy to secure. But I still manage to get killed a few times.


Hope this fix makes it into the RetroChallenge. I also added a REMark to the code with a shout-out in honour of the contest (you can see it at the beginning of the video). Thanks to all for sharing in the fun!

Wednesday, 26 September 2018

RetroChallenge 2018: Finally Done?

End Credits
Made a few final bug fixes that quash minor non-critical visual quirks. The dragons didn't initialize properly if they showed up on the first screen at the Gold Castle. Tried to deal with the possibilities of "spawn killing" when you enter a room and a dragon is right on top of you. Now placement is confined to the centre area.  This should leave a little space for you to enter rooms, and if you're quick, get out or move away before the dragon or bat can get you. Replaced all two character string variables with single character variable names. Anything to help a little with speed.

Think the game is winding down to completion.  Can't think of any major changes, besides adding some better sound or music. Still might put an upside-down dead dragon graphic in, but I'm not feeling motivated to create such flourishes. Perhaps, when my son Charlie is home for Canadian Thanksgiving he'll be able to give me some feedback for improvements. But the contest will be finished by then. So I think this might be it for posting.

Tuesday, 25 September 2018

RetroChallenge 2018: That Pesky Bat

The Bat Swoops In!
Noticed another quirk in game play that needed ironing out. If you entered a room with the bat in it and dropped the item you were carrying, the bat would fly to you, notice you weren't carrying anything, exit the screen and choose a random item from anywhere in the dungeon to move.  This made it too easy to avoid the bat stealing important stuff from you.

Now you can't just drop an item to avoid the bat stealing it from you. The bat will always steal an item from the room you're in, if it catches you and if one is available.  If not, then it will pick a random item from somewhere random in the dungeon and move that.

Also, I sped up the whole routine of the bat moving things. This means that when you're moving around and the bat is moving things off screen, the pause in your movement is much less noticeable (I hope).  Also I tweaked the levels so there is more delay between mouth opening and closing at the lowest level than at the highest.  There was too little difference between level 1 and level 3, at least when it came to killing dragons (i.e. striking when their mouths are closed).  Also, I increased the contrast between the three types of dragon, so purple (Barney) is more clearly less threatening than the blue dragon (Blue Streak).

Made it so items and dragons can appear in the Yellow Castle room. For some reason I had considered this room out of bounds for items and dragons being placed there. Can't recall my thinking, but it will help speed things a little not to exclude it.  This change also allowed me to tweak the routine that places the sword at the beginning of the game. Now, on levels 1 and 2, the sword will always show up in one of the rooms near your starting position at the Yellow Castle or by the castle itself.  But on level 3, there is a chance the sword will be hidden in one of the big rooms near the White Castle, which will make for a little more challenge in getting armed.

I'll put the new version up in the regular places soon. Until then it's on Github. ADVENTR37.TXT

https://github.com/jggames/trs80mc10/tree/master/quicktype/Dungeon/Adventure

Sunday, 23 September 2018

RetroChallenge 2018/09: Reorganize My Games Pages


Last month my son was home from university. He's pretty good at Javascript, so I got him to help me download Mike Tines Javascript MC-10 emulator from Github and get it up and running from my own file space at the university where I work. He was able to figure out what needed to be tweaked in the code to get it happily running from another net space. I then set to modifying the code to change some modifications Mike had made to the standard MC-10 font. Lots of folks complain about the font. It's pretty quirky, with its square O and narrow 0. Mike didn't like the original G either. But I'm a bit of a purist and I have used some of the quirks to my advantage in games. The square O makes a nice box for example, for use in Sokoban. So I switched the byte codes back to recreate the original font.

Then I set about reorganizing the web page launcher for the code to contain menu listings of my programs. I have over 300 programs now for the MC-10 so I had to figure out a way to break the list into categories. I eventually settled on 4 categories: (1) Classic Basic Games, (2) My Own Original Programs, (3) My Text Adventure Ports (and 2 original adventures), and (4) All My Other Ports.  This meant that each menu could be a more reasonable length. I started editing my web pages so that if you clicked on a picture of the game it will take you to the appropriate Javascript page that will contain a menu listing to the program. I haven't fully completed the process, but I have got the process mostly completed for 2 of my web pages:

My main software Page:

My Text Adventures Page:

My Original Games and Program Ports Page is partially done (not fully checked yet):

So for example if you want to play my recent Atari Adventure game, it is listed at the top of the menu as "Adventure" here:
Just click on the "- Select Cassette -" menu, select "Adventure", and then type RUN and hit ENTER on the main MC-10 screen of the emulator.

Thanks Charlie for your help. Thanks Mike for putting your code up on Github and for letting me host it on my own file space. It's a useful resource for the MC-10 hobby community. I am hoping to integrate the Classic Game page into a course I am working on for the history and philosophy of computing.  Charlie might even trying modifying the code further to autolaunch games directly from a html link.

Thursday, 20 September 2018

RetroChallenge 2018/09: Fine Tuning Atari Adventure in BASIC


This demo shows a lucky placement of the chalice in the outer part of the White Castle. Only one dragon death. I have decided to keep the limit on lives to 3 respawns before you "fail in you quest." Made a few other final minor fixes and dummy proofing. Can't drop items in doorways or the very edges of rooms. This prevents you from overwriting them when you enter a room. It also prevents misplacement of objects when they wrap around to the other side of the screen. I could get rid of this visual quirk, but I would rather have the speed.

There is some further complexity to the hoops you must jump through to get the micro dot. Specifically a time limit on how long the hole made by your bridge will work/stay open. If you are not quick and don't time your movements right (you'll have to notice the rhythm of the bat moving stuff in the background. It is possible the wall you have bridged with the H can be redrawn trapping you, if you're not careful. Pretty tricky on level 3 when the time limit (i.e. time span between bat moving things in the background) is shortest. Tricky, but possible (I've tested it). It will be a rare breed who can figure out how to obtain the micro dot, that's for sure.

Project is pretty much done. Fun Retrochallenge. Thanks John!

Wednesday, 19 September 2018

RetroChallenge 2018/09: Adventure Lose Routine


So the more I thought about it, the more I realized that the game really did need a way to lose.  So I modified it so that you have three respawns from being eaten, but then failure. I also found some more efficiencies in the main avatar movement routine, so the motion is just that little bit faster and smoother.  Hope I haven't introduced any novel bugs.  It's getting tedious to play to test every minor mod--the maps are getting pretty familiar and the novelty of exploration has worn off. Still, I need to do some more testing to fully determine if three respawns is the right number, or perhaps it should be that on the third strike you're out (i.e. just two respawns or three "lives"--there's something existential about reckoning "lives").

Also, I fixed a bug in the bat routine that was preventing it from disappearing after it swoops in and hits you.

I've posted the new version to my VMC10 distro, Google files directory, and Github.