Wonky
Wonky
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.
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.
Re: Wonky
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 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?
Re: Wonky
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.
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.
Re: Wonky
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).
You can get these by multiplying or dividing a note value by 2^(1/12) to go up or down one semitone.
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
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
Re: Wonky
Goooood game! It´s funny and haaaard.
I can´t reach the top.
I can´t reach the top.
Creator of ZX App: https://play.google.com/store/apps/deta ... boys.zxapp
Re: Wonky
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!
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!
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.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).
You can get these by multiplying or dividing a note value by 2^(1/12) to go up or down one semitone.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
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.
Re: Wonky
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.
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.
Re: Wonky
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!
ZX Soft - ALIEN(BUGFIX) - GB Soft - Demoscene
Re: Wonky
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.
Re: Wonky
I'm playing it on real hardware!dfzx wrote: ↑Sun Feb 24, 2019 10:46 amThank 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.
A Brazilian Spectrum clone: TK90X.
Creator of ZX App: https://play.google.com/store/apps/deta ... boys.zxapp
Re: Wonky
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.
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.
Re: Wonky
I jumped from the spring platform over the right wall here:
Onto level 3 now. Fun!
ZX Soft - ALIEN(BUGFIX) - GB Soft - Demoscene
Re: Wonky
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.
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.
Re: Wonky
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?? ]
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..
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?? ]
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..
My Speccy site: thirdharmoniser.com
Re: Wonky
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.
Re: Wonky
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.
Re: Wonky
Completed it! Really enjoyed that! 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.
ZX Soft - ALIEN(BUGFIX) - GB Soft - Demoscene
Re: Wonky
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.
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.
Re: Wonky
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..
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
Re: Wonky
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.
Think the difficulty is spot on really, you've only got the 'time' as your opponent, so just keep at it.
ZX Soft - ALIEN(BUGFIX) - GB Soft - Demoscene
Re: Wonky
Thanks, good to hear.
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.
Re: Wonky
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.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.
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.
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.
Re: Wonky
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).
ZX Soft - ALIEN(BUGFIX) - GB Soft - Demoscene
Re: Wonky
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!
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!