Cyningstan DOS Games

Games for Early PCs

Blog Posts

SDL Abandoned, and What I Did Instead


28 Jan: Last month I posted an article " A Future Development for CGALIB " about how I was planning to add SDL2 support to the CGALIB Graphics Library . A month later, and that hasn't happened. In this article, I'll tell you why, and what I ended up doing instead. For those who don't want to read the previous article (and I don't blame you), the idea was that SDL2 support in CGALIB would allow me to develop my ... (read more...)

On Generating Names


14 Jan: None of my games yet published make use of automated name generation. But it's something that I'm interested in for future projects. Procedurally generated worlds and universes rely on some way of generating names for the people and places within them. As my teenage self found out, it's no use just stringing random letters together and hopeing for the best. Once I found this out, an early attmept of mine produced names that were *nearly* good enough for ... (read more...)

A Future Development for CGALIB


17 Dec: My next project has been held up by a show-stopping bug. I've found it difficult to track one kind of bug in OpenWatcom: the kind of memory corruption that doesn't appear till way after it happens, usually in an unchanged section of the program that's been working fine for a while. The problem is that the OpenWatcom debugging tools don't appear to work for 16-bit DOS development. A debugger would help me find these errors a lot more ... (read more...)

CGA: So Why All the Cyan and Magenta?


12 Aug: Part 5 of a blog series on CGA palettes. Originally posted on my personal web site in 2020. Since the 1990s I've known about some of the possibilities that the CGA graphics card offers, and looked with disappointment on the shades of cyan and magenta that grace what must be at least 50% of games on CGA. If an amateur game developer with little artistic talent such as me could see the possibilities, why were professional game companies ... (read more...)

Barren Planet: Out Into the World


8 Aug: I'd been posting often about Barren Planet since its first inception. This is not my usual practice. I tend to keep projects secret until they're at least ready for beta testing. This keeps off the pressure on what's supposed to be a hobby: if nobody knows a project exists, delays don't matter, and I can take a break or even cancel a project entirely. But because I've been posting about the game, it's gathered a lot of interest before ... (read more...)

Some Background on CGA


5 Aug: Part 4 of a blog series about CGA Palettes. Originally posted on my personal web site in 2020. Black is a very useful colour, and artists don't give it up lightly. But CGA can give you some great rewards if you're willing to sacrifice that default black background colour. Suddenly a lot of interesting choices open up.  Frogger II  is an early example that led the way: it used the red, cyan and white foreground palette I mentioned ... (read more...)

Barren Planet: Putting it to the Test


1 Aug: I've learned from previous projects how best to tackle testing, and I'm still learning now. I favour private beta testing over public. Public beta testing might get more volunteers, but I've found I get lots of downloads and next to no feedback that way. With a private beta test I know who the testers are, and I can contact them directly from time to time to get feedback. So when Barren Planet was ready, I contacted about a ... (read more...)

CGA Graphics: Not All Cyan and Magenta!


29 Jul: Part 3 of a blog series on CGA palettes. Originally posted on my personal web site in 2020. Reading the original BASIC manuals for my first PC, I found out what CGA claimed that it could do in 320x200 mode. Firstly, it allowed you to select one of the following two palettes for your three foreground colours: green, red, yellow, or cyan, magenta, white.  While this binary choice is limited, we already see possibilities. A game set ... (read more...)

Barren Planet: The Process


25 Jul: Bringing all the features together for Barren Planet ended up taking over two years. This included breaks due to burnout, ill health, and the occasional break for short jam projects - projects that actually did turn out to be short, unlike Barren Planet ! The project began with a library for the game mechanics. On the Psion these were integrated tightly into the game, and reusing the mechanics in successive games meant deconstructing and reconstructing a game around ... (read more...)

What Can CGA Do?


22 Jul: Part 2 of a blog series on CGA palettes. Originally posted on my personal web site in 2020. Today I want to give a broad outline of what the CGA card is capable of, particularly for gaming. Modern gamers who've been exposed to it might think that it's capable of black, cyan, magenta and white, but there's a bit more to it than that. Before talking about the graphical capabilities, it's worth discussing the text modes. There ... (read more...)

Barren Planet: The Features


18 Jul: Once I'd decided that Barren Planet was to be a full-scale project, I came up with a list of features that I wanted in the game. From The World at Strife I adopted the game mechanics in full. Battles are fought on a square grid map with up to eight terrain types. Anything up to 30 units are deployed, of up to 8 unit types. The battles are put together into a campaign, where the result of one ... (read more...)

My Journey into CGA Graphics


15 Jul: Part 1 of a blog series on CGA palettes. Originally posted on my personal web site in 2020. One aspect of computing that has been fading from the collective consciousness is that of CGA graphics. Gamers of the early 1990s will remember that many PC games had support for multiple graphics standards: often the list was CGA, EGA and VGA. CGA was the oldest of the three, having been launched with the original PC in 1981. In capability ... (read more...)

Barren Planet: the Inspiration


16 May: There are several sources of inspiration that went into Barren Planet . It's not an original game. It's my attempt to bring together ideas from different games that I've enjoyed. In doing that I hope to create something distinctively my own. The biggest inspiration for Barren Planet and its predecessors is the Blue Byte game Battle Isle II (known as Battle Isle 2200 in North America). Battle Isle II has a more varied setting, not just a barren ... (read more...)

Barren Planet: From the Dev Diary


9 May: Barren Planet was naïvely conceived as a straightforward 1-month jam game back in 2020. I had other projects in progress, but a DOS game jam popped up and those other projects were nowhere near ready. So I thought, why not revive an old game I had written for another platform and implement it for DOS? I'd managed to do just that with Ossuary , my 2013 ZX Spectrum roguelike, which I ported to DOS within a month. Barren ... (read more...)

Drawing Graphics for Monochrome Compatibility


6 Apr: I'm no artist. That's one of the reasons why I target my games to a machine with a 4-colour screen. Give me 4 colours and a 16x16 pixel canvas, and I can just about manage to draw a decent sprite. Give me a modern resolution with 16 million colours, and I am quite lost. As I practice drawing mockups and assets, I am learning a few things, though. One of the lessons learned is what to do and ... (read more...)

A New Palette Chart


1 Apr: A new version of the CGA Palette Chart is available. This shows all of the full four-colour palettes available on a PC with a CGA card and an RGB monitor. Now in its third iteration, the CGA Palette Chart has become a project in itself. The original showed just the four colours of each palette. The second edition improved on this to show some of the extra colours and shades available through dithering. This third edition is expanded ... (read more...)

The Anarchic Kingdom: Release, Publicity and Lessons Learned


23 Jun: I released The Anarchic Kingdom on Saturday 22nd May. This was quite a bit of work, and required some preparation beforehand. Firstly I had to do some last minute development tweaks. The beta time limit was removed. I also developed a version that never quits, but simply restarts, which is necessary for the game to be played in an embedded web page where you don't want to see the DOS prompt. These were simple and relatively painless. Then ... (read more...)

The Anarchic Kingdom: Trying it Out


16 Jun: The DOS Spring Game Jam is pretty relaxed about timing. It's not a competitive jam, so participants are welcome to start development early, or even submit things that they have been working on for a while. I took advantage of this leniency by implementing The Anarchic Kingdom in the month before the jam, and then reserving the month of the jam for testing. This went mainly to plan. Some testing of the text mode version was done during ... (read more...)

The Anarchic Kingdom: Making it Pretty


9 Jun: The original Demesne was to run on a computer that had a screen of 640x240 pixels in 16 greyscales. I had conceived a graphical art style that put most of the action on a tapestry hung on a castle wall. Menus would have buttons styled after scrolls of parchment, and player selection was by choosing a coat of arms hung on the castle wall. The eventual target platform for The Anarchic Kingdom , an 8088 PC with 320x200 pixels ... (read more...)

The Anarchic Kingdom: a Simple Idea for a Game Jam


2 Jun: Last year I had hoped to develop a strategy game in a month, for the DOS Fall Game Jam 2020 . I chose a wargame project I'd implemented on the Psion, The World at Strife , thinking that reimplementing a game I'd already written wouldn't be too difficult a job. But I found in retrospect that it was hopelessly ambitious for a one-month game jam. That game is still in development and will eventually become Barren Planet. For ... (read more...)

The Anarchic Kingdom: from the Dev Diary


26 May: Now that The Anarchic Kingdom is out of the door, it's time to look back over the development process and share it with those who are interested. You'd think that such a simple game would have a short development life. But development of this game started in about 2006, on a different platform. Back then I was interested in developing for the Psion Series 5 , a once popular handheld computer that had become obsolete half a decade ... (read more...)

Building a Dungeon Level


28 Apr: I've been building a dungeon generator library for use in future projects, called LevelMap. A further development of the dungeon generator used in Ossuary , this library will give more variation in dungeon shape and construction than we see in Ossuary. Ossuary's dungeon creator works on grids at two levels. At its most detailed, it has a strict 16x16 tile dungeon. That space is split up into nine cells on a 3x3 grid. Each cell of 4x4 tiles ... (read more...)

A Palette Selector


24 Apr: A recent thread on our Twitter account about CGA palettes resulted in a new graphic to show all the different 4-colour palettes available in the 320x200 graphics mode. It's an improvement on the simpler design I been using for the past six years, and shows what kind of dithering effects and background combinations each palette gives. I'll be using it to choose the best palette for each of my future games. It's presented here for you to save ... (read more...)

The Wargame Engine Behind Barren Planet


10 Apr: Barren Planet is based on two libraries. One is CGALIB, the graphics library used by my existing game, Ossuary . The other, CWG, provides the basic game rule mechanics behind Barren Planet and, hopefully, future games too. I want to talk about CWG in this post. CWG controls the battlefield. It defines the unit types that will be present in the battlefield, and the terrain types that will be present on the map. It holds the map itself, ... (read more...)

Ossuary Development Retrospective: a Post-mortem


20 Feb: It's fair to say that the PC port of Ossuary hasn't been as successful in its early months as the Spectrum version was in 2013. The Spectrum version got a few videos in its first few months not solicited by me. So far one video has covered the PC version, but only after I made the content creator aware of the release. I did make some promotion efforts. Contrary to my previous practice, I discussed development on twitter ... (read more...)

Ossuary Development Retrospective: Testing and Release


13 Feb: During development I was constantly playing the game myself. But there came a time to let other people try to break the game. I tend to prefer closed beta testing, where I know who is plaing the game and can keep in touch with them to get their impressions. I did advertise publicly though, as I knew few people willing to put time into testing an early DOS game. I set up the Discord server initially as a ... (read more...)

Ossuary Development Retrospective: the Coding


6 Feb: The ZX Spectrum original was written in Z80 assembly language. That's the only way to fit a decent game into the memory of the 16Kb model. I'm not fluent in 8088 assembly language, but I am confident in C, so it made sense to use C as the development language. The 8088 is quick enough to write a turn-based game without resorting to assembly language. I started out using OpenWatcom C's own graphics library to draw the graphics. ... (read more...)

Ossuary: a Development Retrospective


30 Jan: With the launch of the DOS games web site I thought it was a good time to look back at the development process for Ossuary, my first full game for DOS since my early freeware/shareware attempts of the 1990s. Ossuary wasn't originally developed for the PC. It was one of a trio of games for the 16Kb ZX Spectrum, a somewhat more limited system than the early PC. I chose it as my first DOS project because I ... (read more...)


New Comment

Yes No