Page 1 of 2

Escape 2020

Posted: Sun Dec 27, 2020 2:39 pm
by AndyH
Attempting to make an unexpanded game for the Vic 20.

The hard part for me is reducing my scope to one or two features. I'm easily distracted by additional ideas I can add to a game as I make it, so to help keep that in check I'm taking the idea of an existing game as a template, Mastertronic's R.I.P., and adding my own twist to it. In common will be a maze, shooting and collecting, but hope to make the gameplay feel fairer while still being challenging. Also have a couple of small tricks up my sleeve.

Having a much clearer understanding of the Vic 20, and the improvements in TRSE over the last year, I hope I can achieve an unexpanded game that is fun. :)

Here is a W.I.P. of my take on R.I.P.
escape2020-1.gif
Click to play GIF

There will be no annoying tune on repeat ;)

Re: Escape 2020

Posted: Sun Dec 27, 2020 3:24 pm
by ral-clan
I like the look of your custom character graphics.

Re: Escape 2020

Posted: Sun Dec 27, 2020 4:00 pm
by kokkiklhs
AndyH wrote: Sun Dec 27, 2020 2:39 pm Here is a W.I.P. of my take on R.I.P.
Is this "work in peace" and "rest in progress"? :mrgreen:
Hey, this little moving lad looks very cute (is it an animal, little monster, goblin or what? Nice, anyway) and the graphics around the screens are lovely!
if you manage to finally squeeze all of your ideas into an unexpanded VIC's RAM limit the result will be a splendid game!!!
PLEASE try to keep it unexpanded, this is the real deal with the VIC!!!
8)

Re: Escape 2020

Posted: Sun Dec 27, 2020 4:41 pm
by Mike
kokkiklhs wrote:PLEASE try to keep it unexpanded, this is the real deal with the VIC!!!
I have a somewhat dedicated opinion regarding this point of view:
in another thread, jdxpolygon wrote:For me it's the challenge of what can be produced from the original spec.
also in that other thread, Mike wrote:Nothing wrong with that. But for me, that restriction makes a certain class of programs, if not downright impossible, but at least unfeasible to implement on the VIC-20: namely those which use most of the internal RAM to hold 'live' graphics data. [...]
(see here) ... ;)

That being said - Andy, if you re-implement R.I.P. and Rockman on the unexpanded VIC-20, thumbs up. Especially if you save mankind from the ear-bleeding sound of the originals. :mrgreen:

Cheers,

Michael

Re: Escape 2020

Posted: Sun Dec 27, 2020 6:06 pm
by AndyH
kokkiklhs wrote: Sun Dec 27, 2020 4:00 pm Hey, this little moving lad looks very cute (is it an animal, little monster, goblin or what?
Yes, one of those :)
kokkiklhs wrote: Sun Dec 27, 2020 4:00 pm Nice, anyway) and the graphics around the screens are lovely!
if you manage to finally squeeze all of your ideas into an unexpanded VIC's RAM limit the result will be a splendid game!!!
PLEASE try to keep it unexpanded, this is the real deal with the VIC!!!
8)
I've set myself a challenge to try to make an unexpanded game, to see if I can do it with Turbo Rascal (my tool of choice).

Not that it is easy with an assembler or any other tool, but even with Turbo Rascal's ASM optmiser it is not possible to make code quite as tight as hand written assembler. It has come on leaps and bounds in the last couple of years and produces tiny code now, thanks to Nicolaas' hard work on it. Also, I've become accustomed to ways of getting more out of it and monitor the assembler produced so I can adjust my strategy as I go along. So far I am optimistic that I will succeed.

With the room drawing routine, all the levels and space for the object placement and the player moving through the rooms, I still have a lot of room (relatively) left for the enemies, the shooting and the game screens (start, game over, game won). Here's how memory is looking at the moment:
memory 2020-12-27 231123.png
Mike wrote: I have a somewhat dedicated opinion regarding this point of view
Yes, my priority most of the time is to focus on the game I want to make and the only requirement I'm really concerned about is that it will play on a real Vic. With modern memory expansions most people will be able to play. Not to say I don't try to be efficient, as I do spend a lot of time to try to get the best speed v size trade off, and I've learnt so much from all of you, either with direct help or reading past topics. I would have relished a resource like this back in the 80's. This game is more an exercise of "can I do it?", followed by making it as fun as possible within those constraints ... and I can save quite a bit of memory omitting those tunes ;)

I'm amazed by the quality of unexpanded games in recent times. In the 80's I had to live just a datasette or cartridges, and didn't have a memory expansion for quite some time due to the cost. Was amazing to be able to play games like Jetpac and Perils of Willy once I did though. Rockman is one of my favourite unexpanded games (I made a Windows version many years ago) so maybe I'll try my hand at that also.

Re: Escape 2020

Posted: Mon Dec 28, 2020 9:23 am
by chysn
Hey, this looks awesome!

I'm looking forward to seeing how TRSE works for small games. I always assumed that runtime overhead would far exceed 3K, so this is cool.

Re: Escape 2020

Posted: Mon Dec 28, 2020 11:22 am
by AndyH
chysn wrote: Mon Dec 28, 2020 9:23 am Hey, this looks awesome!

I'm looking forward to seeing how TRSE works for small games. I always assumed that runtime overhead would far exceed 3K, so this is cool.
At its most basic there is no overhead. If you were to use the Vic Bitmap Mode functionality, it requires most of the regular unexpanded RAM for the bitmap. Commands/ routines only insert code for what you use, so no library overhead as such.

It's easier to eat up bytes with TRSE, using higher level constructs but as it outputs ASM and has a wonderful memory map analyser, it is not difficult to stay on top of it and learn how to do things better suited to smaller ASM.

The optimiser is really good, looks for lots of patterns, but obviously is not able to make assumptions or change the approach to get a result as you could if writing the ASM by hand.

I may rewrite some sections in ASM to cut down the size (if needed). Left to do are the enemies, firing, picking up the items, some special conditions and sound effects. Free memory is getting smaller and smaller :-o
memory 2020-12-28.png

Re: Escape 2020

Posted: Wed Dec 30, 2020 3:34 pm
by AndyH
Finished. Every byte between 1000 and 1fff has something in it. Put in some basic sound effects with the last few bytes. No room for an annoying tune, sorry, but a fully playable game.

As I suspected, I found I had started to allow scope creep. Little things, really small new features which was interesting as it was only as the space remaining diminished that I noticed I was doing it. That's not a bad thing, IMO, just shows how games benefit from an iterative approach of tweaking your designs and plans as the game starts to reveal itself.

I had to remove most of them to keep the core features and finish within the constraints. Painful to do and the game still stands up, but just in a slightly smaller way.

Re: Escape 2020

Posted: Wed Dec 30, 2020 4:01 pm
by kokkiklhs
AndyH wrote: Wed Dec 30, 2020 3:34 pm Finished. Every byte between 1000 and 1fff has something in it. Put in some basic sound effects with the last few bytes. No room for an annoying tune, sorry, but a fully playable game.

As I suspected, I found I had started to allow scope creep. Little things, really small new features which was interesting as it was only as the space remaining diminished that I noticed I was doing it. That's not a bad thing, IMO, just shows how games benefit from an iterative approach of tweaking your designs and plans as the game starts to reveal itself.

I had to remove most of them to keep the core features and finish within the constraints. Painful to do and the game still stands up, but just in a slightly smaller way.
Congrats!!! If it is as good as "Cheesy Trials", at least in terms of playability and fun, I will vote you for programmer of the year!!
8)

Re: Escape 2020

Posted: Wed Dec 30, 2020 4:05 pm
by AndyH
Best temper your expectations. :) I thinks it's fun, but it is simple and just no room for extra sparkle.

Re: Escape 2020

Posted: Wed Dec 30, 2020 6:09 pm
by AndyH
escape2020-4.gif
Click to play GIF

Re: Escape 2020

Posted: Wed Dec 30, 2020 9:33 pm
by mathom
Looks great! Love the visuals and especially the player character.

...mathom...

Re: Escape 2020

Posted: Thu Dec 31, 2020 2:35 am
by orion70
Just another miracle in 3K RAM... Thanks AndyH :D

Re: Escape 2020

Posted: Thu Dec 31, 2020 8:11 pm
by AndyH
Finally did it. Was hoping to get it released before the end of 2020, but had problems producing the tape loader. I guess that is 2020.

It's out now, can download from Itch.io

Re: Escape 2020

Posted: Thu Dec 31, 2020 9:37 pm
by chysn
Happy New Year!

Huh. A .tap file. I actually have no idea how those work.

Oh, got it! In VICE, anyway. This is a fun game!