Tuesday, August 7, 2012

new Cactus Canyon rom in freewpc

The last weeks I've also spent a lot of time programming in FreeWPC.
I'm working on new rules for Cactus Canyon.

I really love this pinball machine. It has a great playfield layout (some hard shots, some easy shots, I love the flow of the ramps), great theme, excellent artwork, ..  Everything is great on it except the game rules;
On default settings the game is too easy (my 6 year old daughter can even get wizard mode sometimes !), you really have to put it to extra difficult or adjust some features yourself to make the machine challenging enough.
The rules are also pretty basic, a lot more could have been added.

Cactus Canyon was the last WPC-95 game Williams produced before starting with Pinball2000. Therefor not a lot of machines were produced, it was only meant to be a 'filler' game to keep production lines going. Production was stopped as soon as P2K machines could start.

In the game rules it's most obvious that this game was not complete. Rules are fun but shallow. You really get the impression more could have been implemented, as there are 3 save polly inserts on the playfield but only 1 save polly mode (which is started whenever you complete 3 shots on either of the 3 ramps).
The instruction cards make mention of a 'Bionic Bart' but that mode is not programmed in the game.
Some small details also show there was no time to fine-polish this software, when you finish the wizard mode there's nothing special (no spectacular sound), there's no real match mode, ..

Like I posted a few weeks ago, starting to program in FreeWPC was on my todo-list for a long time already. Now I've started and I'm going along on full speed :)

The advantage of using FreeWPC is that it compiles into a 'real' rom that anyone can plug into their Cactus Canyon pinball machine, without having to buy other expensive hardware.

Programming goes better than expected, although I sometimes lose a lot of time on stupid things :(

FreeWPC is a whole framework, you get to program game rules but the environment is the base OS for the pinball machine and does a lot of things for you.
Display definitions (deffs) that are in the machine file need to exist in the other files you compile, or you'll get a linking error. Same for callset_invoke(), these need a matching callset_entry() or the linking will fail (without giving any indication of what is missing).
I wasted many hours already with these errors.. It's mostly because of the way I program.
For instance I made a modes.c file that's almost completely ready - when you made 3 shots to the left ramp it'll do a callset_invoke() to start the mode for that left ramp, same for the other ramps.. but not all modes have been programmed yet, so the linking fails :(

No comments:

Post a Comment