SPECTRUM SILLINESS - THE CSSCGC 2022
(comp.sys.cbm Crap Game Competition)
Visit the website at - https://bit.ly/csscgc-2022
ANDY JENKINSON (2021 WINNER AND 2022 HOST):
Q. Did you set out to win in 2021, or was it lucky you got the honour?
When I decided to write something for the CSSCGC in 2020 and 2021, I really enjoyed the process of creating things without too much pressure of them being publishably great. Some of the latest ZX Spectrum releases are phenomenal – burn-them-at-the-stake kind of witchcraft that would have been mind-blowing in the commercial life of the Speccy, and I knew I couldn’t do anything approaching that … but my BASIC programming skills were up to the low bar that the Cassette 50 compilation sets and I think I ended up ‘trying’ to do things better and better within the confines of my skill set and avoiding using 3rd party development tools. So my clever BASIC and rudimentary assembly was enough to be slightly less crap than others, and I was pleased with that ‘cos I put considerable effort in.
Q. What inspired your opening ceremony program?
It was twofold – to demonstrate just how rubbish something could be to be considered worthy of entering, and to give me something to write about to test the website. I also stole Spectrum Computing Forum user p13z’s idea for ‘parallax scrolling’ in BASIC, so I was delighted when he entered the crap games contest later with far better examples!
Q. Are you pleased with the number and range of entries?
Oh yes! There have been things for the ZX80, ZX81, Spectrum, QL, the Cambridge Computing Z88, the Sam Coupé and even one for the Lambda 8300 (which is a very obscure Sinclair-adjacent machine) – all by last year’s host Jim Waterman. I’m also pleased to have had genuine attempts to make entertaining games, experimental programming showcases as well as zeitgeisty jokes and political statements hidden in the guise of crap.
Q. How did you find time to write each game’s long and quirky review?
Saying “I’m working on a review” and shutting myself away whilst my partner tuts disapprovingly has been my main working method. Also writing reviews instead of luxuries such as sleep (which is also my excuse for my poor proofreading of my reviews).
Q. How did you come up with your unique rating system?
Mainly in me wanting to point out some interesting (either negative or positive) facets of the game. The usual Graphics, Sound, Playability, Longevity? Pah! They don’t tell you things about how much pointless effort the author has put in. That’s what really matters.
Q. What games impressed you the most from a technical point of view?
Jim Waterman worked hard to bring things to a variety of platforms this year – and especially impressive was his ZX81 Kempston Joystick-driven game when there were no Kempston Joystick Interfaces released for the ZX81! Also of note was “Spectrum Computing has Love Bugs” by Robert Morrison - a good piece of coding and uses the Kempton Mouse which (a very unusual peripheral) and has the added benefit of actually being nearly fun to play, so that was also very impressive.
Q. What games lived up to the crap part of the title?
They are all ‘just crap enough,’ but I was really charmed by “Island Adventure” a text adventure written by the author in BASIC in 1986. It had taken him 36 years to pluck up the courage to unleash it on the world – and it was beautifully flawed. But how cruel can you be in reviewing a game written by a 14-year-old? Even if he is now 50.
Q. Is there any theme or genre you would like to have seen tackled by entrants?
Not especially. I thought about issuing 'challenges' (as some CSSCGCs have) to encourage particular types of submissions - but I was pleasantly surprised with the diversity as was, so I let nature take its course.
Q. What advice would you give to next year’s host?
I think keeping a handle on expectations is handy – I kept the Cassette 50 quality in the back of my mind, and I'd maybe suggest a perhaps think about a slightly more robust scoring system than mine. The end of the year is going to be me actually having to rank these in some meaningful way to find a winner (most crap) and loser (least crap).
Q. Will you continue to take part in the future?
I’d certainly hope to. This year I’ve still been doing Spectrum stuff (see below) including entering a couple of other BASIC programming competitions, so I’d be surprised if I didn’t write something next year too.
Q. Do you have any other Spectrum projects in progress?
I’ve been putting the finishing touches to “3DAttrMaze” which I consider not quite crap and will be part of Dave Hughes’s “Woot! 2022” yearly Spectrum compilation release. It’s part 3D-maze-game/part-minigames but only uses the attributes colours so is very quick (and means I don’t need do graphics, which isn’t my forté at all). It really has been a labour of love for me – taking the best part of a year to do in dribs and drabs - and has tested the limits of my assembly language programming skills. Whilst it might not have Ultimate/Ocean level of gloss, it probably would have seemed okay in 1983. I’ve also started making some more music with the ZX Spectrum again too – last year I was approached by the music software company Soundpaint to do all the Speccy programming and recording for a massive ZX Spectrum sample pack/instrument (which they released commercially in March). It was a huge task, and I’m finally now back at a place where I can make Speccy 1bit music again without it feeling like a job!
Q. How long have you been programming the Spectrum?
I did lots of programming in BASIC as a 13–18-year-old back in the 1980s (as did everyone) and tinkered with some assembly language. I even read Toni Baker’s ‘Mastering Machine Code’ book. I’ve still not mastered it, but over the past few years, I’ve got better at making things that are functionally complete. I enjoy the intellectual exercise of the programming. I’m 50 now … so this is my version of Dr Kawashima’s Brain Training in trying to keep the grey cells ticking!
Q. Would you ever program for a different machine?
I fancy trying something for the Gameboy. I’ve played about with the sound chip, and given the GB is running a (modified) Z80 I should have a bit of a leg up in the basics of writing for it – I’m more likely to be programming a music tool rather than a game though. I’ve also done some Arduino programming and I’ve thinking more and more about how I can get it talking to the Speccy and vice versa, so my heart is clearly with Sinclair’s machine!
I really hope people enjoy the CSSCGC and ‘get’ its ethos. I like to think of it as a safe space for beginners, and somewhere where people can try things without the pressure of living up to the blindingly high standards set by some of the programmers releasing things right now. For me, it’s like turning the clock back to 1983 and imagining what might have been submitted to those software houses who advertised in the back of magazines for ‘programs wanted’. My reviews are like very verbose rejection letters that disappointed bedroom programmers might have received.
FIRELORD (IOANNIS MARINIDIS) ANSWERS:
Q. When did you start programming the Spectrum?
I started programming in the 80s when I got my first computer , The ZX Spectrum + 48k. The great thing about this computer was that in the first 5 minutes, you could write a program with impressive results -for a kid. My first real steps to programming were made with the help of the Official ZX Spectrum + manual. I typed all the programs there. Later, I bought some books and typed the games they included. In the years I had the spectrum I can say that I only wrote simple programs. After the Spectrum I got an Amiga which I used only for gaming. The true value of the knowledge that ZX Spectrum gave me became apparent many years later when coding seemed natural for me -in comparison to other fellow students.
Q. Why did you enter the Crap Game Competition?
The year 2022 was not the first time that I entered the competition. I took part in the competition again in 2021 but also 2008, 2009 and 2011.
The first time I heard about the CSSCGC competition was after I played a game named "Tetris The Adventure". I found this game somewhere (I think W.O.S.) and thought that the title was very interesting... I started the game and in the first minute -when I realised that it was not a serious game- I started laughing... I then looked up more information about CSSCGC competitions and understood what it was.
Why did I enter the competition? I have 2 answers :
Years 2008,2009,2011 - Just for fun: When I had some free time, I thought it would be fun to write a crap game and send it to this competition. The most important thing was not having to worry about the details. Most of my games are text adventures because I can code them really easily and I don't have to worry about graphics -I'm not a good artist.
In 2011 I tried to use graphics in "Blind Flight Simulator 2". I used Quill -if I remember correctly- and the result was "decent" (I mean for a C.G.C. entry). "Blind Flight Simulator 1" was written only in basic and was one of the first crap games that were ported by someone else to ZX81 -in the same competition.
Years 2021-2022 - Fun and Work reasons: I am a school teacher and I have been exploring ways to teach simple programming concepts to elementary school classes. I have coded in many languages, but I don't think there is an easier language to learn than Sinclair Basic (I mean the first steps)! In 2021 I was trying to remember Sinclair Basic and was checking various ZX Spectrum Game Design tools. CSSCGC entries were made while I was doing my experiments. I tried a) Doing simple BASIC programs that were easy to modify and b)Trying game design suites to check if elementary school kids could use them. I found the amazing Basin Development System, but I was using Linux and had some issues.
During my research, I talked with people in forums. One of them designed the amazing zxplay.org IDE (Steve Robinson - https://github.com/stever/zxplay). For my needs, I also designed another -and more primitive- BASIC browser-based IDE which I could use in a computer lab. The tools that allowed writing BASIC code from any browser (=practically from every device/tablet/phone/PC) had become a reality. Almost all of my BASIC entries were made and tested from a browser on my tablet with the two IDEs I mentioned above.
The 2021 entries were made for fun but also as a test. I was trying to make a "game" that was easy to modify and change its theme. E.g. "FindSanta" was made with the idea of being easy to modify. "Find Easter Bunny" and "Find The Book" were modifications of the latter. This was intentional.
In 2022 some of my entries were made in my attempt to learn Game Design tools. For example, for many years I wanted to make the 3rd and final part of Sinclair Blind Flight Simulator, but I had no idea. 'Top Gun 2 MaveRick Dangerous" was my attempt to learn "Adventuron" which was a very easy IDE that generated PAWS and DAAD code for the Spectrum. In the end, the development moved entirely to DAAD. TopGun 2 was advertised (by me :) ) as the game that was game that added action to the adventure genre! It actually dog fights delivered the thrills of plane dogfights to a text adventure! Cause of the development environment this game was also released for the Amiga, Atari ST, Amstrad CPC, C64 and MSX2.
This made the 2022 competition host to state: "This is the danger of using a multiplatform game designing tool! Before you know it, the crap has leaked out everywhere."
The "Topgun 2" experiment made me realise that DAAD is way too complex, so I looked at other systems. I could not use MPAGD in Linux, so I ended up using Lantern Adventure System in my latest entry of 2022. For the Lantern Adventure System, I designed a JavaScript page where you can fill a table with room names, enemy names, and the item you need to defeat them, and it will instantly generate a linear text adventure for Lantern. The idea behind this is to ask each kid in my class to fill the table with his favourite characters from a game or tv-show and it will instantly create a game with them. For example enter the names of the characters of BrawlStars, Fortnite, Pokémon or even Smurfs.
As you understand I don't have much free time but I'm trying to combine work and pleasure :)
Another 2022 entry was "Buy a Retro Machine and Sell it for More Money in Another Place Simulator!" -or BARMASIFMMIAPS for short- was a port of Dopewars. A game that I write in every programming language I learn to test my knowledge. I wrote this game during the time I was comparing Python 3 with Sinclair Basic for a class course.
Q. What gave you the ideas for your gam ?Usuallyl,y the idea comes from a funny situation, a joke or just a wish to make a movie parody. I always try to have a backstory in the manual with a silly story or scientific explanation. Think of Hitch Hiker Guide to the Galaxy type of explanations or Monty Pythons Flying Circus arguments. I also like to port addictive games with the addictive parts removed :)
Some examples:
-"Blind Flight Simulator" was based on a joke I heard. Its 2022 sequel "Top Gun 2 - Maverick Dangerous" was a movie parody.
-Another place I get my Ideas is the scam ads. You all have seen ads and real testimonies of a product that claims that will make you a billionaire! I tried to run a campaign like that for one of my games. The goal was to raise expectations and then the final products do something obvious... In this example, the game is just an idle/incremental game with 3 options: Design, Sell and Hire. The campaign does not lie. You can be a billionaire by designing/selling products and hiring people -so you can't blame me for false advertising...
-A different example is "ZX Universe Conquest". One morning at work I had an idea for a strategy game with unlimited levels that were calculated by an algorithm and not designed. I wrote some draft ideas and sample code during my work breaks. When I returned home the same day, I spend a couple of hours and the game was ready.
-A good example of a silly scientific explanation is my 2022 entry 10D Bathroom Design. The manual contains scientific explanations of why you are more creative in your bathroom!
The main goal of all my entries is to give a smile. If you see a game and smile, then I achieved my goal.
During the last few years, my games have been published with the label "Firelord Quality Games" so that the public know their guaranteed quality.
The secret of success in the CSSCGC competition is very simple: A new kind of game is the best of its kind... If you follow this rule your game is always the best!
Q. Will you enter again?
Yes! As long as I can find time to spare, and the competition hosts have the courage to try my creations :)
For 2023 I have already some entries half-ready. Five of them(!) are part of an epic trilogy that began at the end of the 2022 competition :)
The games of this trilogy are almost ready. I am in the process of writing their story and polishing some graphics and some in-game texts.
These games will also be released for other 8-bit retro machines (ZX Spectrum, Amstrad CPC464, C64, CP/M, Sharp-MZ80A, TRS80, DOS-LVM file - what Lantern supports) so that everyone can take part in this epic story! :)
In the future - if I see that kids like BASIC - I would like to ask the competition host to accept entries from a school class -as a subcategory of the contest. I believe that the kids will have fun making simple basic games for such a competition.
JBIZZEL (JAMIE BRADBURY - 2022 WINNER & 2023 HOST) ANSWER:
Q. When did you start programming the Spectrum?
I started programming probably about the age of 9 or 10 when I got my first computer (ZX Spectrum +2A) for Christmas. I was fascinated by the type-ins in the back of the manual. Later, I found the Osbourne books in the school library and spent hours typing those in and saving them to tape.
I did play the games at the time. I loved the Dizzy games and R-Type, but really, I loved getting Your Sinclair and playing all the demos and games on the free tape. Saying that I was always more interested in making my own games and writing programs in Basic, although I wasn't very good at it.
Q. Why did you enter the Crap Game Competition?
I have been participating in this crap game comp for a few years. I enjoyed the humour from the programmers and the humour in the reviews. The CSSCGC is a great safe space for first-time programmers, where the bar is set comedically low. As host for this year, I only hope I can do it justice!
Q. What gave you the ideas for your games?
It’s so random. I have lots of ideas for games, but it’s a special kind of idea that actually gets made. I have to like the idea of it and see clearly in my mind how to make it. Sometimes a crap game takes half an hour to make sometimes it takes me weeks of late nights. I like to get a core gameplay idea as quickly as possible, and the development comes through playtesting and iteration.
With Yoyo's Revenge, the idea was something my 9-year-old son came up with. That the hero was chased by monsters and could only fight back after finding a magical yoyo. I made a quick mock-up of the game and found that I really enjoyed getting revenge on the baddies.
Q. Will you enter again?
This year I am the host. So I won't be able to enter, which is a shame because I have several ideas bubbling away. I am also working on Cambridge Computer Z88 projects this year, as I want to improve my understanding of Clive's last computer. It's similar to a Spectrum, but can address 4meg and you can run, and suspend multiple applications at once. Anyway, the short answer is to expect more from me in 2024!
FIVE FAVOURITES
Our favourite entries from 2022’s competition.
GRUMPHERS (Jim Waterman, Lambda 8300 16K)
Made for the Hong Kong-built ZX81 clone, the title does not fit a single-screen racing game!
SPECTRUM COMPUTING HAS GOT LOVE BUGS (Robert Morrison, ZX Spectrum)
Requiring the Kempston Mouse, this game has brilliant presentation with its 1-bit graphics of famous Internet memes.
STICKY HORACE (ZXKerl, ZX Spectrum)
The overall “winner” - with a familiar blue sprite pole vaulting his way across varying-size gaps.
ERROR REPORT ROULETTE (Jim Waterman, Various)
Jim’s highly unusual title “would have been improved by being an actual game, rather than an encyclopaedic exploration of error messages,” says Andy.
10D BATHROOM DESIGN (Firelord, ZX Spectrum)
“The manual contains scientific explanations of why you are more creative in your bathroom!” says Firelord of this utility/game.
NEWS BYTES
APPLE II: Lee Fastenau released a brilliant conversion of Game Boy Tetris at https://bit.ly/gbtetris-apple
AQUARIUS: Check out new release Aquatris from Christophe Possamai - https://bit.ly/aquatris
C16: Sir Knight 16K is an updated version of the Plus/4 game, fitting into 16K but with extra levels and features. https://c64mark.itch.io/sir-knight-c16
C64: The debut game from Knifegrinder is the superb Lester, a Metroidvania-style game with a cute robot – inspired by MSX game Ghost. https://knifegrinder.itch.io/lester
MSX: The 2023 coding competition is underway at https://msxdev.org – theme is “freestyle”, and the deadline is 14th October.
NES: Haplo has converted his light-based puzzle game Tenebra - https://h4plo.itch.io/tenebra
PET: Jimbo’s latest is PET Panic, inspired by the classic arcade game Space Panic - https://jimbo.itch.io/pet-panic
PICO-8: The brilliant RTS Age Of Ants is inspired by Age Of Empires II, as you gather resources and breed new ants. https://bit.ly/ants-pico8
Matt Sutton’s brilliant Terra Nova Pinball evokes memories of the classic Pinball Dreams: https://bit.ly/tnpinball-pico8
SEGA SATURN: The 28th anniversary Game Competition hosted by Emerald Nova Games has finished, with 30 entries across three categories - Original Games / Hacks, Patches & Translations / Utilities. Results should be available soon at https://bit.ly/saturn28
ZX SPECTRUM: Dr Titus released Treasure Island Dizzy Extended Edition 2023, featuring 20 new rooms, new objects, and a fix for the infamous snorkel problem. https://bit.ly/treasuredizzy2023
CHAMPION CODER - SAMUEL BLANCHARD
[Info]
From: France
Website: https://bit.ly/miracleboy-fb
Format: Atari ST
Previous game: CrazyZone (Game Boy Color)
Working on: Miracle Boy in Dragon Land (Atari ST)
ST fans can look forward to a promising platform RPG from this French coder.
Q. What got you interested in programming the Atari ST?
When I was little I was amazed by arcade games and later by those of the Sega Master System which I found fluid and colorful. When I got my first Atari 520 STe in the early 90s, I immediately wanted to develop games as beautiful as on console.
The ST is a wonderful machine, very easy to approach, and with a lot of language dedicated to game creation.
I started by developing with GFA Basic but I quickly saw its limits for making horizontal scrolling games (my personal holy grail). So I went to Assembler and I started to test various techniques to obtain fluid scrolling unfortunately without success.
When I took over development in June 2022, I already knew the techniques that didn't work and with the experience acquired in my professional life, I finally found quite quickly a way to do smooth scrolling on Atari ST, without Blitter to able to be compatible with as many machines as possible, by simply using precomputed tiles.
Building on this success, I started developing the engine for my game Miracle Boy In Dragon Land aka MBIDL.
Q. What is your development environment and any major tools you use?
I develop on PC with Visual Code as an editor with a plugin for Assembler 68000.
I draw or adapt game designs using Aseprite and game maps are supported by Tiled.
Rasters are generated using RasterStudio, an application developed specifically for the game (Raster Studio is available on Microsoft Store).
I also developed a macro language in XML to be able to control the interactions of the hero with his environment. This makes it possible to perform complex actions more quickly than in assembler while guaranteeing the typing of the parameters of the functions called.
I then use a C# program to transform all this data into compressed binary files or an assembler source file.
For compilation, at the beginning of development, I used DevPac in an emulator but it is not very efficient and poorly suited to setting up a Tool Chain. I now use VASM to compile the source files into an executable.
I test and debug the game with the STEEM SSE emulator which I find very pleasant to use. Its creator is also easily reachable and that is an undeniable plus (thanks to him).
Q. What gave you the idea for Miracle Boy in Dragon Land?
Miracle Boy in Dragon Land is inspired by WonderBoy in Monster Land which was my favorite Sega Master System game. But it will be different in its principles and sometimes closer to a Zelda than a beat them up.
Q. Are there any other games that have influenced you?
I feel much closer to Japanese games than to American games. It's not very original but I'm a fan of Shigeru Miyamoto's games, some Sega games like Fantasy Zone or PsychoFox and of course the WonderBoy saga. I'm not a big player, I prefer to develop them :)
Q. Are you adding any ideas of your own to the gameplay and controls?
Yes, I'm going to keep the game universe and its mythology but it will be a very different game less Beat Them Up oriented and closer to a Zelda game. For example, the management of magic is different from the WonderBoy games, which will affect the story of the game. There will be mini-games sometimes in the form of a puzzle to be solved. The scenario will also be darker while keeping the acidic colours typical of Japanese graphics.
Q. How long have you been developing it, and how long do you think it will take to finish?
I started in June 2022, but I've also written some tools to help me develop during this time. I am not alone in the development of this game. I am supported by Marcus "Marcer" Lindberg for the music and when the scenario will be finished we will hire a graphic designer so that the game has its own identity. I think it will take another 1-2 years to finalize the game. I'm in no rush. My goal is to keep the pleasure I have in coding because otherwise, it is likely that I would stop. I take this opportunity to greet the entire Miracle Boy in Dragon Land Facebook community, which gives me great moral support. Also a big thank you to Rati/Overlanders and Vincent Rivière who are gods of development on Atari ST and always ready to answer my questions. Hello also to the Atari Forum :)
Q. Which other ST homebrew games have you enjoyed recently?
As I said earlier, I watch more game videos than I play, but I follow homebrew news on all retro machines (Amiga, C64, MSX, Amstrad CPC, Sinclair and Atari ST). On ST, little Homebrew is coming out but I was very impressed with the port of Metal Slug Mission 1 on Atari STE and even more so with Dread, a Doom Like (!) that works on Atari ST.
Q. Will there be a physical release?
Yes, I would love to. I need to talk to the publisher about it.
Q. What would be your dream game to develop?
Miracle Boy in Dragon Land is the game I wish I had developed when I was 16. It is a dream to be able to see it come out of the ground after so many years.
Q. Have you ever programmed other computers and consoles?
I developed games on GameBoy Color (CrazyZone, Columns DX, a demo of a kart game in mode 7) as well as puzzle games on Windows and Android (“Chemin”). I also developed a Gameboy Color emulator for Windows Phone.
Q. Do you have any other projects in development?
I have a lot of game ideas for the Atari ST but I've been busy for several years with this one so I try not to think about it too much so as not to get distracted.
DATABURST - REVIEWS
Dungeon and Souls
(Reprinted due to the production error in issue 244)
Format: ZX Spectrum (48K)
Credits: Hye Ssun Entertainment
Price: Free
[Score] 79%
Revenge of Trasmoz
Format: Amstrad CPC
Credits: Volcano Bytes
Price: digital TBC / physical pre-order from €27
[Score] 86%
Beep’s Escape
Format: Steam (Windows/Mac/Linux with SteamOS)
Credits: Little Martian Games
Price: £8.50
[Score] 85%
PROCESSING - CECCONOID (AMIGA)
Mixing Cybernoid and Robotron, Thalamus Interactive’s stylish 1-bit wonder Cecconoid is heading to Amiga. Ian Ford (DJ h0ffman) answers our questions.
Q. Did you play the original game, and have you had any help from the coder?
I made the music for the original PC version so I played it back when it first came out. When I was looking for a new Amiga game project I approached Gareth Noyce to see if he would be happy for me to port it. He's been really helpful when I've raised questions about the mechanics and has also been playtesting parts of the game to make sure everything feels right, which is the most important factor of all.
Q. Are there any particular (Amiga) tricks and techniques you are using?
The blitter line draw capability was really useful when dealing with the lasers. Also, the dual-playfield enabled the design of the screen setup, more on that later. However one of my favourite tricks is driving the sprites from the copper. The achievement and pause overlays work in this mode. It allowed for the sprites to be flexible in width.
Q. How are you handling all the particles and explosions?
I developed an original prototype which managed around 200 particles at once on a base Amiga 500. However, my good friend Emoon for the demo group The Black Lotus designed a system which used the blitter to generate self-modifying code for the drawing phase and also highly optimised the update process. With that in place, I added an adaptive mode so when the game overruns a frame it throttles the particle counts. It means the gameplay still feels really fluid even on low-spec Amigas.
Q. What is it like working in 1-bit graphics?
A real joy to be honest. It enabled me to design a screen setup which really plays to the strengths and flexibility of the Amiga. Just looking at it can be really deceiving as to how it technically works. The game actually runs with 4 bitplanes in dual playfield mode (4 colours per field). Anything which moves sits on one field which is triple buffered and cleared every frame which brings the benefit of not needing to track where anything is for clean-up. The tiles layer is then put on top and doesn't interact with the other.
Q. What has been the hardest thing about the project so far?
The number of collision detection systems which are in play is pretty vast. It's running hitboxes, line intersection algorithms and even ray casting to make sure everything works correctly. The rotating platform section was the hardest but the most fun to work on. It even has its own custom collision system built for it. However, finding the stray particle bug was the hardest thing of all. It took an entire weekend and writing a whole bunch of additional checking code to capture what the problem was. Once I found it, it took five minutes to fix it.
Comments