Join me on a journey as I attempt to write a game for my Agon Light using nothing but raw C programming. In this first episode I figure out what kind of game to make, look at some shareware games of the past and get a basic game engine working, using nothing but C code – no external game engines or modern development tools.
I’m using my Agon Light proto game library which is available over on my Github repo. If you want to follow along, grab a copy!
The kind of game I want to make is similar to the games I used to play on my ZX Spectrum or Atari ST. A kind of game known as “shareware”. This was a way of releasing software back before it was easy to upload files to the Internet. A person releasing a piece of software as shareware would usually create a demo version. In this demo version would be a request to buy the full version of the game by mailing money to the developer, in exchange for receiving a copy of the full piece of software.
Some developers made this work very well and allowed them to create games that otherwise wouldn’t have been possible with a big commercial distributor. It also gave games a certain style as they weren’t restricted by having to be “marketable” to the mainstream game playing public.
Having played a few of the shareware games I remember from the past, I have come up with the following game design ideas. I want my game to
- Be an arena shooter
- Have multiple types of enemies that behave differently
- Include some sort of problem solving to the gameplay
- Maybe the player does something to open the exit of the level
- This might involve manipulating the game world in some way
I don’t yet have much clue what the game will look like, or what the theme or story behind it will be. I’m open to suggestions though!
The next part that I need to do is get collision detection working. So far I have a very rudimentary “moving rectangles” prototype where I can play around with getting satisfying controls and game mechanics working.
One response to “Writing a game the hard way – from scratch using C – Part 1”
You want a setting? Here it is (much full for the retro game with limited resources). enjoy and use it free and anyhow as you want. I hope I help you:
Cyberoseum
low-concept: human-being lead to survive on Arena, to dive in ‘hell’ of challenge to arise from a common guy to a noble citizen of the Paradise Space Station
Genre: arena shooter (retro)
Setting: cybernetic future
Time: 2327 AD
Place: planet Cyberoseum, Paradise Space Station on an orbit of this planet
Player: at 1st level player is a weak guy, then with getting skills, weapons and cybernetic augmentation player transformates to a pro gladiator capable to kill the Final Boss.
Enemies: metallic orbs, and other variations of drones, mechanical spiders, movable turrets, cybernetic people.
Bosses: Trio (three smart dromes: laser, rocket, gun), HEX (Human-ex Cyborg), Cyberatula (Mega Spider with little spider-form drones), ED-die (e.g. ED-209 form Robocop, rocket turrets and miniguns)…
Player goals:
Regular levels: Player needs to collect all pass-cards (red, blue, yellow) to move to the next one.
Inbetween screen (shop): Player needs to spend cards to upgrade weapons, to increase abilities, to set augmentations.
Boss-levels: killing the Boss, and get big green-colored pass-card.
Features:
– collectable pass-cards
– excitable arena
– bosses
– various enemies
– cybernetic gladiator aesthetics
– retro gaming aesthetics
– short time play sessions
Similarities:
– Vampire Survivor
– Deep Rock Galactic Survival
– ‘Love, Death & Robots’, s01ep01 “Sonnie’s Edge”
Story:
In the year of 2327, in the low-life cybernetic slums of the planet Cyberoseum people only dream of luxurious life on a Paradise Space Station. To be able to go there, people need to get a pass, which in obtained by only way… surviving on the Cyberoseum Arena.
P.S. “I’m Russian, English isn’t my native language, so sorry for mistakes that are could be found…”