Sonntag, 20. Dezember 2015

How To Make Your Game Articles More Interesting

Browsing IndieDB and a few other games sites I have noticed many indie dev folks write very dry and boring articles about their games and development, often bloated with technical details (to be fair, it happens to me too sometimes). Being a dev myself, that doesn't bother me, but most readers will click these articles away after just a few paragraphs or even sentences. I think that's a missed opportunity to grow an audience right there.

So how can you possibly make your articles more attractive? 

How do you write an interesting and compelling article?

How do you make people stick around with you longer?

Having read and observed quite a bit about this topic, I have compiled a list that may help achieving this.

  • Add all kinds of multimedia content (gifs/videos, pictures) to your article.
    If you blog about games, your pictures and gifs you post doesn't necessarily need to be about games. E.g. when talking about making music, you might write: "Don't be like a keyboard cat", followed by the appropriate cat gif and by a set of do's and don't's. You probably notice I've done this above.

  • To allow people to quickly skim over your article, divide it into small sections with headlines.
    Some people do not want to bother reading everything, just the parts that seem interesting to them (I'm like that, too). You can keep your sections as short as possible by using pictures to split up large texts into smaller chunks that are easier to read. 

  • Use an interesting format that goes along with your content.
    Important statements in bold or as headlines, whitespace and images to create reading pauses, allowing the reader to contemplate what was read. Each time you're writing an article, imagine you're orchestrating a little movie into your reader's heads.

  • Use a writing style that includes humor, wit and lyrical means.
    For example, make use of
    metaphors, aliteration, hyperbole, rhetoric... How about adding a witty headline? The possibilities are endless. Feel free to play around and develop your own style.

  • Put your own stamp on it, keep it personal and engaging!
    Add an interesting story if possible. Tell a tale or anecdote serving as a transition to what you are trying to tell and sell. Tell us how this one bug you discovered yesterday was turned into a feature!

  • Less is more, keep it short.
    Don't bloat your article with too much technical details. Avoid text walls!
    Make your audience (including the not so tech-savvy ones) interested for more, so he or she comes back to you. You can, of course, e.g. briefly explain how your game mechanics work, but I suggest creating a separated, more technical article intended for fellow devs and technically interested people.

  • Spread your content. Instead of trying to put all of your material into one post, it's often better to make two posts. Firstly, you can market those posts at different times (more people will see it) and also have more articles to spread around on your social networks. Secondly, by disclosing a bit less information readers are likelier to come back to you for more.

Feel free to add your own suggestion in the comments! Feedback is welcome and appreciated!

Samstag, 19. Dezember 2015

CamoTactics: Editor, Map Previewer, Skill System

 This is a more technical article discussing the recent features I implemented in the last three months.

I'm happy to be back, developing this game. So let's talk about some of the recent things I have been working on: editor implementation, database changes, improvements to the skill system, and other technical things, which I explain in more detail.

Editor Implementation: Create your own data!

I've been working on an editor implementation, that currently works as a proof of concept. Some objects are a pain to edit manually and having a visual and idiot-proof interface to do that is nice to have.

It's capable of fully automatically creating a display component using properties information defining how a class should be displayed (like a Weapon in the picture to the left). For example, hit points are being displayed as spinner component with a range limit from zero to infinity: that means you cannot enter values below zero. For defining projectile IDs (that specify the caliber of a weapon), an ID editor helps choosing one valid projectile by getting all projectiles currently existing in the database.

The method of fully automatically generating a display component like this can also be used to display objects in the GUI, due to its modular nature and compability between frameworks. Spares me to create info screens manually!

Database Improvements: I don't care what framework you're on!

All data is now saved in binary or JSON files. The database managing sprite sheets is now compatible across different frameworks (libgdx as used by the game, java swing as used by the editor). The game will know what type of images are needed and loads the correct image classes. What files (that means, image, binaries or JSON files) should be loaded is freely configurable, too, which will be a paradise for modders.

I am also working on controller bindings so I can implement gamepad support and changable controls.

Skill System: All your perks are belong to me!

The skill system got a redo as well, going from a purely mathematical/formula approach to a more "perk-based" or percentual approach. A test setup of this you can see below. The output consist of total experience, the current experience in this level, followed by a list of skills or properties.

The plan is to make it possible to train skills by using them and degrade them if you don't. The effectivity of all skills improve as you level up.

Let's take the first property as example:

"Hitpoints [100]: 142 - 21%" 

It's basically interpreted as:

Attribute [BaseValue]: CurrentValue - Skill%

Hit points are affected by a skill called "Hard as a Rock", which is 21%. So if you are Lieutnant rank with 21% of this skill (which isn't much at all), you will have ~142 hit points available. The BaseValue is multiplied with Skill% and then calculated together with the rank of your character. If you level it up enough by taking damage and killing enemies in melee, your hit points can increase up to 500 and more.

Map Previewer: Hello world!

A while ago I created small, tile-based engine in Java Swing out of boredom. Turns out it can be used to preview and plan out CampTactics maps!


It is very handy for two reasons:

  1. It uses the same tile scale, so it can be directly compared with a CamoTactics map, and
  2. Prototype maps are fast and easily created using a simple image editor (like MS Paint). That has its advantages, since creating prototype maps with the map editor Tiled gets tedious and time consuming after a while.
Like this, I just set up a so called color key that maps one color to a texure. Who would have thought this little engine would be so useful! :)

Next week, I'm going to work on the visual stuff a bit more and (if I have something to show) make a lot of screenshots!

Samstag, 12. Dezember 2015

Status Report #7: CamoTactics is Back! - Weapon Mods, Unit Graphics, Interface

The silence around CamoTactics was mainly caused by a switch to a much better framework (March-June), followed by profound real life changes (August-September). However, since end of October, I fortunately picked up development again.

A lot has changed during that time.

The necessity of changing frameworks arose after I figured out that the input polling system was going frenzy with updates once too many bots were on the map. In fact, it didn't make any sense at all since, what does AI have to do with the fact you're pressing a key on your mouse or keyboard...? Nothing at all. What a baffling bug that was.

So that ate up much of the performance that was needed elsewhere, e.g. rendering, making the game very slow and resource-demanding. The error likely was somewhere deep, deep down in the library I was using and therefore not in my power or knowledge to fix. Restrictions imposed by the libraries' way of handling things were another issue I had.

Thus, instead of having to deal with all these problems (which likely will magnify as the game's development progresses), I decided to switch frameworks instead:

In retrospect, that decision is probably the best thing that could have ever happened to CamoTactics.

I managed to improve the overall visual appearance, for example:

  • canon turrets rotating around the correct center (no more funny looking tanks!)
CamoTactics Shooting
  • bullets spawning at the correct canon position (no more hitting yourself with bullets!)
  • canons finally being positioned correctly (no more canons wobbling around next to your vehicle!)
  • smooth camera movement
  • inventories with better functionality (no more sluggish drag 'n' drop!)

As you can probably tell, there is a first implementation for language support, too.
  • inventory icons grow in size when hovering over them (more interactivity!)
  • better graphics for tanks and soldiers (more eyecandy, just in time for Christmas!)

And yes, those are in fact different uniforms and skin colors here.

Uniforms will eventually also affect how your avatar in-game looks, too:

...and much much more, as you can probably tell! All this goes along with a variety of things I could not do before, e.g. adding glow effects, mobile port... the list goes on!

But not only visual appearance has improved.

Since libgdx makes use of your GPU, performance also made quite a leap, see the table below.

framework comparison

The values are approximations, using my desktop, with approximately the same circumstances. Those are enormous differences... especially considering the advantages! It's like trading in your crappy Fiat for a fast and comfortable Mercedes - which is pretty neat!

Migrating the game to the new framework also made me realize how crappy the old one actually was. If you ever get into gamedev: spare yourself a lot of work and choose your tools wisely. Means: don't drive a Fiat if you can have a Mercedes.

Despite of not being able to run CamoTactics from the period from September till December, I was able to do some important changes to the source code that were long overdue (I was just not able to test it). But I want to discuss that and a possible next release in next week's article.

Full development can resume now, as I just got new awesome hardware!

(I can play Fallout 4 on this!)

Look forward to more regular updates! Thanks for staying with me and following CamoTactics!

Stay tuned!

Donnerstag, 18. Juni 2015

CamoTactics Devlog #1

First devlog is online! Check it here:

I'm considering doing many more of these in the future, whenever I have something to show off, because this one was more fun to do than I thought it would be. This blog will still be updated (and in fact I should do this more often).


What I thought came a bit too short in the devlog was the current state of the story. The first half of the game is carefully planned out, with many diverse locations to explore. Some uncertainty exists, especially how well the gameplay is going to go along together with the story, but I am sure I will take on these challenges successfully. It will take me a while to draw out all cut scenes and get the dialog into the game, but I am very excited to work on it overall. Many of the proofreaders who volunteered reading so far called it an "interesting" and "inspirational" story. (Again, thank you for providing valuable feedback and criticism, you know who you are.)


I have a lot of concept art in progress. Here are the three main characters in the game, all playable at some point in the story. The picture is still a work in progress (I want to offer the highest quality I am able to pull off, so it takes me ages to get each character even done).

Next Build?

Next playable build is in the works! I expect it to be ready sometime in the next two weeks. Some things have yet to be fixed before I release it, but granted it's going to be be a huge difference compared to the last build I have distributed publicly. The game is slowly getting out of the demo stage, and once I have the first two missions completed, I'll start putting a price tag on it. The game will very cheap first, and I will only raise the price as I add more features and missions.