Headcase Hotel v1.13 released (bugfix)

Post Reply
User avatar
sa_scott
Posts: 420
Joined: Wed Feb 09, 2011 11:34 pm
Location: Witley, Surrey, UK
Contact:

Headcase Hotel v1.13 released (bugfix)

Post by sa_scott »

Hi all,

I've released v1.13 of Headcase Hotel onto my website and Github.

This version addresses several bugs I've been aware of for a while, and fixes some that I wasn't aware of until recently (v1.12 was released earlier, but it had some broken code):
  • Strobing effect reduced if you collect the lightning bolt bonus item.
  • Death routine refined a bit. Flashing of player character improved when repositioned so you know where you've been replaced.
  • The list of items is cleared properly, if you end up collecting the down level 'bonus' item and go down a level.
  • High score table entry shuffling fixed. I got the highest score, and it shoved me into second place, which just wasn't on!
  • Refined some level layouts, and amended some choices of colour removed some enforced delays in the game loop (apparently due to the Risc PC emulation being too fast?), improving game speed.
Some lesser important amends:
  • The sprite generator had some dodgy tokenisation which I only spotted on Github recently. You don't need it to play the game, but for browsing purposes on Github, it looked poor, so has been addressed.
  • Some excessive use of PRINTTABs, CHR$ etc, has been changed to use VDU codes instead.
I had thought of removing the strobing effect entirely, but decided to keep it, but curtail it to being onscreen for just a few seconds, and when finished, reset the background colour. Not one of my wisest design decisions, but hopefully this makes the game easier on the eyes.

I don't know how games get added/updated on the BBC Micro games archive, but I guess eventually this release, along with my others, will be included there in the future.

Do let me know if there are any issues with the game, otherwise I hope this version offers a bit more enjoyment than before.

Play via jsBeeb - https://bbc.godbolt.org/?disc=https://w ... d&autoboot
Download via website - https://www.sassquad.net/riscos#headcase
Github - https://github.com/sassquad/headcasehotel
--
Stephen Scott, Digital Media Muckerupper
Games: Androidz Redux, Headcase Hotel, Polymer Picker
www.sassquad.net
nicolagiacobbe
Posts: 215
Joined: Tue Jul 03, 2007 10:40 am
Location: italy
Contact:

Re: Headcase Hotel v1.13 released (bugfix)

Post by nicolagiacobbe »

Thanks sa_scott.
Any hope of publishing a journal of the development?
User avatar
sa_scott
Posts: 420
Joined: Wed Feb 09, 2011 11:34 pm
Location: Witley, Surrey, UK
Contact:

Re: Headcase Hotel v1.13 released (bugfix)

Post by sa_scott »

Thanks for replying.

It's somewhat buried in the webpage, but I created a PDF booklet around the time I made the game (1995), which features a development diary.

But, oh god, it's awful. There's a lot of cringe in some of the text. I've renamed the pdf, as it's just... bad.

I've instead, extracted the development diary (with some amends or omissions, to hide private information), as follows. I may add this as a blogpost in due course.

Programming Diary

The following text is a diary of events concerning the development of the game, from its discovery in April ... It is mostly un‐edited, and is written in a different tense, but I hope you enjoy reading it anyway. It starts about a week after I discovered it. There are references to two games by Mike
Goldberg called Five Alive and Dickie Brickie, which were published in the June 1989 and March 1990 issues of The Micro User magazine respectively, plus my game Androidz.

19th April, 1995
I have hit a problem concerning the sprite collision routine, as used by Five Alive. It’s routine pokes the screen memory, and magic numbers appear which are unique to each sprite. But some of my sprites do not work! I have found, however that this screen poking has something to do with colour, because only my sprites which actually fill most of their spaces, actually work. If there is too much black in the sprite, the magic number comes up as 0, which is the same as a blank space. Hence, this is useless for collision detection.

I will, therefore, have to find another way of detecting sprites. One probability is using the memory map array method I used in Androidz. The tricky part is converting the screen location address into normal x,y, coordinates. The solution is in the Five Alive listing, where normal x,y coordinates are picked at random for placing objects, before being converted to a memory location. In theory, all I have to do is reverse the operation. The disadvantage to this, is that it uses up memory, and makes the programming long‐winded. But this seems like bliss, compared to having to redraw the sprites.

21st April, 1995
In just two days, I have managed to sort out the main problems of the game. I now have multi‐frame animation for the man character, and the collision detection routines work. I have not added the code for collecting the objects yet, and this is probably the only remaining obstacle.
Once this is sorted, I only need to tidy up the game, and add the finishing touches. At the moment, the projected date of completion is April 30th.

23rd April, 1995
After a break of two days, I returned to redefine some of the monster sprites. Artistic talent can change a lot in three years, and the older sprites left a lot to be desired. They are now redefined and look a lot better, for monsters!

I must now start college, and concentrate on my final major project. This, of course, will affect the final date of completion. I won’t set a firm date, but I am looking at finishing the game before I finish college, which will be June 30th. I will show off my efforts to college, and see what they
think. Its about time their Beebs were put to good use!

9th May, 1995
Its certainly been a while since I last wrote. I have been concerned with college work of late. I did, however, find time to redesign some of the game sprites. Some of them looked a little shabby.

I have now hit the thorny problem of collecting objects. I shall need to follow the Dickie Brickie code quite carefully. I must also cope with the problem of reprinting the objects when the monsters walk over them! This action was avoided in Dickie Brickie, possibly due to speed
problems. If this is the case, then I am in trouble!

Some of the collectable sprites I have redesigned, are useless for detection, because they don’t use the top left segment, which is used for collision detection. The result is that you can walk through, or at least half through them! This cannot do. It will be interesting what happens, by the
time I write my next entry.

15th May, 1995
Another week has passed by extremely quickly. I have to get this game finished by the end of June. This is because, along with Androidz, Headcase Hotel will be proudly displayed at my college end of year show. The fact that I am the only known games programmer on the course
will add that extra special something to my display of work.

I have now redefined the collectable sprites, so that they can now be detected by yourself. I have yet to sort out reprinting the objects when they are either collected, or deleted by the monsters.

I must also start work on some presentation screens, plus get the hang of Speech! I want my title to have some speech to set the scene. I also want some extra collectable objects, such as bonus lives or points etc.

Basically, I have a very long way to go, with only six weeks left until the show. Yike!

24th May, 1995
... I completed the main game code. The objects can now be collected and repositioned. All I need to add are the possible bonus symbols. These will be easier to handle, because they don’t need repositioning. Once they’re gone, they’re gone!

I came across an excellent mode 5 art package on one of my ‘Fast Access’ discs. Called Micro Draw, it has some very good features. This is the perfect program for my presentation screens.

6th June, 1995
Its been two weeks since my last entry. The deadline is only a few weeks away. But I have completed the loading screen, and very nice it is too! I am also working on some carpet sprites, to liven up the backgrounds. I am also looking at the possibility of organically designed levels.
Levels would be assembled using segments. These segments would be picked at random and printed side by side, producing a new level every time you played. I wrote a demo program to show the principle. Unfortunately, you end up with a level that in places is totally blocked off. I can either be very careful with my segment designs, or use a system of natural selection, where certain segments are far more important than others.

Either way it is a very interesting idea. I am trying to get a presentable version finished, because a friend who works where I work, wants to have a copy to look at over the week. I’m well on my way there.

12th June, 1995
Silly fool forgot the disc! I got worked up for nothing, because of his brain shutdown. Still, I have definitely completed the sprites. I scrapped the carpet idea. It would slow down the game, redrawing the carpet after each movement!

I tried out the random level idea, but it wasn’t successful. Some segments need more priority over others. Otherwise, you get inaccessible levels! It’s still an interesting idea, but I won’t use it for this particular game.

Headcase Hotel is now at version 0.2. Version 0.1 was the first playable version, with titles and game over bits and bobs. Basically the game shell was complete. Version 0.2 has the proper sprites, and so graphically, this is the full version. I am now going to add some VDU definitions for the bonus blocks. There is still the prospect of sound and music to look forward to, plus some more screens and presentation to sort out. I’ve only 2 weeks left to complete the game!

16th June, 1995
Yesterday I had a day off college, so I spent it on the game. The main task was defining some bonus icons. I scrapped using VDU definitions ‐ they looked too dull compared with the multi‐coloured sprites. I made ten icons, some of which were based unashamedly on the Dickie Brickie game with which I used the code. My favourite is the lightning strike icon, which cycles the background colour of the level, making a groovy, psychedelic effect. I programmed the blocks in, and now I have an almost complete game. I still want to add some sort of bonus stage though.

I really need to think of an end sequence for the game too. I also think I need to add extra levels ‐ ten seems a bit limp. I want to do another ten, but is there room?

Basically, although I have got the main code sorted out, I also need to do a high score table, plus the presentation, and of course the sound.

With less than two weeks to go, this will be an interesting time in the development of the game. I can at least move my game up to version 0.3

14th and 18th August, 1995
Two months is a long time to miss out in a diary. I managed to get the game ready for the show, and I must say it went down really well, although I wish I added a joystick routine, because some people were really shy of the use of the keyboard. This was despite my admittedly limp efforts to
put tape on the game keys.

During July and August, I rewrote the game, using machine code routines to draw the screen and plot the sprites. There was a point where I thought the collision detection had failed, but it turned out to be a simple case of wrongly named variables in the important routines. This was
now version 1.09.

Version 1.10 would be the first version to appear on the 32‐bit machines.

20th August, 1995
I used my serial‐link transfer program to get the game across onto my Risc PC. Unfortunately, the game itself and the diary text file wouldn’t transfer. So I have spent today retyping them in on the PC. The trouble may be due to the fact that the serial‐link program is from 1988, and is showing signs of creaking. But I use it so rarely, that I find it unjustified to pay for an upgrade I may never use very often.

Having done this, I took a deep breath, and ran the game. I wasn’t surprised to find an error message staring at me in the face. Initially I thought it was just a typing error. But the message was ‘Too many FORs’. I suddenly thought of the restrictions imposed on !65Host regarding certain keywords. Being a software emulator, !65Host cannot cope with overly complex programs. I replaced the FOR loop with a REPEAT...UNTIL loop and managed to get the game running. The trouble was that it was running too fast! Well I do own a Risc PC!

The game was running so fast, certain objects wouldn’t redraw when deleted, either by my character, or the monsters. This would mean some extensive rewriting. The problem with this, is that any time delays I add would slow the game down to an acceptable speed on the Risc PC, but for older and slower machines, it would be slower than the original Beeb version.

21st August, 1995
I added a time delay to the main game loop, so the game runs at a more playable speed. I have also altered the random position functions to procedures, so I could get rid of the GOSUB calls sprinkled about the program. I have also altered the game keys to Z, X, P and L.

The game is now finished, and put up to version 1.11. As far as I know, everything works. And that concludes the diary.
Last edited by sa_scott on Tue Nov 02, 2021 10:55 am, edited 1 time in total.
--
Stephen Scott, Digital Media Muckerupper
Games: Androidz Redux, Headcase Hotel, Polymer Picker
www.sassquad.net
User avatar
lurkio
Posts: 4351
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Headcase Hotel v1.13 released (bugfix)

Post by lurkio »

The loading screen on the .SSD still says "1.12".

:!:
User avatar
sa_scott
Posts: 420
Joined: Wed Feb 09, 2011 11:34 pm
Location: Witley, Surrey, UK
Contact:

Re: Headcase Hotel v1.13 released (bugfix)

Post by sa_scott »

lurkio wrote: Tue Nov 02, 2021 10:42 am The loading screen on the .SSD still says "1.12".

:!:
I seem to have had caching issues with my webspace. I had to delete the files, and re-upload to fix the issue.

I've just refreshed, and it states the correct version now.
--
Stephen Scott, Digital Media Muckerupper
Games: Androidz Redux, Headcase Hotel, Polymer Picker
www.sassquad.net
User avatar
lurkio
Posts: 4351
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Headcase Hotel v1.13 released (bugfix)

Post by lurkio »

sa_scott wrote: Tue Nov 02, 2021 11:57 am
lurkio wrote: Tue Nov 02, 2021 10:42 am The loading screen on the .SSD still says "1.12".
I seem to have had caching issues with my webspace. I had to delete the files, and re-upload to fix the issue. I've just refreshed, and it states the correct version now.
I'm still seeing this:

Screenshot 2021-11-02 at 13.55.04.png

:!:
User avatar
sa_scott
Posts: 420
Joined: Wed Feb 09, 2011 11:34 pm
Location: Witley, Surrey, UK
Contact:

Re: Headcase Hotel v1.13 released (bugfix)

Post by sa_scott »

lurkio wrote: Tue Nov 02, 2021 1:57 pm
sa_scott wrote: Tue Nov 02, 2021 11:57 am
lurkio wrote: Tue Nov 02, 2021 10:42 am The loading screen on the .SSD still says "1.12".
I seem to have had caching issues with my webspace. I had to delete the files, and re-upload to fix the issue. I've just refreshed, and it states the correct version now.
I'm still seeing this:


Screenshot 2021-11-02 at 13.55.04.png


:!:
Oh heavens, I'm so sorry about this. I think 1and1's file upload manager was playing around with me. I ended up using Filezilla to FTP the zipfile. I've tested both the jsbeeb URL *and* downloaded the zipfile. They are *both* definitely the right version.

For the sake of my sanity, can you double check that the version presented is as intended?

(I need to start making better use of Github's and 1and1's automated deployment functionality, to save me from all this hassle)

Thanks in advance!

Stephen
--
Stephen Scott, Digital Media Muckerupper
Games: Androidz Redux, Headcase Hotel, Polymer Picker
www.sassquad.net
Post Reply

Return to “miscellaneous new bbc and electron games”