MicaByte Game Library open sourced

I recently released the MicaByte “Game Library” as open-source.

I work almost entirely in Native Android. That’s mostly a convenience thing – the time I have for game development is very limited, and although I am a C++ programmer by trade I like Java as well. Java is not a perfect programming language (none of them are), but it is good at getting out of the way and letting you simply do work. And while there are very many things that I absolutely hate with the Android APIs, it shares many of the strengths (and weaknesses) of Java. One of the reasons I started doing Android games was because of how easy it was to move into – I literally spent 2 weekends to create the first version of “A Brief History of Rome” (not published incidentally).

There’s another reason why I prefer sticking to Android, and it’s my dirtly little secret: I hate GUI and graphics programming. It’s not that it is hard (though it can be, take a look in the fantastic libGDX code base to see how complicated it can get); it’s mostly that I’d rather spend what time I have actually working on the things that I find interesting: the game design, the game engine and the artificial intelligence. The GUI and graphics are the dreary chore that I need to do in order to do justice to the rest.

Unfortunately, pretty much every game library for Android (and I’ve looked at most) aims for cross-platform compatibility, and in the process essentially end up making the development of graphics and GUI for Android harder, rather than easier. They also tend to focus on full-screen arcade/action game functionality, which tends to be less than useful when you need impart lots of information and display large maps. If there is something better and easier than native Android for doing simple strategy games, then I certainly haven’t found it yet.

The Game Library (though it hardly merits that name) is essentially a collection of utility functions and classes based on the native Android interface (not OpenGL) that I’m using in the development of Dwarf King and Small Battles. Most interesting for those who can get a little use out of this, perhaps, is the implementation of the SurfaceView and SurfaceRenderer, which builds pan, fling and pinch-zoom on the typical examples. When I have time to clean up something clean, I’ll put up an example Android app that shows how I use the classes in the android library in practice. The library is licensed under Apache License 2.0, which essentially means you can use any parts as you like, as long as you provide attribution.

Why open-source? Well, why not? All of the code in the library is either trivially simple, or stuff I picked up the ideas for around on the web. It’s not as if I’m doing anything terribly original or even – for that matter – very complicated. If others can benefit from looking at my code (or even improve it), that alone is worth the effort of cleaning it up and putting it online. Also – these days, open-source is in my DNA (I work with open-source software for a living).

The source code is available on GitHub; https://github.com/micabyte/android_game

It’s still pretty simple as I’m still cleaning up and adding a little code + I also need to create an example app that shows how it can all be made to comes together, but it’s a start. Enjoy.

Dwarf King

Dwarf King

In my New Year’s post, I teased two new projects, one of which is a game with the working title of “Dwarf King”, so what is it? Well – one of the things I have been wanting to do, is to reuse the choose-your-own adventure/RPG system I’ve built in other projects, and “Dwarf King” is the first attempt to do so. As in “Pirates and Traders”, you as the player will generate a character with three stats, multiple skills (though only 9 – I’ve streamlined the system further compared to the one in P&T), and buy, sell and craft items. The setting, however, is a fantasy world, your resources workers and soldiers, and your enemies goblins, men, and elves.

In “Dwarf King”, you play a young Dwarf Prince (or Princess) forced to take the crown after the fall of their ancestral home. Assisted by a motley collection of nobles, warriors, and artificers, you will lead the remnants of your people south over the mountains to try and found a new Dwarf Hall, recover the prosperity of your people, and maybe even in time strike back at your foe.

Concept art for Dwarf Warrior

It will not be easy, of course. In addition to the ever-present threat of the Goblins menace that wiped out your home and family, the player will have to contend with the dangers of an unexplored new country and the other races that live in it. The game itself mixes strategy game mechanics with role-playing. The strategy gameplay allows you to allocate your scarce resources; determining the balance of warriors, craft-dwarves and peasants in your kingdom, buying and selling resources, and constructing buildings and fortifications. You will also need to conduct diplomacy and try to forge alliances against the ever-present goblin threat. The role-playing segments allow you to take your character out on adventures: exploring the land, raiding with a small party of warriors, or waging all out war with the entire fyrd of your Dwarfheald. The non-combat sections play out as small Choose-Your-Own-Adventures, with the player’s skills, reputation, and the history of your Kingdom having a significant impact on the result. Combat is intended to be resolved using the Small Battles system. As a player, you will have multiple ways to meet the existential threat to your people, whether you chose the path of a builder and diplomat or as a general and warrior.

Unlike with my previous projects, for “Dwarf King” I will be focusing almost exclusively on the game design and development, and leaving the creative writing to someone else. My partner in this project, and the main writer for “Dwarf King”, is Ashton Saylor. Ashton is a gamebook writer, and a winner of the Windhammer Prize merit award for three consecutive years (2010 – 2012). The story of “Dwarf King” is loosely based on his gamebook “Peledgathol – the Last Fortress“, expanded and extended to take full advantage of dynamic story-telling possible in the digital format. This is an exciting challenge for us both, as we explore the story-telling potential of narrative strategy games.

“Dwarf King” is a big project, but as with “Pirates and Traders”, the plan is to start small and – with your help and support – develop the project to its full potential. I have other projects planned as well for the Story Engine, and in the long-term perspective, I hope to take the mechanisms and ideas developed here to implement other ideas that share some of the same features; perhaps even a bigger and better “Pirates and Traders” sometime in the future.

To keep up to date with development on Dwarf King, like the Facebook page or follow us on Twitter.

Small Battles

Dwarf King

So I teased two projects in the New Year’s posts, one of which was this one: “Small Battles”. It is a tactical battle system that I’ve been working on in one form or another for a very long time. It originates in the battle engine work I did on the Imperium project and builds on those ideas together with a lot of my board and miniature gaming experience.

“Small Battles” is a simple, but comprehensive game system that covers the battles of ancient and medieval warfare. The system features low unit density (20 units or less per side), fast battle resolution, and simultaneous turn-based gameplay. The system should be ideal for multiplayer, so that will be one of the features that I will be looking to implement at some point (though perhaps not in the first version).

The game focuses on the big picture of battles: as a General, you use the limited amount of command points at your disposal to direct your units, initiate combat, and rally or inspire your troops. The troops themselves are distinguished by their quality, morale and type, with enough detail to distinguish between the tactical strengths and weaknesses of legions and phalanxes, warbands and disciplined troops, and troops fighting in open or closed order. The map will be a low density square grid, but this does not mean that terrain plays less of a role. On the contrary, every terrain feature represented has an impact, making the right use of the battlefield critical for victory. Each turn will give the players difficult decisions about where, how, and when to expend their limited units and command resources on the battlefield.

Visually, I am still in the process of deciding how the battles will look, before I finalize the specs for the artwork. One possibility is a top-down look with the player attacking up from the bottom; essentially, the boardgame look. Units would look something like the illustrated counters that you’d encounter in a game like Rome at War and similar boardgames. The alternative I’m considering is the sideways unit view, similar to Imperialism and the old Heroes of Might and Magic series. I’m happy to hear what you guys think – just post on the forum – with one caveat: you guys asking for Pirates and Traders to be 3D – I’m sorry – it’s just not going to happen. ;-) I have enough work to do without having to deal with annoying OpenGL inconsistencies on the Android platform.

The first version of the game will be single-player, released free, and focus on a small selection of historical battles (mostly Roman) and historical armies (Celts, Epirote, Italian). Depending on interest and how much time I get to work on this, I will add multiplayer and (hopefully) a battle editor that will allow players to create their own battles that they can play against the AI or against friends for free. Then we’ll see where it goes from there. The battle system is going to be pretty flexible, so the possibility to extend the game system with additional armies and additional battles in DLC obviously exist if the game has enough of a fanbase to make that worthwhile.

If not, then I have other plans for the system. For one, the battle system will be used in my other project for this year, “Dwarf King” (more on that one later). Secondly, when/if I get around to developing “Pirates and Traders 2″, this battle engine will probably be the one used for the port attack battles.

My schedule is pretty much nonexistent at the moment (too much going on to plan), but if there was a schedule, it would say that an early, very limited test version of the game might come out during the next two months. We’ll see if I manage to make that deadline. I’ll also be setting up a Facebook page once I have some more visual material to post. Otherwise, watch my Twitter (or subscribe to the RSS feed of this blog) if this piques your interest.

Thanks for reading.

2013: New Beginnings

As those of you who follow the Twitter/Facebook feed may have gathered, Christmas brought a new addition to my household. Given that MicaByte is essentially a one-person, part-time company, that means that the next couple of months will be… interesting. I expect to be able to continue development on my various projects, but it would be naive to think that another little rascal in the house won’t affect my development work schedule. So we’ll see how far I get in 2013 with all the many projects I have planned.

One thing that I have planned is to get this blog active again. We’ll see how it goes this time; the last attempt fell down flat. This time, at least, I have a couple of posts planned out.

Another task for the new year is to wrap up development on Pirates and Traders. This version of the game is almost feature complete; any major new features at this point will have to go into an entirely new version of the game – i.e., not until and unless I do a sequel. However, there is still a deal of material that is planned for the game, including two long quests (similar to the “Crown of Montezuma” storyline), minor events, and additional backgrounds for the Gold! version.

I have been doing work on new features and ideas for the game engine for some time, however. I hope to show off the new game engine in two projects that will hopefully be released next year: “Dwarf King” and “Small Battles”. More to come about those projects in the weeks to come.

Until then, Happy New Year, all.

Android version 1.5

This is just a short announcement to warn that support for Android OS 1.5 in future versions of Pirates and Traders will most likely cease. Pirates and Traders was originally coded for a HTC Magic phone running Android 1.5, but Android soon moved on to more advanced frameworks. Fortunately, Pirates and Traders is not very complicated graphically, but it has always been a little bit of a pain to support the older versions of Android as 1.5 (and to a lesser extent 1.6) include a number of bugs that require somewhat special treatment.

With the latest versions of P&T, however, we are getting to the point where maintaining backward compatibility is no longer viable. I no longer own 1.5 hardware to test against, so I can no longer be certain that the changes I am making are not going to break something on these phones. As a result, I will be switching “off” the bit that allows 1.5 to be supported in one of the upcoming releases. The game will not disappear from your phones if you have 1.5, but future updates will not be pushed to the old OS.

Pirates and Traders: Retro will continue to support 1.5.

Thanks for your understanding.

The Blog is Back!

The Blog is Back!

First of all, my apologies to the three followers of this blog for the long hiatus. It’s a long story, but briefly put – Junior spent most of January ill with all sorts of interesting bugs picked up in kindergarten (and passing it on, whenever possible). That pretty much put me on the back foot from the start of the year, and intermittent bouts of interesting child diseases plus work pressure (both real-life and this “hobby”) has kept me on the back foot ever since.

So what is the status? Well, we passed 250,000 free downloads of Pirates and Traders some time ago. What can I say – a huge thank you to all of you who have taken the time to look at my development efforts and especially those of you who continue to play and enjoy the game after the first look. A very special thank you to those of you who have decided to support my development efforts by purchasing Pirates and Traders: Gold! I hope that the improvements that are in the pipeline will repay the faith you’ve shown in the game. Continue reading