Jump to content







Photo

Working on Frenzy...

Posted by PacManPlus, 23 January 2010 · 88 views

Been working on Frenzy, and having a hell of a time with the maze, collision with the objects and maze, collision with the shots and maze, etc. It's unfortunately a lot of code, but I think I got past that part:
Attached Image

This demo allows you to run around, shooting away parts of the walls and reflecting off of the solid ones.

I think I may either work on Otto or the Robots next.

Here's the demo bin:

Attached Files






Question... are you going to include some of the frills from the ColecoVision port of the game? The animation in particular was kind of lackluster in the arcade game, but the CV version made the lead character more dynamic, with poses that made him seem like he really meant business.
  • Report
I'm actually trying to base this on the arcade game as much as I can. Never even looked at the ColecoVision version. :thumbsup:

I'm hoping there will only be three restrictions between mine and the arcade game:

1) All of the walls will be the same color (as in the screenshot above), although that color will change from level to level as in the arcade (i.e. the reflective walls will not be white, etc.). I don't believe there is enough CPU time to attempt the 320B color mode needed to do that. Also, I have used all 256 characters in 'character mode'. If I use 320B I will lose half of them.

2) I will have to vertically separate the robots - I can only have 5 robots per zone (but there are 23 zones on the screen - every two 'bubbles' that make up a maze wall vertically is a zone). This is again due to CPU time. I don't think this will be that noticeable though.

3) I'm not sure how much of the speech I will be able to do in this. Once I get closer to completion, I will contact the very talented person who added speech to the 2600 version to see if we can work on this one.

Thanks!
Bob
  • Report
Speech might be possible via a DLI routine. 8 lines @ 15.7kHz = 1.97kHz. The DLI would just need to retrieve a sample from ROM via a ZP pointer and update AUDV.
DLI	STA	DLI_A0
	STY	DLI_Y0
	LDY	DLI_Y1
	LDA	(DLI_PTR),Y
	STA	AUDV0
	INY
	STY	DLI_Y1
	LDY	DLI_Y0
	LDA	DLI_A0
	RTI
During VBLANK you update DLI_PTR to point to the current speech sample and reset DLI_Y1. Just remember if you're using DLI not to STA WSYNC.
  • Report
Thanks, Eric. That sounds very do-able (huh huh... I said... do-able)

In making this, there are two things that I am concerned (read:scared) about - 1) The vertical separation of the robots and how to handle it (you can have up to 25 robots in Frenzy), along with the 'moving one robot per frame' thing. and 2) the animations every 4 mazes (Big Otto, Robot factory, etc.)

Bob
  • Report
To handle vertical separation, first make sure a the start of the level each robot is on a different line. Then limit the robot's vertical motion so it can't pass any other live robots vertically. Move dead robots offscreen. Since you can't have more than 5 per line, divide the robot height by 5 and use that as a vertical buffer between robots.
  • Report
Thanks Eric:

I actually know the theory of how it should be handled, but I was trying to figure out programatically what I should do...

But I finally had a breakthrough with how to handle the robots (I only have 6 robots per zone but you can have up to 22 per room). I have a variable, indexed by object number that indicates the 'robot slot' (1-6) the object takes up in each DL. I foresee the routine that moves the robots keeping track of what robot is in what slot, and whether or not they can move vertically.

So I'll be working on that tonight, before I forget what I've started. :thumbsup:

Another thing I've noticed while looking at the source code, is that the mazes aren't 'stored' like I thought - they are generated each time you go into a room. I have the section of code that does it, but I can't decipher it. I may ask opcode (being that he knows the Z80 so well) if he could look at it and just explain to me how it's generating the mazes.

Bob
  • Report
Frenzy is one of my favorite games of all time and I'll jump for joy the day I can play this on my 7800!

The Colecovision version added music and is somewhat choppy... pretty lame. Keep it as close to the arcade as you can IMHO.

Keep up the great work Bob!

-Trem
  • Report
Thanks guys, for the kind words and the help. I may get back to this soon. SpiceWare is working on the 2600 version (called 'Frantic') and that inspired me to take a look at this again.

:)

Bob
  • Report

May 2012

S M T W T F S
  12345
6789101112
13141516171819
2021 22 23242526
2728293031