Navigation

Sonntag, 20. Dezember 2015

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 possibleby 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

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:

It uses the same tile scale, so it can be directly compared with a CamoTactics map, and

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

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.

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.

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!