HBL Interviews: Keith S (Chibi Akumas)

      No Comments on HBL Interviews: Keith S (Chibi Akumas)

Here we have another fantastic interview for you all, Chibi Akumas developer Keith S as he likes to be known as, takes some time out from his game development exploits to have a chat about creating games and much more.

Homebrew Legends

Thank you for agreeing to our interview, please take a moment to tell us a little about you?

chibiakumas

My name is Keith, I was born in England, and I moved to Japan for work around 2011, I grew with the Amstrad CPC, and it’s the system I leaned about computers from, but these days I’m not just interested in the CPC, and collect most computer systems I can get my hands on.

HBL

What was the first game you created?

Keith

The new game is an enhanced version of my original “ChibiAkumas” game, but I wrote a large number of little basic games in the 80’s, I don’t think they really had names, most of them were based on ‘type ins’ I did, that were modified or re-written to work differently… one of the first type-ins I did was the game “Space Hockey” from Amstrad action, and about 10 years ago I released a remake of it as an iPhone game (though it sold about 10 copies)

ChibiAkumasHBL

What is Chibi Akumas?

Keith

Chibi Akumas was my attempt to bring a modern “Bullet Hell” style shooter to the old 8-bit systems… I wanted to try to do something technically and visually different to what had been done on the 8 bit systems before.

HBL

How is the new version improved?

Keith

The new release uses an upgraded version of the game engine that was created for Episode 2… however it now has improved features, such as removing the limit on the amount of “onscreen player bullets”, better multi-direction fire mode, and general optimization of the sprite routines and game code… more importantly the game engine can now compile to 128k ZX Spectrum and MSX2 as well…

HBL

How do you go about converting the game to other systems?

Keith

The first stage of targeting a new system is research, I get every scrap of useful documentation I can, read it over, and make my own summarized notes on it… then I play some of the “Best games” the system had to offer from the day, to try to work out what the system is capable of, what works well and badly on the system – once I understand the hardware from reading the documentation, I can often spot the “Tricks” the games use to “work around” the limitations, and this helps me design my own game.

Then it’s all about writing test code, and starting to build modules which will handle things that are specific to that platform like disk and graphics functions… eventually I get to the point where I can start incorporating these into the game engine, and get the game running on the new system.

One of the big challenges with the MSX and Spectrum were the totally different graphical functions of those systems, The Spectrum is limited to 8×8 color blocks, and the MSX graphics system is not held in regular memory, and is basically a “Co Processor”… I was able to reduce the challenge of supporting these systems by writing my own sprite editor, with special conversion routines and exporters, to make recoloring and saving screens and sprites for so many graphics systems easier.

HBL

What were the main challenges of developing for each system?

Keith

On the CPC, the main challenges are keeping 464 support working and using CPC+ sprites… on the 464, half the memory is used by the screen buffers, so the game code only has 32k left for all the functionality, It’s really tough to make the game work on 64k, and make the game all it can be on 128k systems… Plus sprites just make this harder! The routines to do CPC+ sprites are totally different to the regular ones, adding more programming work, and more size to the code!

On the MSX it’s the VDP (Video Display Processor)… firstly, in a straight ‘Pixel pushing’ fight it’s about 30% slower than the CPC at the same task, and secondly to make it work well, you have to design your code to work with its limits – this is true of the other systems, but in graphics terms, what’s fast on a CPC is also fast on a Spectrum… I rewrote the sprite code and redesigned it, so that it works with the MSX VDP, but the game code treats it the same as the other systems… the Sprite Editor I wrote does the conversion work for me… the only problem was, there was no way to avoid rewriting the background code for all the levels, as the MSX needed a totally different design, and as this filled the most screen area, any inefficiency would be fatal

On the Spectrum the “Color-block” limitation is tricky, each 8×8 area can only have 2 possible colors… after looking at other Speccy games I liked on the market, I decided that limiting movement to 8×8 blocks, and giving sprites their own colors would work best for me, this meant some level redesign, but not much… surprisingly much of the Spectrum graphics code is the same as the CPC code, just with a few extra lines for the spectrums color attributes… a more tricky problem was the memory bank limitations, the Spectrum has an unmovable 16k rom, meaning even on the 128k spectrum, only 48k is addressable… because of this, I had to do some weird tricks in the spectrum code to get the game working, that were not required on the CPC or MSX.

HBL

What do you have planned for the future?

Keith

The current game is finished, but I’m still testing to ensure there’s no hidden bugs, right now I’m working hard promoting the game (which I find far harder than developing)… I’m planning a port to the “Enterprise 128k”… a powerful, but relatively rare system… its graphics are very similar to the CPC+ so I think I can do a relatively quick port, probably a month or two… I’m also planning localized versions, in Japanese, Russian and Spanish… it’s all about bringing the game to the attention of as many people as possible, and bringing a fan base to the game, so I can keep motivation up for the next big developing marathon! I have a lot of other games planned, but completing games isn’t about having the most skill, or enough ideas… but about keeping motivation and working to a strict routine (whether you want to or not) until the game is complete.

At the same time I’m doing my Youtube series on Z80 programming, in which I’m trying to teach the skills I’ve learned (and stop others making my mistakes)… it’s also giving me a good opportunity to expand and refine my knowledge to other z80 systems, like the Sam Coupe, GameBoy and Sega Master system. The tutorials are proving very popular, and I want to develop them far beyond what I currently have, to other platforms beyond the Z80, but of course time is limited, so my Youtube series, and game development are currently fighting for my spare time.

HBL

What do you for a living now?

Keith

I work for a small company in Japan, my job title is IT Manager, but I’m basically the IT department, so I’m a “Jack of all trades” and do everything from software development and training to photography and graphic design.

HBL

Whats next?

Keith

I’m hoping to release the game in Japanese, Russian and Spanish… and I’m planning a port for the Enterprise 128 (a rare system similar to the CPC)… I’m hoping to do a couple of ‘mini games’ based on the current shooter-game engine… I have some other big games planned after that, but time constraints will mean I won’t start work on anything major until next year.

I’m also working on a series of retro programming tutorials, which are proving popular, but are taking time that I could spend developing, they’re currently focused on the Z80 systems, but I intend to progress to the 6502 and 68000 based systems later.

HBL

Any thoughts for doing games on other systems? Megadrive/Genesis, Dreamcast or SNES.

Keith

Difficult to say at this time, I’d like to focus on the Z80 systems for now, so a Gameboy or Master System game would be more likely, but anything is possible… I wouldn’t be too interested in a ‘Modern’ 3D system like the Dreamcast, but a 16 bit system like the Megadrive or NeoGeo would be something I’d consider if I had unlimited time, but I’m pretty busy these days, so concentrating only on the Z80 means I can focus my efforts and produce better results.

HBL

Are you surprised with the resurgence in retro gaming?

Keith

Yes and no… At the moment I think the current popularity is because people like myself, who are reaching middle age and have money to spare are pursuing it, so it doesn’t entirely surprise me.

The popularity of these recreated and ‘Mini’ consoles does surprise me… in the second-hand store near me, the one Super Famicom-Mini sells for 6000 yen, but there is a stack of real famicoms lying unsold for 600 yen!

What does surprise me is the high skill level of the average members of the community, there are so many developers of games and hardware out there it’s quite amazing what new potential is being brought to the old computers!

HBL

Do you have any games that are just sitting on your drives unfinished that you may release one day?

Keith

Nothing recent, I was terrible for that when I was a kid, but these days I’m pretty focused, so if I get something off the ground, I get it finished… I started writing an iPhone ‘rhythm game’ some years ago that I abandoned, but by now, it would just be easier to start again than continue it, the iPhone has changed so much, I doubt I could even compile it any more.

HBL

Can you tell us what prompted you to get involved in Retro Game Development?

Keith

I’ve spent much of the last 10 years learning Japanese, but I’ve kind of reached my limit on that, I was looking for a new hobby, and Z80 Assembly was something I never really picked up in my youth, and as I started learning it, I found it a pleasant change from developing more modern systems, so I’ve been putting most of my spare time into learning more systems, and trying to get better at it… learning very old systems does help with modern computing too, as it forces you to design good efficient code, and to get good at working out how to do the basics yourself without relying on having libraries of code do it for you

HBL

What games at the time (and now) would you say are your biggest inspirations?

Keith

Design wise Chibi Akumas is inspired by arcade games like Death Smiles and Cotton, the biggest inspiration for getting back into the Amstrad CPC was the ‘Batman Forever Demo’… I never imagined something like that could be done on the old Amstrad CPC.During the first few weeks of development, one or two nights a week, I’d turn off the lights, turn up the speakers, and watch the demo as a reminder that you can’t assume that just because something hasn’t been done that it’s not possible, and so not to underestimate what I could achieve even if I didn’t believe I was up to the task I was setting myself.

During original development of my game, I kept it very quiet what I was working on, I’m pretty sure if I’d posted “I’m trying to make my first CPC game, it’s going to be a

shooter with hundreds of onscreen bullets like I have on my Xbox 360” people would have called me an idiot… and told me it couldn’t be done, or wasn’t possible for a beginner… I never thought I could actually write a game of the standard of ChibiAkumas… Sometimes I guess you just have to keep trying, even if you believe it’s impossible yourself, just to see how close you can get to the ‘Impossible goal’ you’d like to achieve

HBL

What is the biggest challenge you face with the limitations of the hardware, particularly as you continue to expand features title-to-title? (Memory? Graphical capability? Speed?)

Keith

With 8 bit development you’re always trading speed for memory, you can be fast but waste bytes, or small but waste speed… if you’re looking to create a game which comes across as ‘impressive’ (compared to the average 8 bit game), then you really have to design the game ‘around’ the limitations, so you don’t have to do the things the system is slow at.

Each system has challenges, with the Spectrum, it’s the ‘color attribute screen’, with the MSX it’s working with the relatively slow VDP (graphics co-processor), and with the CPC it’s getting data to its 16k screen fast enough!

HBL

Do you have time lines built-in to the management of these games?

Keith

Yes, I have an expected completion date, and I allocate the time accordingly, with this game, I was aiming to complete 1 level a month, with developing starting in December, and ending in March, Debugging and testing took longer than I expected, but I try to set myself ‘Time limits’… you can’t spend all your time perfecting the first level, and never finishing the rest of the game.

I have my own weekly targets too.. at the moment I aim to work at least 14 hours on game development, which is effectively, “spend at least half of every evening developing, and do a couple of hours each day at the weekend.”

Motivation is a big factor, and if you want to see your game finished, you have to work on it even when you don’t feel like it, so working to a routine, and setting targets is a way of accomplishing that.

HBL

Are you doing all the development individually?

Keith

At the moment I do everything myself, during my working life a lot of the projects I deal with get delayed or even canceled because of “disagreements in the direction” between people, or waiting for data from other users… I do every aspect of my games, from design, through programming to testing, drawing graphics and composing music, so these problems don’t happen.

That said, For the translated versions of the game I’ve got 3 native speakers helping me out.. I can write Japanese, but not without a proof reader… and I know zero Russian or Spanish, so there’s no option but to get some expert help!

HBL

Will there be a physical release of the game?

Keith

The game is available for pre-order on MSX, CPC and ZX Spectrum from Polyplay.

Finally, you can follow Keith’s dev of this awesome looking game and try it out on his webite.

Twitter: @chibiakumas

Top pre-order the game visit Poly Play.

Leave a Reply

Your email address will not be published. Required fields are marked *