Even when limited by the lack of specialized hardware, the CoCo has always been a great gaming platform. But, also because of that limitation, in a most unusual way.
A very large percentage of the CoCo’s game catalog was released in cartridge. Also, as said catalog was quite small, even more when compared with the one available for the C64 and the ZX Spectrum, many CoCo users spent countless hours writing their own games.
Therefore, many games were perhaps lacking in some details, that were not evident at the time. Either because of the restrictions imposed by the small ROMs in the old Program Paks and the implied "Read only" nature of the media, those games did not include intro screens, in-game instructions, savable high scores and other refinements.
This also happened with games written by "not-so-professional" developers, who often did not have the resources, time, or knowledge to include those. This became the standard, and I remember being surprised when a game included a nice splash screen, persistent high scores, or even asked which joystick I wanted to use.
As the years went by, new games kept coming, even long after the CoCo was discontinued. Those games used ever improving techniques and newly available hardware to deliver amazing results in terms of graphics, animation, sound and playability. But even most games released in the last 5 years are still missing those nice, extra features. I’ve often found myself plugging a joystick for the 3 time - CoCo joysticks were the predecessors of USB connectors with their 3 possible positions. No matter in which port your joystick is connected to, the game you want to play will use the other one - or trying to imagine the which color is which in my RGB monitor when a game is hard coded for CMP. I won’t even mention the possibility of a game caring if you are using a CoCo 1/2 or a 3.

What should be there.

Personally, when I write a game, I try to include as much as I can. This days storage is mostly unlimited, and even cartridges are not limited to just 8 KB ROM, but they can also include additional hardware.
Good looks A good game should be visually attractive.
Intro screens in SG4 mode can be loaded before the real game, and work as a loading screen. Taking just ˝ KB and with tools like the SG Editor ( there is no real reason not to use them.
Empty backgrounds should be avoided. If a game uses a square play area, then the rest can be filled with some detail, like the arcade version of Tetris does.
"Attract" modes, even tough they can be a bit more demanding, look great and can teach the basics of the gameplay. At least there should be a "Main menu" screen with some animations or flashy colors.
And everyone deserves a good reward at the end. Wouldn’t you be disappointed if after beating a great game, you only get a green screen with "You won!" in the middle? Again, just a nice SG4 screen to be loaded on the fly will be better than nothing.

Adapt to my needs

Haven’t you ever loaded a game in your CoCo 3, connected to a monitor, with just one joystick connected, just to find that the game defaults to composite video and the other joystick?
Being able to define the game controls, or choose between keyboard and joystick can be a great asset. If the game uses the keyboard, wouldn’t it be nice to use the arrow keys in a CoCo 1/2, but use QAOP in a CoCo 3?
If the game is being written in a CoCo 3, then it is quite simple to detect if the machine running it is a CoCo 1/2 or a CoCo 3, and then, jump to a menu asking if the player is using RGB or CMP video, to load optimized palettes.
And if the game targets the CoCo 1/2 - let´s say it uses PMODE 1 graphics and runs in 32 KB - using a CoCo 3, be either real or emulated, to be able to add display specific palettes, is not that crazy. Worst case, you can always deliver 2 versions of your game, one for CMP and another for RGB.


And what good is to ask 3 or 4 configuration questions, if that configuration can’t be saved? Just as good as having the world’s greatest high score ever, and knowing that it will be gone forever once you leave the game.
A simple .INI file can store the user preferences, and a High score. Although using 2 files will make it easier to reset either.

Be flashy

Take advantage of the new technologies, and old "power ups".
Any game can use 2 disks, since it is quite safe to assume that most players will be either using an emulator, or multi disk drive of some sort. All the game code can be in one disk, and that will leave you with +150 KB to be used for splash screens. That is 4 in HSCREEN 2, +35 in PMODE 3, or +300 in SG4! All ready to be loaded in a second or two at worst (The "Furious Felines" intro loads in 1.5 s using VCC).
If you are targeting the CoCo 3, 512 KB is plenty of space for a ramdisk. Copy images, graphics, even short animations to it and load them in fractions of a second.
And remember that this days there are more sound options that you can keep track of. Again, an in game menu can let the user choose which one they have, or make versions specifically tailored for some of them. Can you think of a game that would not be cooler with some words from the old Sound and Speech Pak?
Multi-button game controlers, software high-res joysticks, multivoice music, are just some of the many options available to most users this days.
I often hear developers stating that very few people have those devices, and that they would write for them if only more possible players would have use them. And then, those players don’t buy the hardware because there is no software that will take advantage of them. A perfect "Chicken or egg" scenario. You can take the first step here.

Then, what?

In brief, if you are writing a game, you should consider the following:
Take advantage of the available hardware and resources. Memory expansions, virtually unlimited, ultrafast storage, sound paks and more are common this days.
Save high scores and system and control configuration. Let the user choose which joystick, if any, they want to use, and which type of monitor.
Show intro screens with background music, use the many video pages available (up to 9 in a CoCo 1/2, and at least 2 more in a CoCo 3) to show achievements, intermissions, instructions, etc.

And more.

Get inspiration from modern games. Forget about just having a score and lives.
Badges, level ups, congratulations screens, even save the high scores in a cloud DSK (using drivewire) so all players can compete!
Every 100 points, you get a magic crystal, that can be used to buy extra lives or power ups, and if you play ever day (RTC or internet check), you get more crystals!

Some examples.

"Timberman" keeps track of your progress and scores, and has unlockable characters.
"Nutroid", a SG4 graphics game, has a CoCo 3 specific version for RGB and CMP video, saves high scores, and has in-game instructions.
"Forest of Doom" has an amazing instruction manual.
My own "Minecamp 2" lets you choose between keyboard, mouse or joystick for controls, saves high scores, has in-game instructions, and a nice intro screen.
"Hippo Teeth" detects if it is running in a CoCo 1/2 or 3 to set the correct color palette and screen mode.
"Furious Felines" has a loading screen and an intro screen with music, and F.F. 2 adds an instruction manual and uses the 320x225 screen mode.