How to make money as an indie gamedev

Quoting a piece of advice from Paul Eres on a post on Facebook’s Indie Game Developers group

There are only a few things you need to make money as an indie:

  • Choose a genre that is selling, and that you enjoy playing and are good at.
  • Be competent enough at programming and level design that you can make something that plays as well and is as fun, with some slight changes here and there to add your own personal touch based on your own desires and likes and dislikes.
  • Either be an amazing artist, or have an amazing artist on the team, so you can make something that stands out graphically.
  • Make sure either you can make a great trailer, or know someone who can, and make a trailer that stands out above all the other indies trying to make a game in that genre.
  • Know some basics about marketing — know how to use your game’s trailer and screenshots to gather a following for your game before its release, so that a good portion of those interested in your genre know that your game will soon be released.

Note that being original and good at coming up with ideas is not in the list.

Curse of Wallachia – First Days of Dev

Day 0

  • Hesitated to work on this, tried to team up with someone
  • Considered different alternatives for engines.

Day 1

  • Decided to go ahead with Phaser by adapting the OAX6 engine
  • Created test maps
  • Can move sprite around with walking animation

Day 2

  • Arcade Physics, Jumping
  • NPCs moving around
  • Stage transitions
  • Talking to NPCs
  • Started work in portraits, using the amazing 8bit photo lab

Day 3

  • Design levels and intro
  • Added support for lowercase letters and portraits to dialogs
  • Started working on cutscenes support, added simple timed dialogs

Day 4

  • Added animation for dialogs to display one letter at a time
  • Added full Engrish script for cutscene 1


Design and technical details about OpenArthurianX6

Adding a bit more detail of the features of OpenArthurianX6. You can still contribute to the campaign (23 days left).

What kind of game will you be able to create?

The engine will allow you to create 2D top down RPGs using orthogonal grid maps with an hybrid real time / turn based mode (real time for normal gameplay, turn based for combat).

The core of the engine is inspired by the Ultima VI engine, which means you can model your game world as a continuous single scale map where all action takes place (including combat) and you will be able to engage in conversation with NPCs to obtain information and advance through the game and its plot, using plot items to resolve puzzles and uncover secrets and exploring the vast world to find surprises.


Supported graphic styles include the oblique perspective characteristic of the Ultima IV engine, as well as a 3/4 front facing perspective similar to traditional jRPGs ala RPGMaker, and a full top down perspective for more symbolic, old school games similar to Ultima V.

The game will include two medieval fantasy art packs from Denzi: one will allow creating maps with an oblique, Ultima VI like perspective, while another one will allow creating older school looking top down games. New art packs will be released as allowed by the campaign budget.

Music and SFX

The engine will support situational music triggered by game events or tied to game locations, as well as sound effects for the game actions. Supported formats are MP3, OGG and WAV.

The engine comes bundled with a basic SFX pack. Music is left to the game developer to find for his own game.


  • Multiple characters party: You will be able to have NPCs and pets join your party, they will follow you around and you’ll be able to command them in combat if needed.
  • NPC Schedules: They wake up every day to go to their jobs and come back home in the night. Schedules are customizable per NPC.
  • Day and Night cycles: Reduced visibility during the night, different enemies activity.
  • Camping: Make camp in the wilderness to recover your strength, beware being ambushed!
  • Party AI: When in battle mode, other party members can act on their own optionally, selecting a proper target for attack or running away based on general parameters.
  • Dialogs: Create an history which is unveiled by talking with NPCs, finding clues and using the information you obtain from the to travel the world.
  • Crafting: Gather elements from the world and combine them between themselves or other items to create new items. Obtain leather from dead animals and create clothing from it, bake bread (of course!), create weapons using metals in a forge, and more!


The games created by the engine will be accessible for desktop (Windows, Mac, Linux), mobile (Android, iOS) and also playable from modern browsers.

Supported input modes

  • Keyboard: Movement will be done using the arrow keys, numpad or WASDpad.
  • Mouse and touch interfaces: Movement will be done by touching the map in the cardinal direction the player wants to move (without pathfinding). Drag and drop will be supported for inventory management.


The engine will be released under the MIT License, allowing you to use the engine for both commercial and non-commercial works, without you having to include any modifications or additional source code. All community contributions will be welcome of course.

Scripting and Programming

The engine is made on JavaScript, and in case you are going to use it directly (without the scenario creation tools), it will provide a JavaScript API which you could use from your own game’s code. JavaScript is also used for scripting events and behaviors.


Enhanced process for hybrid apps

Some months ago I wrote about the pain that it was to create a new build, I’d like to update that with my current setup which is much better tho not still super optimal.

I have reduced the manual steps prone to failure as well as the bandwidth cost. The release and announcement part is still manual tho, so I still don’t to release for all platforms and forget to announce thru all channels.

The parts have been removed in favor of a pure Cordova/Crosswalk approach, which have made possible lots of automatisation.

Still, what takes more time is the manual process to be done for each different storefront via its own web interface. Each one requires different info, and all uploads have to be started and monitored manually. It’s pretty uncommon for a store to supply a command line tool.

This is the current process executed for each new release of Ananias:


  • Mark the new version in the source code (client and server)
  • Execute the packaging script for each platform, it does the following:
    • Generate a new JS bundle using browserify
    • Generate the player’s manual
    • Copy the required assets based on the platform
    • Do platform specific things like using cordova/crosswalk, nw.js, signing and zipaligning APKs, etc.
    • These are currently shell scripts, no fancy gulp or grunt for now
  • Rename and zip the executable packages for Windows, Mac and Linux (Should add this to the script)
  • Execute the cordova build for iOS
  • Build changes log from git commit messages


  • Upload new build to web ( (About 15MB) (Only Standard edition)
  • Deploy new server version and restart (About 1MB) (including executing migration database scripts)
  • Upload to via web interface (About 200MB )
  • Sign in to google play developers console
  • Summarize change log for Google Play
  • Upload both x86 and arm APKs (About 100 MB)
  • Upload both APKs to Amazon via web interface (About 100MB)
  • Upload to indiegamestand via web interface (About 200MB)
  • Upload to gamejolt via web interface (About 200MB) (Only Standard Edition)
  • Upload to IndieDB via web interface (About 200MB) (Only Standard Edition)
  • Open xcarchive in xcode organizer
  • Submit package to App Store
  • Wait for processing
  • Go to iTunes Connect
  • Go to Testflight / External Testing
  • Select new build to test
  • Wait for beta review
  • Go back to Testflight / External Testing
  • Set the new build as active.

The process should be executed twice, once for the Standard Edition and then again for the Fellowship edition.

The dream of having a single web endpoint, and have all the clients deal with the updating is still far from happening.


My Pokemon Go Quest, Update 12

It’s been over a month since the last update; for the most part it had been a booooring month with little to talk about… I was about to give up in my quest, however by the end of October and start of November things started getting interesting again….

The halloween event brought lots of additional candy and creepy Pokemon…

And recent changes in the game have put some fresh air into the experience, you now get a lot of items on your first pokestop, lots of XP on your first catch and the game keeps track of your daily engagement.


Leveling up after Level 20 is hard… it took a couple of Lucky eggs and a whole month to get to Level 21!

  • New caught pokemon: Onyx
  • New pokemon via evolution: Butterfree, Victreebel, Polywhirl, Primeape, Gengar, Haunter, Golduck, Rapidash, Tentacruel, Marowak
  • Collecting a lot of nidorano and nidorana candy for Nidoking and Nidoqueen
  • I’m level 21 now, 73.5 km walked, 87/99 pokemon