Wonky

People are still making stuff for the Sinclair related machines. Tell us about new games and other software that runs on the Spectrum, ZX80/ZX81, Pentagon and Next.
dfzx
Manic Miner
Posts: 677
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Wonky

Post by dfzx »

I wrote a game! Compared to most of the stuff that's released these days it's pretty awful, but I'm quite proud of it because it's the first Spectrum program I've completed since my Computer Studies O'Level project in 1985. In fact, come to think of it, it's only the second Spectrum program I've ever completed, the other one being my Computer Studies O'Level project in 1985.

It's called ZX Wonky One Key, and it's a little platformer, written in C using Z88DK and the SP1 library. It's key points:

* it's 48K only, tested under Fuse on Linux and Speccy on Windows 7 (via a virtual machine)
* it only has one control key: space, and no, you can't redefine it
* there are no baddies, mostly because I don't know how to do collision detection in SP1
* it has background music, which you'll turn off almost immediately
* it runs at 50 frames per second, achieved by virtue of there being no baddies
* it's open source, free software, licenced under GPL

There's only 5 levels, so if it takes you more than 15 minutes you're not really trying.

The pre-built TAP file is here.

The project, including source and a Wiki which other C developers might find useful, is here

Perhaps I should make clear (getting my excuses in early) that this is the only Spectrum game development project I've ever undertaken. I'm not exactly experienced at this. :) It's been a great learning exercise, and I'm looking forward to trying something else. Also, I'm not sure how well Github works as a distribution point. Any problems getting, building or playing the game, please ask.
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
User avatar
Kweepa
Manic Miner
Posts: 311
Joined: Sat Feb 03, 2018 6:14 pm
Location: Albuquerque, New Mexico

Re: Wonky

Post by Kweepa »

This is pretty cool!
I like the one key input approach.
I think it might take more than 15 minutes to complete, as it's pretty challenging and starts off rather hard :)
Congrats on the release!

Now when do we see your O-level project?
dfzx
Manic Miner
Posts: 677
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: Wonky

Post by dfzx »

Kweepa wrote: Sat Feb 23, 2019 4:32 pm This is pretty cool!
I like the one key input approach.
I think it might take more than 15 minutes to complete, as it's pretty challenging and starts off rather hard :)
Congrats on the release!

Now when do we see your O-level project?
I have to admit I might have failed the challenge of getting the difficultly right. It's one of those intangible things, where it's hard to objectively assess how difficult a game is when, as the author, you know it so well. In reality the difficulty control is probably the emulator's speed control. The slower you run it, the easier the game becomes. Reminds me of the SlowMo device I brought in 1985 - that made a lot of games much easier as I recall. :)

As for my O'level project, MIA I'm afraid. Probably for the best really. :D
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
User avatar
djnzx48
Manic Miner
Posts: 730
Joined: Wed Dec 06, 2017 2:13 am
Location: New Zealand

Re: Wonky

Post by djnzx48 »

Nice work! It's great to see more original concepts like this. I don't get what the dots slowing you down are for, are you supposed to collect them or avoid them?

I looked at your note table in sound.c and it looks like some of the values are being used for the wrong notes. The correct values should be more like this (these aren't exact, I just based them off the low C value).
Spoiler
86 C
81 C#
77 D
72 D#
68 E
64 F
61 F#
57 G
54 G#
51 A
48 A#
46 B
43 C
41 C#
38 D
36 D#
34 E
You can get these by multiplying or dividing a note value by 2^(1/12) to go up or down one semitone.
User avatar
Turrican
Microbot
Posts: 187
Joined: Thu Apr 12, 2018 5:48 pm
Location: Brazil

Re: Wonky

Post by Turrican »

Goooood game! It´s funny and haaaard.
I can´t reach the top. :lol:
dfzx
Manic Miner
Posts: 677
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: Wonky

Post by dfzx »

djnzx48 wrote: Sun Feb 24, 2019 9:54 am Nice work! It's great to see more original concepts like this. I don't get what the dots slowing you down are for, are you supposed to collect them or avoid them?
To be honest, I got myself into a bit of a mess with the slow down things. It was a result of poor up front planning of the game design, which left me later making it up as a went along. One of the (many) lessons I learned the hard way.

Initially the game had a score - just a number which counted down. The idea was that consuming the slow down pills makes the game easier for a few seconds, so you should forfeit some points if you choose to use one. But ultimately just having a numerical score was a bit crap and meaningless, so I changed it to a slider which demonstrates the time you have remaining. But there still needed to be a penalty for taking a slow down pill, so when you consume one you lose a bit of time. When you take a pill the slider suddenly drops a chunk, which is probably too subtle for the player to notice. I think with hindsight it might have been better to accelerate the decline of the slider while the slow down period is active. Even that might be too subtle. In practise I thought the game was too hard, so I placed the pills such that they can be optionally consumed before the most difficult bits. I set the timing up so the game can still be completed within the whole allotted time even if all the slow downs are used. Man, you've got me thinking about the whole design thing again! :lol:

To answer the question succinctly, ideally you're not supposed to consume the slow down pills. The most skillfull player would complete the game at full, blurring speed!
djnzx48 wrote: Sun Feb 24, 2019 9:54 am I looked at your note table in sound.c and it looks like some of the values are being used for the wrong notes. The correct values should be more like this (these aren't exact, I just based them off the low C value).
Spoiler
86 C
81 C#
77 D
72 D#
68 E
64 F
61 F#
57 G
54 G#
51 A
48 A#
46 B
43 C
41 C#
38 D
36 D#
34 E
You can get these by multiplying or dividing a note value by 2^(1/12) to go up or down one semitone.
Oh, interesting! TBH I had no clue about that music. I didn't even understand the basics of reading music before I started this. My partner does read music, so we spent a couple of long afternoons with her telling me about music and me telling her about Z80 clock cycles, trying to marry up the concepts. :lol:
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
dfzx
Manic Miner
Posts: 677
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: Wonky

Post by dfzx »

Turrican wrote: Sun Feb 24, 2019 10:13 am Goooood game! It´s funny and haaaard.
I can´t reach the top. :lol:
Thank you!

While I wouldn't really want to encourage cheating, I'd rather people cheat and see the completion screen (which took me ages to get right!), than have players give up and know that final bit of work is not seen by anyone. So when you're at the point of giving up, set the emulator to 50% speed and have another go. It's pretty easy then. :D
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: Wonky

Post by Ersh »

Wow! This was a surprise, such a simple yet brilliant idea. Really addictive, only managed to beat the first level so far. I think I cheated a bit as I jumped over the right wall and appeared on the left side falling down to the goal, only had to turn around and enter to win the level. Great job mate!
dfzx
Manic Miner
Posts: 677
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: Wonky

Post by dfzx »

Ersh wrote: Sun Feb 24, 2019 10:57 am I think I cheated a bit as I jumped over the right wall and appeared on the left side falling down to the goal, only had to turn around and enter to win the level.
Aw, cr@p! I thought I'd managed to close all the possibilities of that sort of thing. Can you explain exactly where you found a way through?
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
User avatar
djnzx48
Manic Miner
Posts: 730
Joined: Wed Dec 06, 2017 2:13 am
Location: New Zealand

Re: Wonky

Post by djnzx48 »

Well I just tried jumping into the exit on the first level (off the pad next to the dot) and I ended up landing down the bottom on the right hand side.
User avatar
Turrican
Microbot
Posts: 187
Joined: Thu Apr 12, 2018 5:48 pm
Location: Brazil

Re: Wonky

Post by Turrican »

dfzx wrote: Sun Feb 24, 2019 10:46 am
Turrican wrote: Sun Feb 24, 2019 10:13 am Goooood game! It´s funny and haaaard.
I can´t reach the top. :lol:
Thank you!

While I wouldn't really want to encourage cheating, I'd rather people cheat and see the completion screen (which took me ages to get right!), than have players give up and know that final bit of work is not seen by anyone. So when you're at the point of giving up, set the emulator to 50% speed and have another go. It's pretty easy then. :D
I'm playing it on real hardware!
A Brazilian Spectrum clone: TK90X. :mrgreen:
dfzx
Manic Miner
Posts: 677
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: Wonky

Post by dfzx »

djnzx48 wrote: Sun Feb 24, 2019 11:07 am Well I just tried jumping into the exit on the first level (off the pad next to the dot) and I ended up landing down the bottom on the right hand side.
:oops:

When I was finalising the level I decided to extend that little platform one to the left so I could put a slow down pill on it. The next bit, i.e. the bit you're supposed to do, off to the right, is a bit tricky, so I thought a slow down was fair there. But in extending the platform one block so the slow down pill would fit I made it such that if you fall off it you land on the exit platform!

I'm going to call that a shortcut, open to those smart enough to spot it. :lol:
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: Wonky

Post by Ersh »

dfzx wrote: Sun Feb 24, 2019 11:02 am Aw, cr@p! I thought I'd managed to close all the possibilities of that sort of thing. Can you explain exactly where you found a way through?
I jumped from the spring platform over the right wall here:
Image

Onto level 3 now. Fun! :)
dfzx
Manic Miner
Posts: 677
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: Wonky

Post by dfzx »

Ersh wrote: Sun Feb 24, 2019 11:26 am
dfzx wrote: Sun Feb 24, 2019 11:02 am Aw, cr@p! I thought I'd managed to close all the possibilities of that sort of thing. Can you explain exactly where you found a way through?
I jumped from the spring platform over the right wall here:
Image

Onto level 3 now. Fun! :)
Ha! OK, that means there's 2 ways out of the level which aren't supposed to be there! Although it rather looks like turning and jumping off that single block is probably harder than just jumping to the left and walking across the top.

I'm still going to fix it for v1.01 though. :P
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
User avatar
Morkin
Bugaboo
Posts: 3266
Joined: Mon Nov 13, 2017 8:50 am
Location: Bristol, UK

Re: Wonky

Post by Morkin »

This is great...! A simple idea but very well executed.

It can get frustratingly easy to plummet right back to the start just as you were doing well, but in that respect it reminds me of Jumping Jack, in that it has that 'just one more go' feel to it... Some proper 'twitch' gameplay going on too..

[Edit: no idea what I'm supposed to do for level 2 though?? :o ]

Image

I would've suggested making the levels a touch easier, but if there are only five that's fair enough I guess... Though it's going to take me a lot longer than 15 minutes.. :lol:
My Speccy site: thirdharmoniser.com
dfzx
Manic Miner
Posts: 677
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: Wonky

Post by dfzx »

Morkin wrote: Sun Feb 24, 2019 11:43 am I would've suggested making the levels a touch easier, but if there are only five that's fair enough I guess...
Any suggestions on how I could have made it a bit easier? I always liked the manic, 50fps speed, so I didn't really want to slow it down any. Any ideas on what I could have done to make it just a bit easier?
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
dfzx
Manic Miner
Posts: 677
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: Wonky

Post by dfzx »

Morkin wrote: Sun Feb 24, 2019 11:43 am [Edit: no idea what I'm supposed to do for level 2 though?? :o ]
Spoiler
Did you notice you can turn around mid jump? :)
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: Wonky

Post by Ersh »

Completed it! Really enjoyed that! :D It said I had 4 bonuses left and then there were some nice fireworks. Very well though-out level design, one mistake doesn't automatically mean all progress is lost.
Ralf
Rick Dangerous
Posts: 2283
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: Wonky

Post by Ralf »

I've just only tried it.

Simple to learn, hard to master ;)

The game mechanics are simple but very original in their simplicity.
The game engine is all right, everythings moves smoothly

Unfortuantely it's too hard, as other say. Probably redesigning the levels would help but I guess the levels remain as they are.
User avatar
Morkin
Bugaboo
Posts: 3266
Joined: Mon Nov 13, 2017 8:50 am
Location: Bristol, UK

Re: Wonky

Post by Morkin »

dfzx wrote: Sun Feb 24, 2019 11:51 am
Morkin wrote: Sun Feb 24, 2019 11:43 am I would've suggested making the levels a touch easier, but if there are only five that's fair enough I guess...
Any suggestions on how I could have made it a bit easier? I always liked the manic, 50fps speed, so I didn't really want to slow it down any. Any ideas on what I could have done to make it just a bit easier?
It's probably just my reactions slowing with age.. The number of precision jumps you have to make in a row to complete that second level, I just can't get them.. But obviously Ersh has better skills.. :lol:

The only suggestion I would make is perhaps a visual/audio warning when it's about to speed up again (after the slow down), as I found it hard to adjust my reaction time when it happens.

Don't get me wrong - there's nothing bad about wanting your game to be challenging (it's 'good' challenging rather than 'unfair' challenging :) ). But I'm definitely going to need snapshots to get to level 5.
My Speccy site: thirdharmoniser.com
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: Wonky

Post by Ersh »

I went through it again a couple of times also recorded a RZX, you can download it here. I struggled a bit on the third stage but you can always fast forward that bit in the emulator ;)

Think the difficulty is spot on really, you've only got the 'time' as your opponent, so just keep at it. :)
dfzx
Manic Miner
Posts: 677
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: Wonky

Post by dfzx »

Ralf wrote: Sun Feb 24, 2019 12:17 pm I've just only tried it.

Simple to learn, hard to master ;)

The game mechanics are simple but very original in their simplicity.
The game engine is all right, everythings moves smoothly
Thanks, good to hear. :)
Ralf wrote: Sun Feb 24, 2019 12:17 pm Unfortuantely it's too hard, as other say. Probably redesigning the levels would help but I guess the levels remain as they are.
Yes, OK, I think the lesson here, and it is a lesson because I keen to learn, is that if the author feels it's "about right", or maybe "a bit of a challenge", which is what I felt with this game, then it's probably too hard. Probably best to err on the side of too easy to prevent losing the interest of the player too early. I'll definitely take that on board.

Ralf, before you lose interest entirely, try it in an emulator at 50% speed. :)
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
dfzx
Manic Miner
Posts: 677
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: Wonky

Post by dfzx »

Ersh wrote: Sun Feb 24, 2019 12:38 pm I went through it again a couple of times also recorded a RZX, you can download it here. I struggled a bit on the third stage but you can always fast forward that bit in the emulator ;)

Think the difficulty is spot on really, you've only got the 'time' as your opponent, so just keep at it. :)
I am utterly blown away that someone played it, mastered it and finished it at full speed, and even made a recording of it. You're right, that 3rd level is far too difficult, especially the left side near the start. Lesson learned, I assure you.

What I wasn't quite ready for is the feeling of elation caused by a handful of people I don't really know having a few minutes of fun playing something I created. It makes the project hugely worthwhile and rewarding. What it must have been like, back in the day, to have created a game tens of thousands of people enjoyed...

Thanks to everyone who gave it a try. Made my day. :D
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: Wonky

Post by Ersh »

dfzx wrote: Sun Feb 24, 2019 1:00 pm I am utterly blown away that someone played it, mastered it and finished it at full speed, and even made a recording of it. You're right, that 3rd level is far too difficult, especially the left side near the start. Lesson learned, I assure you.
I wouldn't say it's too difficult, if you pick up the pills in those two parts in stage 3 then it's pretty easy to tackle. Though I found that picking up pills could end up screwing you when time sped up in other places, so I just avoided them all together. ;) Helps to have an even rhythm to platforming.

Thanks for the game mate! (more please).
User avatar
R-Tape
Site Admin
Posts: 6397
Joined: Thu Nov 09, 2017 11:46 am

Re: Wonky

Post by R-Tape »

My eyes! I am blinded by the celestial light emitted by the game finale!

This is a great game, and it joins Dave Infuriators in the 'one key' genre.

It seemed impossible at first, but after I saw how Ersh completed level 2 (IMO the hardest level by far), it was manageable after that. I liked the in-game music, but the charm wore off pretty quickly and I went for the 'M' key!

This is annoyingly good for a first project. Well done Derek. Don't stop!
Post Reply