Our community blogs

  1. Hi, everyone!

    This time we came here to call for your help to make our Indiegogo Campaign great! On November 1st we will launch our Indiegogo Campaign for the game "The Gragons Farm". And we want all of your help and support to reach our final goal of releasing The Gragons Farm.

    The Gragons Farm | Pre-Launch Indiegogo Campaign


    Indiegogo Pre-Launch Campaign

    Today we show you our Pre-Launch Campaign. This Pre-Launch Campaign shows a little bit about what the full Campaign will be like. We have a lot to show.

    In the full campaign we have lots of different goals to reach, for example Marriage and Children, Gragon Breeding, NPC Quests, and much more. If you help us reach this goals, we together can make the game we all want. If we reach all the goals, we have a big surprise to show you, but only if we reach all the goals.

    On the full Campaign we will have lots of different Rewards/Perks to choose, for example, Digital Cards, Wallpapers, Digital Books, Name on Credits and much more.

    Join Up on our Pre-Launch Campaign to receive de latest news and activities about the campaign and about The Gragons Farm.

    Click on the link below to Join Up now with your email.


    Join Up now before the launch to get a Free Digital Gragon Card! There are 100 different cards, you get 1 random card.


    Card Background



    Full Campaign on November 1st

    We want you to be part of The Gragons Farm, so on November 1st, we want you to join us on Indiegogo Campaign to earn lots of different Rewards and help us make the game you truly want.



    That´s all for now. We need all the feedback possible to create the game you want.

    If you have questions to ask, ideas to tell us, just email to

    Note: This game is a Beta Demo and the full version is still in development.


    Visit our page to download the Beta Demo


    Visit our VoidJogos Facebook page to see what we are doing and contact our team and also Like the page.



    Visit our VoidJogos Youtube Channel and Subscribe to see all the latest videos.


  2. Icon_Resources_Plugin.pngWhen making Simulator builds, Corona magically binds plugins to your app for you. However on Native builds, this process is not automatic. Much like we did for Xcode builds, we have come up with a way to help you get your Android based plugins into your Android Studio project.

    Unlike Xcode, where you run a Download Plugins scheme and we do all the work for you, we offer a command line script that will read your build.settings file and download the plugins to a common folder. From there, it’s your responsibility to integrate them into your Android Studio project. Each Android plugin may have additional settings and configuration that you need to complete before you can use it.

    The script is located at android/ as part of the App template you start new projects with. To download plugins for an existing project, copy the to your android folder and run it from that folder.

    Hopefully this will help you with your native Android based Corona projects.

    View the full article

  3. Hi everyone!

    Sorry we didn’t post this yesterday but we’ve been quite busy ahah, yet we don’t have much to say! (struggling)

    Customization Feature

    I know we have been on and on about this but it should be almost finished! At least we think the coding is part is done YAY! And now all we need is to place the right rig (skelethon) in all the clothes models and it should be finished! Party ahah!


    Teresa was at Techdays, a technology expo in Aveiro, Portugal. Where about 50 companies gathered to show their products and services. Teresa was there for 3 days showing Project SpaceVille to people, and they had a lot of fun!




    We promise to have more a more interesting theme to talk about on our next devlog! :)

    Cya next week!


    The FAXIME Team


    Follow us and keep updated at:






  4. Welcome back to day 29!

    Yesterday we finished creating our final enemy that we’re going to use for the game.

    Now that we have everything ready, it’s time to use them!

    After finishing the spawn system and played the game for a bit, I noticed a small problem.

    Sometimes when we shoot, the enemy doesn’t get hit. This becomes obvious when we try to switch the health of our enemy to be 1.

    Our goals today are:

    1. Start spawning all 3 of our enemies
    2. Fix the shooting bug

    Without any delays, let’s get started!

    Step 1: Spawn our new enemies

    Setting up the spawning system with our new enemies is simple, we already have the SpawnManager script to take care of spawning enemies every wave.

    Let’s add them in!

    In our hierarchy, look at GameManager > SpawnManager and to find our SpawnManager script.

    Set our Waves size to be 3.

    We want to spawn:

    1. 5 Knights at Wave 1
    2. 5 Bandits at Wave 2
    3. 5 Zombie at Wave 3

    When we’re done, we’ll have something like this:


    Now we can play the game and we’ll be able to fight all of our new enemies on the map!

    Here might be something we’ll see!


    You might notice that after we win, our gun doesn’t stop shooting and our shooting sound doesn’t stop.

    Not today, but some other day, we will go in and disable all of those when the player wins.

    Step 2: Solving the Mystery Missing Shot

    Now that we’re spawning enemies and playing the game, we might encounter a very weird problem.

    When we’re shooting an enemy, sometimes they don’t get hit.

    I’m not talking about a long distance either, I’m talking very close proximity. What’s happening?

    After digging around for a bit, I found the problem: our raycast is still hitting the mesh collider of our dead enemies.


    As we have discussed in Day 20 the Mesh Colliders that we attach to our enemy doesn’t follow the form of our enemies. They’re just still there, as you can see from the image above.

    What’s happening here is that even though we defeated our enemies, their mesh collider is blocking our shots from hitting other existing enemies.

    But it’s okay, we can fix this. We must disable all colliders attached to the enemy when they die.

    Step 2.1: Disabling our Colliders in Code

    Now, let’s think, where would we know when the enemy is dead? In the EnemyAttack script!

    In EnemyAttack we have a function called Death() that takes care of everything when the enemy dies.

    Let’s use that:

    using UnityEngine;
    public class EnemyHealth: MonoBehaviour
        public float Health = 100;
        public AudioClip[] HitSfxClips;
        public float HitSoundDelay = 0.5f;
        private SpawnManager _spawnManager;
        private Animator _animator;
        private AudioSource _audioSource;
        private float _hitTime;
        void Start()
            _spawnManager = GameObject.FindGameObjectWithTag("SpawnManager").GetComponent<SpawnManager>();
            _animator = GetComponent<Animator>();
            _hitTime = 0f;
        void Update()
            _hitTime += Time.deltaTime;
        public void TakeDamage(float damage)
            if (Health <= 0) { return; } Health -= damage; if (_hitTime > HitSoundDelay)
                _hitTime = 0;
            if (Health <= 0)
        private void SetupSound()
            _audioSource = gameObject.AddComponent<AudioSource>();
            _audioSource.volume = 0.2f;
        private void PlayRandomHit()
            int index = Random.Range(0, HitSfxClips.Length);
            _audioSource.clip = HitSfxClips[index];
        private void Death()
            foreach (Collider collider in GetComponentsInChildren<Collider>())
                collider.enabled = false;

    New Variables Used


    Walking Through the Code

    There’s only one major change that we did and that’s in Death() where search through all of the enemy’s child game objects looking for any collider component. If a collider is found, we would just disable it.

    One interesting thing to note is that we’re looking for anything of type Collider. We’re more used to finding something of exact type, for example, GetComponent<SpawnManager>();

    However, taking advantage of the fact that all of the Colliders: Box Collider, Mesh Collider, Capsule Collider, etc all extend from the Collider parent class, they’re all considered of type Collider. What that means is that we can do what we did in Death() and look for anything that is of type Collider or inherits the class.

    Now after we added the code, if we play the game, we’ll see that dead enemies no longer have their Colliders on anymore:


    There are things that are sometimes better off staying dead.


    That’s it for today! Today, we incorporated the rest of our enemies to the game and we even went in to fix “ghost” mesh colliders that prevented us from shooting properly.

    I think we’re going to work on one more feature before I start moving on to the actual VR portion of this series, and that’s making a point system!

    In our current game, we win and that’s it. There’s no replay value at all!

    Tomorrow we’re going to start making this game more interesting by adding a scoring system!

    With that all being said, it’s getting late, I’m headed out!

    Source: Day 29

    Visit the 100 Days of Unity VR Development main page.

    Visit our Homepage

  5. should flatter to senior employees or employers , should join after-working dining together , should do singing well at employdickheads EVERYDAY

    this is a disaster , no techs no passions are here. just fucked up with horribly low salary.

  6. Our first Improvement was an Item tag system.  Each color represents a Grade. (F = Red, D = Yellow, C = Green,  B = Cyan, A = Blue, S = Pink) These are place holder colors but they don't look to bad.

    Second We have a new Item interface. which is accesses with a double click.  It dynamically populates the options based on the Item, E.G for a tool or seed the item would equip it to your hand. If the item was consumable, the buttons label would read "Eat" and it would be consumed instead of equipped. 


    and Finally the Item information Panel.



    Like it, hate it? Let me know in the comments below. 



  7. Part 1

    1. It needs to work. And by work I mean execute without crashing.
    2. It needs to do what you expect it to do.
    3. It needs to have code you can actually read and debug.

    Part 2

    • No Syntax Errors
    • No Warnings (from the compiler)
    • It has tests (yes, even asserts)
    • It passes test.
    • It logs errors.
    • It does not crash.
    • Someone who doesn't know you won't kill you for writing completely illegible code.
    • It has instructions. For the user.


  8. augmented-reality-services-goodworklabs.

    Augmented reality now is so intricately woven into everyday living and entertainment. Games, movies and even tattoo parlors make use of augmented reality apps. You most likely would have heard of the world-famous game Pokémon Go, and the massive reception it received worldwide. Do you want to know why it was such a massive success? Gamers will tell you that the more real a game is the better its reception. In other words, the closer to real life the game characters are, the more interesting the game becomes. Pokémon Go achieved that, it gave us fantasy characters that we could chase and capture like real life characters, and augmented reality was the backbone of its success.

    With the success of Pokémon Go and other augmented reality apps and games, you may start to wonder how the mobile app development company came up with the awesome idea that so many people come to enjoy. Well, a lot of things come to play in bringing augmented reality to life and not just any life, a successful one, and every mobile app development company realizes that all of the features of their app will have to be more than satisfactory to be successful. To begin we will consider some features that augmented reality apps should possess to garner some measure of success in the market.

    GPS Functionality

    Most devices come with the option of turning on location, an augmented reality app should be able to work with this already pre-installed GPS and work seamlessly with it. It will be cumbersome and redundant to build an app that will have its own GPS locator. Building an app with its own GPS locator will not be necessary if the app can make use of that on the device. Pokémon Go would not have been such a success if it was not able to work in real time with the device’s GPS.

    Real-Time Rendering

    This is a must for all augmented reality apps and every ar app development company knows that for its app to be widely accepted there should be no time lag between processing information(could be space, picture or location) and rendering. Take, for example, google translate; just taking a picture of the phrase, word or sentence you want to translate and feeding it into the app gives you the translation into the required language in real time. It can even go ahead and pronounce the translation for you. Imagine how tiring it will be if Google had to search for about 5 minutes to come up with that translation. This point cannot be overemphasized.

    Good Spatial Recognition

    Some apps are used for trying to fit wares, furniture or items into space. For example Augment, an app used to show customers real-life representation of their purchases. This app can also place the purchased item in different locations in the house so that the customer will be able to see just how the purchased item will fit into his home or office setting. Imagine trying to place a vase you bought online on your reading table, and because of poor spatial recognition, the vase keeps overlapping with your side table instead of sitting on it, that will be utterly ridiculous. So for augmented reality apps to be of any use whatsoever, these apps should have good spatial recognition.

    Ease of Use

    The more complex running an app is, the more useless the app becomes to the customer or users. On the other hand, the more ease in using an app, the more effective it becomes to the user. If users have to provide complex or numerous parameters before the app works, then it serves no purpose but to annoy the users. Augmented reality apps should be as close to plug and play as possible. Consider the augmented tattoo app Ink Hunter, for example, it does not require you to draw up complex designs of your own or provide some other complex information before giving you beautiful tattoo renderings. The app is able to work without the need for such data. It simply renders the image on the skin of the customer allowing the customer to see what the actual tattoo will look like eventually.

    Be Social

    The more social an augmented reality app is, the more it has to offer to the user. Pokémon Go had this feature and it proved to be a major selling point for the augmented reality game. The game offered the chance of joining teams once a certain level had been reached. A sense of camaraderie can be helpful for the user. And surprisingly most users looked forward to these social interactions. Some apps offer the users the opportunity of dropping messages at different locations, these messages can be read by other users of the app if it marked public or by specific users if the message is marked private.


    No one wants a boring app, least of all, a boring augmented reality app. If the app is not entertaining to use, there is really no need for even creating such an app. It must be noted that this feature does not apply to augmented reality game apps alone. Regardless of the purpose for which the app was created, its users should get excited whenever they use the app. This is a must for every app. Every experience the user has with the app should be an exciting one. For example, there is an all that helps in arranging furniture in an apartment. It will be entertaining to keep placing and then moving furniture till you get the best location. Entertaining will also mean that the users should feel like they’re a part of the experience. They should also be able to relate to certain aspects of the app.

    Pokémon was a part of most gamers childhood, so it was quite easy for them to relate to the augmented reality version. This seems quite basic, but it can greatly affect the reception that your app will receive.


    If possible, the ar app development company should try to build an app that will be available for both iOS and Android users. It makes no sense to restrict your apps usage to users of a particular operating system. When the app works across both operating systems, the company will have won users on both sides. On the other hand, if the app discriminates against some users of a particular operating system, it shuts those users off and the potential market too. It will be more useful if it is possible to release most apps across both operating systems.

  9. ATM
    Latest Entry

    Finally ! Release date is set for 27 October!

    Here is a Launch Trailer for BB:

    Steam Page:

    How do you like this video ?


    Originally posted on on October 1st, 2017

    Here comes Obscurity!

    This was the first song I made for The Wayfarer. I actually did intend to do something a bit (a lot) brighter, but at times you really can’t really control what comes out. smiley And since I liked how it sounded and felt, I kept doing it until it was ready. And I’m glad I did.

    If all goes as planned, during the next week I should be getting a new pair of stands for my Behringer Truth B2030A monitors. After that I can direct these studio monitors correcly, which should have a positive impact to mix quality.
    For now they have been positioned strongly asymmentrically, so they are next to useless during mixing, and 99% of the work has been done with headphones. That 1% is the last rouch check if there are any frequencies that come through in piercingly strong way.

    Can’t wait to have them.


    Mika Pilke


    Originally posted on on October 13th, 2017

    First off:


    I’ve reached my first major milestone in the development of The Wayfarer. My enemies (as far as behavior goes) are complete! They still need to be replaced with proper models and given the ability to die (along with dropping loot, etc.), but all of the AI and related systems are complete and, as far as I can tell, mostly bug free.

    I think that, in order to stay motivated, it’s important to celebrate these small successes, so last night I had a few drinks, and today I’m writing this post and giving myself a pat on the back (good job, me).

    So why did I decide that this was my first major milestone?

    In my development experience thus far, one of the hardest and most frustrating things I’ve found is the difficult and delicate act of creating and maintaining complex interconnected systems.

    All of the individual items I’ve completed so far for my enemies (attacking, spellcasting, navigation, stats, decision making, editor tools, etc.) have not been overly difficult to implement individually. Sure, there were some challenges, but nothing too major. The real challenge is making all of these things fit together in a way that they all still work, and doing so in a way that makes sense and doesn’t cause terror when thinking about having to change something.

    The reason I’m considering this to be my first major milestone is because all of the features mentioned above, even though they’re all individual systems, are now combined into a larger closed system. This means that I know each individual system works, and I know they all work together, and the stress of having to make that a reality is gone! Moving forward, I can start working on smaller systems again (like player actions, looting, inventory management, levelling, etc.), which is a quicker, simpler and more carefree process than integrating said systems.

    Of course, once those individual systems are done, I’ll have to integrate them into another closed system, thus reaching another milestone. But, to keep myself realistic, and to prepare myself for the difficulties to come, I do realize that once ‘closed’ system number two is complete, I’ll have to connect it to closed system number one.

    I have no experience working with systems on this scale, so this is a huge learning experience for me, and I don’t know what to expect. Part of me is expecting the worst, another part is optimistic and hopeful that I’ve paid my dues in terms of keeping the code clean and sensible, and should reap the benefits when the time to integrate comes.

    Anyhow, I’m super pleased and happy at the moment, and can’t wait to start working on new features again. Hopefully things go smoothly for the next little while and these posts will start getting a little more frequent.

    This was a huge hill to climb, and I’m glad to be at the top of it (even though I can see the top of the much larger hill in the distance).


    During most of my last five or so development sessions, I felt I was making very little progress.

    I had my spell system pretty much complete, but the process for creating new spells had become too in depth and complicated, so I had to redesign some things and make some pretty major changes.

    Originally, I had been using ScriptableObjects for my spells, and while it was cool, and made me feel like a ‘real game developer’ to be able to create a spell by clicking Asset>Create>New Spell in the Unity editor, it just wasn’t practical for my purposes.

    I wound up sticking with trusty ol’ prefabs in the end. While the new system isn’t as generic as the old one (visual effects are now part of the actual spell prefab), it’s much more friendly and maintainable, and I’m able to create new spells in a matter of just a minute or two (not counting VFX creating time).

    Reworking this system was fairly straightforward. What really sapped my motivation and frustrated me was a bug that I just couldn’t squash.

    Many of the spells in the game will apply buffs to the caster, or to the caster’s enemy. These buffs have the ability to fortify or weaken any stat that exists in the game, and, when being used by an enemy, who the buff is being cast on (self or enemy), is important.

    I’ve designed my AI in such a way that, after it has decided to cast a spell, it chooses one at random, filtering out any spells that aren’t available to be cast. I’ve defined a spell that’s unavailable as one which:

    1. Has a range less than the distance between the caster and the target
    2. Costs more mana than the caster has available
    3. Added a buff to the caster which is still active

    The most important item on this list, in terms of the bug I’m about to describe, is number 3. I don’t want my enemies ‘wasting’ a turn by casting a buff on themselves which they’re already benefitting from. However, enemies are fully ably to cast the same buff on the player multiple times.

    The caveat with this, however, is that I don’t want multiple buff casts on the player from the enemy to stack. Instead, I want a re-casted buff to reset the remaining turn duration of the buff on the player.

    The exact opposite was happening–the buff was stacking leading to a spell which should cause a -2 to strength to be able to cause a -10 (or whatever other number) instead. Additionally, this was causing the player’s stat to increase when the buff wore off.

    This was a relatively small bug, but it drove me absolutely bonkers. Like I said, I spent somewhere around five sessions trying to fix it, getting little else done.

    Here’s the original method which caused the problem: 

        public void AddActiveBuff(Spell spell) {
            foreach (StatusEffect buff in spell.StatusEffects) {
                if (!IsBuffActive(buff)) {
                    activeBuffs.Add(buff, spell.Duration);
                    stats.AddStatModifier(buff.stat, buff.amount);
                } else {
                    activeBuffs[buff] = spell.Duration;

    Can you spot the error?

    I’ll give you a hint: I use a Dictionary to store my activeBuffs, where they key is a StatusEffect object (the contents are unimportant), and the value is an integer representing the number of turns remaining for the buff.

    I fiddled with this friggin’ thing forever. I changed how I stored my activeBuffs, considered adding some polymorphism to my Spell class, creating multiple arrays to store the data–all kinds of things. In the end, I commented out a single line on a whim, and found the problem:


        public void AddActiveBuff(Spell spell) {
            foreach (StatusEffect buff in spell.StatusEffects) {
                if (!IsBuffActive(buff)) {
                    activeBuffs.Add(buff, spell.Duration);
                    stats.AddStatModifier(buff.stat, buff.amount);
                } else {
                    //activeBuffs[buff] = spell.Duration;

    Yep. One line of code. Seems to always be the cause of these tricky bugs.

    Because my spells are prefabs, the StatusEffect objects attached to them are instances belonging to the instance of the Spell when cast. Therefore, because the key in my activeBuffs Dictionary is an instance of a StatusEffect (something I overlooked, foolishly thinking that two separate but identical StatusEffect instances would be equal), I was adding a new entry to the activeBuffs Dictionary with the above commented line, rather than just resetting the duration of the existing entry.

    Of course, when I discovered this, I shook my head, and solved the problem in about thirty seconds by comparing buff names rather than objects: 

    public void AddActiveBuff(Spell spell) {
            foreach (StatusEffect buff in spell.StatusEffects) {
                if (!IsBuffActive(buff)) {
                    activeBuffs.Add(buff, spell.Duration);
                    stats.AddStatModifier(buff.stat, buff.amount);
                } else {
                    foreach (StatusEffect activeBuff in activeBuffs.Keys) {
                        if ( == {
                            activeBuffs[activeBuff] = spell.Duration;

    Once that was done, I was able to move on to fixing another small bug with my custom Stat inspectors, decide not to make another change regarding how buffs decay (a concern caused by the bug) and add a small piece of code that ignores the turn system when the player is not in combat (allowing for quicker exploration).

    Once those items were done, I suddenly realized that I had actually reached my first milestone and the frustration and lack of motivation I had been experiencing transformed into excitement and vigor.

    One more time:



    With that cumbersome set of tasks out of the way, what’s next?

    Well here’s what my task list has to say:

    1.3.    Milestone 1 Wrap Up – Complete Basic Turn Based System In Progress
    1.3.1. Refactor and clean-up existing code  
    1.3.2. Document all existing features – UML, GDD, Code Comments  
    1.3.3. Celebrate! In progress              Have a few drinks (YAY!) Complete              Celebratory blog post In Progress

    Yes, this is actually on my task list. These things are important!

    But, more technically, here’s what the rest of my task list looks like at the moment.

    1.4.    Player Combat Actions  
    1.4.1. Attacking              Melee                    Create Placeholder Weapon   Attack Animations   Damage Enemy   Ranged (Spear, etc.)         Ranged                    Create Placeholder Weapon   Define how moving projectiles affect turns On Hold/Tentative   Projectile Animation   Magic                    Casting Animation   Implement   Dual Wield? On Hold/Tentative                    Define how the player will use dual wield (Attack both at once, choose which hand, etc.) On Hold/Tentative
    1.5.    Define item types (Consumable, Weapon, Armor, Quest, etc.)  
    1.5.1.Define item script heirarchy  
    1.5.2.Determine item commonalities and differences              Create item hierarchy              Weapons              Create Weapon Scriptable Object                    Make Weapons equippable (through editor)                    Share common animation based on type   Practice with Infinity Weapons                    Practice with Mesh Effects                    Integrate Infinity Weapons and Mesh Effects                    Procedural Weapons   Experiment with Infinity Weapons texture generation and Blend Shapes at Runtime  

    I made these items quite a while ago now, so the list will change before I actually start working, but this will give you a general idea of what I’ll be working on.

    The On Hold/Tentative items are ones that might not be needed, or that I have yet to fully decide to include in the game.


    The last thing I’ll mention is that I’m considering changing the name of the game. I really like the title The Wayfarer; I think it sums up what the experience is essentially about. However, performing a search for the title, it seems too common a name.

    The first page of Google alone is filled with restaurant pages, and there are even a couple of games already existing with names similar to The Wayfarer.

    On the other hand, performing a search for my last game Pixel Zombie Shooter brings it back as the top result, and The Wayfarer has a much larger online presence than Pixel Zombie Shooter as far as all of the blog posts, Youtube videos, etc.

    So, I think that if I’m going to change it, I should do it sooner rather than later. What are your thoughts? Anyone with marketing experience want to chime in?

  11. In this daily blog (and video)-series I take a first impressions look at the best mobile games that I come by. Be sure to share your favorite mobile game with the rest of us in the comments below!

    Snakebird is a visually appealing but mind(bird)-bending puzzler where the first 10 levels are free and a single IAP unlocks the full game (45+ levels). 

    The main reason I recommend Snakebird, however, is because of the great level-design, with each level represents an entirely new puzzle challenge.

    My thoughts on Snakebird:

    Google Play:

    Subscribe on YouTube for more commentaries:
    Or join me on Facebook:
    Or Instagram:
    Or Twitter:

  12. In the monthly progress post I figured I needed a Game Design Document (GDD) before working on extra features. It would be a waste of time working on features when I have no clearer picture where the game should evolve to.


    The first thing I did was searching for online resources. I have found a bunch, and decided to share those on a page dedicated to Game Development Resources for other game developers.


    While working on the GDD I noticed it takes quite a lot of time and it is easy to get lost into details for a long time.


    Then, after a week or so, I came into contact with a guy named Richie and he had the tip that I had to scope my game into 5 minutes of gameplay.


    So in 5 minutes, the player has to know:

    • what the game is about
    • the basic mechanics
    • if it is fun to play


    With that I began to look at the GDD I made so far. I immediately noticed that I had way too much material for 5 minutes of gameplay. Obviously this is because a RTS game has several phases. It would be easy to discard the 5 minute thing, but I wanted to follow it though: what would be the essence, the end goal of the game?


    Together with Dorus Verhoeckx, someone I work with together on our own products and dreams, I started stripping all stuff that might be ‘distracting’ from the main objective. This meant base building is minimized (2 buildings left). Resource gathering was cut – just get money from structures. Have only 1 unit type. Etc.


    This was done on paper. A lot of stuff stripped and the core objective exposed. Then I started writing down what was left to do to get this into a working prototype:

    IMG_8286-300x225.jpgPrototype, with todo’s on the right. Lots of the has been crossed, since I worked on them lately 🙂



    So what is the essence? Domination in RTS games. Conquer specific structures, hold out long enough to score domination points. Resource gathering? I ditched that in favor of getting money for specific captured structures. (not all captured structures give you ‘domination points’ though). You play 5 rounds of 1 minute. After 5 rounds – the player with the most domination points wins!


    Is it a good idea? Is it fun? What about all the other cool stuff I wanted in my RTS game?


    Well lets first see to finish the prototype – I want to get it out before the end of the month. I’d love to hear how you guys think about this kind of game. And if you’re interested in testing out the prototype just let me know at stefan[at] Then, after that I will decide if I miss stuff, want to re-add things and further iterate. My expectation is that there will be quite some iterations / prototypes / refinements before the final ‘game’ mechanics are there.

    View the full article

  13. dyY6N3B6dLC0MkSxCJgK0e2s2H2DK9pHNCJs6-s5mYJyA1kM7kofukzvwCk6GSAcKCnMnu_c8gVSdouvdTbvy90Lq1-JfRqnm9r6BMVp0jAXwxapdvDy7tQAol3LqFSPkVYmYp9c

    Starting an outsourcing relationship is troublesome but how to make it more seamless? Tilting toward hiring an offshore software development company is obvious for cost reduction, high-quality software products, innovations but there are a great many of common risks setting your projects astray. The following questions are - “What are the challenges?” Let’s make everything as clear as a bell.

    Challenge #1: Lack of communication

    Developing a new software product is a tedious and social process involving lots of communication to share your ideas with the development team and discuss the app concepts. It’s quite arduous when your team is miles away since an efficient communication is a key to a successful app.

    Solution #1: Use the Internet

    Thanks to the Internet and its unlimited possibilities, long distances, and time differences aren’t a problem for modern entrepreneurs. You can use video conferencing, voice calls, emails to keep in touch with your app development team.

    Video Conferencing Services To Use

    Challenge #2: Loss of Control

    One of the biggest fears is the loss of visibility and control while outsourcing an offshore app development company. Communication problems and slow response may result in increasing the costs and time required to build an app.

    Solution #2: Track Working Time

    The key to eliminating the challenge is to manage the process carefully. Set weekly goals for the development team to ease the workflow and achieve better results.

    Time-Tracking Tools You Should Use

    Challenge #3: Language Problems

    One of the problems you may face while working with an offshore app development team is misunderstanding caused by lack of foreign language knowledge. Taking into account, the fact communication is truly vital to achieving success as an app entrepreneur.

    You may face difficulties with the communication as it may be restricted by the ability to speak a foreign language. For example, you’re living in the U.S. with English as your native language, but you decide to hire a French software development team. Though English is a modern lingua franca, only a limited number of people can speak well English.

    Solution #3: Study the Market

    To avoid that language misunderstanding, you should carefully select the country and the outsourcing vendor that have completed projects for foreign companies (and released them).gQozKtslKpemxey7uu-wWz_ZQfja0qvG3cvyamByd9DZ364JV0mdloT7lQp4BNDAlSTVVa7pcaRPed-urMPwTLenpECaTpVMFgYuGUHG3KVLqHfdqDfGSGFN5RJuxaX-gqaJXLQl

    Challenge #4: Low Quality

    Once you have your product on the track, you expect to get a fully-functioning application meeting all your needs and quality standards.The chances of low-quality code is increased when hiring an offshore software development company. If you get a bad code and poor app architecture, you get frustrated and pay more to get it re-written. Thus you pay twice as much to detect and fix the bugs. Along with the increased costs, it takes more time.

    Solution #4: Check the Company Before Hiring

    First and foremost, don’t get fooled by low hourly rates and never hire a company that you don’t know. Read the reviews, ask for a customer list. If the company refuses to provide a list of launched apps or clients contact data, I’d never outsource such a company. Check company’s profile on Clutch to make sure they can deliver a top-class software product.

    Challenge #5: Testing More Difficult

    Of course, testing an outsource project is more arduous when comparing on-site testing. If you test a product and find out it isn’t the app you wanted to get, this needs to be discussed with your offshore vendor. And the following may become a real problem as the vendor might not be able to understand and then fix the problem.

    Generally, it can be easily fixed when detected at the initial development stage and when the problem is improperly described and understood, this will result in a low-quality software product.

    Solution #5: Create “The Entering Testing Page”

    By creating such a page, your testing phase will be seamless and smooth. This will help to lay out the existing problem and bugs more clearly. You can also use online tools for app beta-testing.

    Beta Test Your App With:


    Key Takeaways

    Outsourcing a development company can save you a pretty penny that you can invest in the growth of your core business. Offshore development companies usually dedicate a particular team for each app type - iOS developers, Android coders, etc. thus the quality of your future app will be high.

    When outsourcing an app development company, mind the above-mentioned challenges and pitfalls to avoid. Clearly, it’s a good financial and business option since maintaining an in-house app development team costs the Earth. If you know what to expect beforehand, outsourcing an app development company won’t cause any problems.

    Short Bio:

    Tasha Bronitska

    I’m a Blogger at IDAP Group. Writing is my passion, and it’s absolutely true. Nearly all day long I craft must-use how-to guides. When I’m not writing, I’m running. Follow IDAP on Facebook.

    Profile Picture






  14. Prequel game Towards The Pantheon: Escaping Eternity is out NOW!
    Download it free from and Gamejolt!
    Due to complications the Steam version will release soon in the coming days. You will be able to find it at:

    Follow the development of Towards The Pantheon on social media!
    Facebook, Twitter, Tumblr, Soundcloud, Instagram, IndieDB, Twitch, Google+, Imgur, Pinterest

    Follow lead developer Connor O.R.T. Linning on social media!
    Facebook, Twitter, Tumblr, Youtube, Soundcloud, Twitch, Instagram, Bandcamp

  15. Are you aspiring to set your foot on the gaming world with an amazing 3D game? Do you want to build your game with the robust platform of Unity? Well, you already know how much important it is to find a reputed Unity game development company for building your game. If you are going through different bids and trying to find ways to choose the right company, you may feel a little confused about the priority of considerations or about where to start your scrutiny.

    Here we are going to shortlist some of the key considerations to make your job easier for finding the ideal one among the multitude of companies working with Unity game development.


    1. Make your priorities straight

    You probably have a clear idea of a 3D game development project, and you are expecting to make a mark with the gaming experience of your still to come game. But that is just the beginning. You need to set our priorities first of all. Do you want to unleash your 3D game on several platforms including mobile, web, and consoles? Have you given a thought to the budget of the game development and post-development marketing? All these considerations should be your priorities.

    2. Watch out for the key traits

    Based on the kind of 3D game you wish to build you already have an idea about the kind if developers and their respective qualities you need for the said project. The Unity game developer of your choice should have enough experience in similar projects, and he should be reliable, passionate, responsible and communicative. He should have hands on experience in working in a highly collaborative development environment. Developers who have experience in being kart of both small and big teams are likely to have the required communication skills.
    One big quality for a game developer that you must look for is the passion for technology and creative excellence. To make sure that your chosen developers possess these qualities check their social media status, read their written blogs and have a look at their portfolios and career graph. They must have a solid programming background and experience in similar game development project will be an added qualification.

    3. Know the market

    While having a game project in mind along with the kind of budget you should be prepared with, you should also have a clear idea about the gaming audience you are going to target with your new game and the detailed market dynamics. Have a complete analysis of the market with a comparison of different market rates, and a clear idea about how you are going to produce value over price. When you know that a great developer talent deserves a quality package, you never lose him. Do you know many east European countries really have a lot of talented game developers? Well, you should be ready with the price for the deserving developer talent.

    4.The cost consideration

    You must not forget that though the Unity game engine is relatively cheaper for a company to start, actual development and promotion of the game may involve a significant amount of cost. Apart from the financial cost, a lot of skills, commitment and dedication make a successful game. It is a time-consuming process, and naturally, the development companies take price in consideration to the development time involved. Just remember one thing. Any great piece of work that would deliver you millions in future cannot come cheap. So, always have a realistic budget in mind keeping the development challenges in mind.

    5. On time delivery

    The creation of a 3D game is just the beginning of a long process involving pre-launch and post-launch marketing, promotions and continuous upgradation. The game market is tremendously competitive, and no game idea is safe from being reproduced. Naturally, making a project successful also depends upon how faster a development process and time to market you can ensure. In this respect, on-time delivery of the finished game is a crucial consideration. Only when the game release date is finalised, the company can turn on to a robust pre-launch campaign to create buzz around the new game. Missing the milestones and deadlines is a sheer unprofessional act which only shows the incompetence of the developers. So, for your upcoming game project make sure it does not happen.

    6. Don’t forget about the portfolio

    If you are going to hire some developers from a Unity game development company, it is quite obvious that you would like to look at their portfolio to peruse their credentials and competence. But while focusing on the budget, development cost and associated negotiations with a development company, many of us just forget to have a deeper look at the developer portfolios.

    Did they have solid programming experience with other projects? Did they have experience in building similar games? Did the developer achieve some professional acclamation or reward for any of his works developed so far? All these considerations are important. Three things developer portfolios should clearly mention such as the platform-specific programming skills and expertise, the years of experience and the projects completed and the work rate.

    It’s a wrap, guys!

    Finally, you cannot always judge a development company simply on the merit of its completed or successful projects. This is particularly true in case of a high revenue and creatively demanding niche like games. Another company can hire game developers after building a hugely successful game. So, looking at individual developer portfolio along with studying the credentials of the development firm is crucial.

  16. We are Anti Gravity Game Studios, an indie game developer based in Hong Kong. We joined the Moscow white nights 2017 on 10-11 October and would like to share some experience about this event.

    The venue is situated in Congress Park, right beside the Radisson Royal hotel (looks nice and standout, so it is super easy to locate). The actual layout is one big rectangle hall with the indie developer at the exterior wall surrounding the larger sponsors. There is another indie area which is separated out near the entrance. Initially, we thought the position is poor, but after talking to other indie developers in the main hall, we have concluded that the overall population attending is not that high. 

    I would like to point out the attendee of this event, mostly are mobile ads/traffic redirection company, where they are looking for clients to buy their PR packages or place their ads in your game. The second-most is localization companies, then the indie developers.

    The booth is small, of course, we know it beforehand. The booth is 1m x 1.5m wall, which comes with two chairs, a cocktail table, wifi, and electrical outlet. To be honest, to showcase a mobile game/ console game, just bring 1 set of them. For VR booth, you will get a larger booth, 1m  x 3m (width), but to be honest, at most there will be around 10 - 15 people try out your game throughout two days. Therefore if you are a VR developer and have to travel far to set-up, I would greatly greatly recommend you NOT to come, unless you live in Moscow and coming over is easy.

    The cost makes sense, as the booth is free, only expense will be your traveling cost, buying the pass and the cost of printing your poster and business card. So think ahead what you want to achieve before coming. For the indie pass, it cost 125 USD, and if you are exhibiting, you get a 15% discount. For a regular pass, it's 250USD, and premium should be around 375 USD (able to attend the after and pre-party)

    About the lectures, they are not that interesting for the year 2017, as there are more online GDC lectures nowadays, attending just for the talks isn't worth the price.

    It is quite crowded throughout the first day, but the population drops dramatically on the second day like 40% left, and many indie-developer did not set-up their booth or even left early.

    At last, there is a 2meet system where you can schedule a time to meet developers/anyone; this is a handy tool to reach other related people, do utilize it!

    In conclusion, it is worth coming to see the event, and the booth is free, so if you happen to be in Moscow, or decided to go anyway, you can set-up a booth and see if you can get anything out from it. The overall impression of this event isn't great as little international company was here, mostly local Russian companies, so the variety of people you can meet are limited. The up-side is there are free champagne, food, and drinks :)

    Photo 10-10-2017, 12 05 41.jpg

    Photo 10-10-2017, 12 05 51.jpg

    Photo 10-10-2017, 12 06 00.jpg

    Photo 11-10-2017, 09 56 33.jpg

  17. Finally, is back from being hacked! Took that long because I had to ensure that security and backups are properly configured now and, well, life got into the mix.

    One morning I woke up and found that my game got hacked: the whole db is deleted and replaced by a hacker's message. 


    Of course, negotiating with the terrorists is not an option =] So I decided to restore the db and improve the security. Luckily, I had backups, but I didn't run them frequently enough, so some data is lost (it runs more frequent now). I had to spend about 3-4 fulltime work days rebuilding the server setup in order to ensure the server security. Basically, I decided to rewrite the production setup completely. I had to do that so that I could configure everything without exploding my brains. It works now, phew!

    A lesson learned: I should've used the technologies I understood right from the beginning. You shouldn't experiment with the technologies when you're building a production-level project.

  18. So the last couple days I've been working on something that I've wanted to do for a long time now.


    I've been building it as part of a terrain editor I've been working on. It's still mostly uncomplete, but so far you can create nodes, drag links to link/unlink them, then output them to a greyscale image. In the works, I've got a few node types to implement, and a lot of glue code to implement saving/loading node graphs, hooking them up to generate terrain and terrain layer weights, etc... But it's coming along pretty nicely.

    In the process, I have made a few fixes and additions to the noise library, to help with matters. One of the main additions is the Fractal node. The library, of course, has had fractals since the beginning, but the way they were implemented made it tough to allow them in the node graph editor. So instead, I implemented a special function type that can take as input a chain of functions for the layer noise, as well as other functions to provide the fractal parameters. Internally, the function will iterate over the number of octaves, and calculate the noise value. At each octave, the layer function chain is re-seeded with a new seed. This travels the function graph, and sets a new seed for any values of Seed type in the chain. This small change has opened up some easier ways of making fractals.

    Additionally, I have added a Seeder module, which implements this internal re-seeding operation. I have implemented also a Randomize module. The randomize module takes a seed or seed chain, and uses it to randomize an output value from within a range.

    It's kinda weird to talk about, so instead I'll demonstrate using a real-world solution to a common problem. Here is a fractal image of ridged noise:


    This fractal is generated by layering successive layers, where the input is a Value noise basis passed through an Abs operation before being summed with previous layers. It creates the Ridged Multifractal variant, but you can see in that image that there are grid-based artifacts. These kinds of artifacts are common; each layer of noise is generated on a grid, and so the artifacts tend to sort of amplify as the fractal is built. You can mitigate it somewhat using different values for lacunarity (which is the value that scales the frequency for each successive layer) but that can only slightly reduce the visible appearance of artifacts, not eliminate them altogether. A long time ago, I advocated for applying a randomized axial rotation to each layer of noise, rotating the noise function around a specifiable axis in order to un-align the individual grid bases, and prevent the grid biases from amplifying one another. Previously, these rotations were built directly into the fractals, but that is no longer necessary. The new Randomizer and Fractal nodes now make this easy to incorporate in a more flexible way (or eliminate, if you really want artifacts):


    In this screenshot, you can see that I have set up a fractal node, and for the layer source I specify a gradient basis fed through an Abs function. That function in turn feeds a RotateDomain node, which feeds the layer input of the fractal. Attached to the angle input on the fractal is a Randomize node, that randomizes a value in the range 0 to 3. The result is this:


    You can see that the grid artifacts are gone. The fractal iterates the layers, and at each layer it re-seeds the Layer input chain. This means that any node marked as a seed is re-set to a new value each time. This means that the Gradient basis node (which has a seed) is re-seeded, and the Randomize node that specifies the rotation angle is re-seeded. This means that each noise layer generates a different pattern than the other layers, and is rotated by a different amount around the Z axis. This misaligns the grid biases, preventing them from amplifying each other, and gives a nice non-artifacty fractal pattern.

    I still have quite a bit to do in implementing the rest of the noise functions in ANL. But there you go, that's what I'm working on right now.

  19. As the machines are getting high tech with improved capacity and intelligent manoeuvres, the so-called science fiction of machines taking over human beings is no longer just a far-fetched reality, it is already near us. Many people are in the mood to predict the autonomy of machines as the doomsday for our human life and civilisation, but what no one of us can fail to admit is the inevitable machine led and machine dominated reality which is looming large in front of us. After the latest launch of iOS 11 many iPhone app developers chuckle at the promise offered AR and AI capabilities of the platform. AI coupled up with other innovative technologies will only prosper and make new inroads in every sphere.

    It is needless to say at the heart of this evolved reality there is Artificial Intelligence referred as the machine’s own ability to think, respond, behave and analyse in a humanely analytical manner. While Artificial Intelligence is still in its nascent state, already the signs of its domination and widespread adoption are clear to us. What kind of future can we expect from this AI led reality? What AI has in store for us in the time to come? Here we can try to reveal Six such credible predictions.


    AI-powered robots will provide safety from disasters

    Disaster management will be one of the key advantages of using AI-powered robots. Robots thanks to advanced data analytics and access to real-time weather data can easily ascertain environmental changes and situations and accordingly can offer predictive measures. Thus in the years to come disaster management will be easier than ever before.

    For example, robotic traffic control can assess the traffic condition better and accordingly can predict real-time solutions to ease out traffic movement. Similarly, natural calamities like flash flood, earthquake, tornado, etc. can also be predicted at the right time and thus disastrous situations can It'll enable drastically reducing, maybe even bringing to zero, traffic accidents and deaths. And enable disaster response for dangerous situations, for example, the nuclear meltdown at the Fukushima power plant.

    Chatting is the new way to shoot

    Chatbots are the new conversational interfaces which became a popular tool for supporting web visitors, app users and game players. The fun of having a conversation with a computer bot apart, these intelligent bots quickly became effective tools to replace human support. AI-powered chatbots have introduced to mobile games as well, and they brought great value to gaming experience as well. Don't be surprised in knowing that thanks to AI-powered bots chatting became the new way of shooting in mobile games.

    In so-called strategy games with the earlier cold-war era, storyline computer guide with a remote character was common, and these games were dominant throughout the 80's. Now similar games are coming with AI-powered bots and players can instruct these bots to shoot and indulge in all sorts of actions. Chatting taking over the gaming actions powered by Artificial Intelligence will allow new game experience.

    Fear of the unknown

    What AI can ultimately become is also subject to a lot of speculations and apprehensions around the world. While the era-defining capability of AI remained a constant point of reference for the tech thinkers, the gigantic possibility hidden within the machine's intelligence can also have a disastrous impact on the human living and society.

    One of the ways AI can have a destructive toll is by grabbing the human jobs and thereby causing unemployment. Robots already deployed into manufacturing units across the niches like automobile, heavy engineering, etc. will take more jobs when they become more capable with the introduction of advanced AI. Similarly, self-driving cars will take millions of jobs from the drivers and AI-powered medical equipment will replace many house staff in hospitals and clinics. Automation pushing people out of their jobs will be an inevitable outcome of AI in the time to come.

    Breaking the new frontier of algorithms

    Algorithms as of now have been developed to replace the human reasoning in some fields and give output based on human input. From search engine algorithm to the various types of machine algorithm that run devices and apps for different purposes are still limited in capabilities. But as data input and data processing power is getting richer they will become more improved and perfection driven than ever before.

    The machine learning will become richer with diverse inputs from a wide array of sources and machines, and the applications will be more aware of the user contexts thanks to a wide array of powerful sensors capable of deciphering human locations, preferences, situations and movements. This access to user contexts and situations ultimately will pave the way for smarter and powerful algorithms more capable to think and behave like human beings.

    Robot as friends

    After all we human beings like to be accompanied by beings capable of understanding our needs and preferences, right? With this logic robots capable of understanding our sentiments, wants and preferences can not only become constant tools but can become friends. In the time to come with advanced AI capability to mimic human emotions and sensitive reactions, robots can play the role of a friend. There have been several successful experiments to give robots the power of emotional behaviour, and soon we can see them accompany us as friends.

    Improved elder care

    Eldercare is another major area which is going to be hugely benefited by AI-powered devices and apps. Already remote sending walking sticks, GPS controlled wearable devices are being used for tracking the movements of elders at times when nobody is there to look after them. More powerful, context-aware and sensitive AI-powered robots and devices will help further improving the care of elderly population in the time to come.

    The huge possibility and promise of AI are no longer seemed like a vague and distant reality shrouded in mystery. AI is already here across a multitude of devices, apps and automation tools. With the time these AI-powered mechanisms will continue to be more sophisticated with advanced capabilities. That day is really not far when these machines will become real human counterparts in all endeavours of life.


  20. Embassy of Time
    Latest Entry

    Quick status update for anyone who may be actually following my rants: I still do the kitten orphanage thing and recently took in a homeless and very pregnant one, who gave birth 2 days ago (four tiny kittens, all still alive). Expect.... lowered volume from me these coming days :)

  21. We have been going on it for a while now and it’s time to tell you a little bit more of what we have been up to.

    Level Design

    Our plan is to release a demo and test it to see the interest of the game and decide upon that if we want to continue production or not.

    We are still very much in the planning phase and we have started to block out the first areas the player will experience.

    The game will take place in Mont Saint-Michel, an island in Normandy France that due to tidal ways sometimes get cut off from the mainland. This is of course a prime location for a mystery adventure.

    Blocking out the level like we have started to do helps us test the gameplay and general feel of the game as well as the scope of the areas before we dive into creating the actual assets of the game. This will save us time later in the project, so we have a solid plan on what we need to do.

    Beneath the Waves - Blocking out the level

    The game will start on the shore leading up to the entrance to the city and during the demo you will be able to explore a small part of the city up the Grand Rue leading up to the hotel where the player character will stay during his visit to the island. This is where the adventure begins that will lure you into the mysteries of the island and your own history.

    Beneath the Waves - Demo Map


    Our musician Ulf has also started testing out some music for the game and produced to test songs. What we want is something low key that can be layered for different areas and below you can listen to our concepts so far.



    Christophe Demers

    Juras, our character artist has been hard at work modelling the player character. The next step is to texture and rig it to give it that final look and to be able to animate it.

    We will not tell you much more about Christophe right now other than we have fleshed out a lot about the character and the events taking place on the mysterious island of Mont Saint-Michel.

    Christophe Demers

    The Future

    Over the next period we hope to get in the player character into the game along with other graphical assets. Hopefully we will also have fleshed out some of the puzzle ideas we have that we want for the demo release.

  22. I’ve been contemplating on design of the weapon system and upgrades for a lot of time. I wanted the game to be based on skill but have a variety which would add to the replayability of the game at the same time. Here are the basic definitions i have decided on:

    • Game will contain about 30 weapons
    • Every weapon can be upgraded 4 times (levels 1-5)
    • Ship has two weapon slots available, you can freely switch between weapons in game
    • You can’t have same two weapons equipped
    • You eject the currently active weapon by picking up a new one that’s different

    For example, you have Pulse Gun Level 1 equipped as active weapon and Biter Level 1 equipped as inactive. After blasting the enemy transport you come across Ripper and pick it up. Since you don’t have it equipped in any of slots, it will replace the active weapon and eject Pulse Gun Level 1. If you wanted to replace Biter, you could simply switch weapons to make Biter active and replace it by picking up Ripper. This will be a common occurence for adapting to the enemy types because of their vulnerability or resistance to certain type of damage (ballistic/explosive/energy/special against normal/armored/shielded types of enemies).

    I could make things simpler in design and coding by simply omitting the part where the replaced weapon is ejected since there’s a small chance of picking it up by accident since it involves pressing a key while you hover over the weapon. However, two player mode requires that feature for the weapons to be interchangeable between players and that is a great way to improve cooperation, gameplay and combined firepower.

    Due to some design limitations i had to make a hard choice that can affect the future gameplay on upgrading the equipped weapon and few solutions came to my mind.

    1. You can only upgrade the weapon if you pick up the exact same weapon. That way, either equipped or not, the weapon in players possession is upgraded to the next level without any ejection which only happens when you are picking up a weapon you don’t have equipped on any of the slots. While challenging with high long-term impact on decision-making, you only have 6% chance of getting the same weapon from the transport which is slim to none and could severely hamper the player experience. If weapons had only one level the approach would be viable, but with total of 150 weapon levels it would only be frustrating.

    2. Whenever you equip a weapon that is not equipped it is always at level 1, but when you upgrade any of the weapons on ship to level 2, the weapon you replace the level 2 weapon with will also be level 2. Basically, if we modify the first example a bit so the active weapon (Pulse Gun) is level 2 and inactive weapon (Biter) is level 1, when we pickup a Ripper instead of Pulse Gun it will automatically be upgraded to level 2. Opposite to first approach, it is less challenging and encourages experimentation, but it comes with a design problem which i’ll explain thoroughly.

    When we picked up Biter it is upgraded to level 2 on the ship and Pulse Gun level 2 is ejected. This enables us to switch Biter to active weapon, pickup the level 2 Pulse Gun, eject the Biter, and then pick up the Biter again which will automatically be upgraded to level 2 now. While requiring a bit more speed to do it in a chaotic environment i would considering it cheating since you’re upgrading both weapons that way and that is certainly not something i plan to implement. As i noted in the introduction, i could simply disable the weapon previously equipped to be ejected, but that beats the idea of switching weapons between players which i find to be a great gameplay feature of a co-op mode.

    Maybe i’ll disable the feature of ejecting only for single player mode for now.

    3. Make weapons upgradeable only by picking up the same weapon as equipped, but increase the chance of spawning a weapon you already have

    The maths on this one are simple, though a bit tedious to code. You have 25% of transport spawning active weapon, 25% of spawning inactive weapon and 50% chance of spawning a new weapon. This comes with a different kind of trade-of. Though 25% is a lot it may happen that you rarely run into a weapon you want to upgrade. On the other hand, you may always run into a weapon you already maxed out. This discourages experimentation since you will always want to hold on to your maxed out weapons, no matter how good or bad they are. There are no bad weapons per se, but holding on to weapons of the same type greatly decreases success.

    4. Weapon upgrade pickups

    Though not originally meant to be implemented, this could pose a good solution combined with approach 1 or 2. It is simply a kind of a joker card which levels up your active weapon without worrying if it’s the same one. If you pick it up, the active weapon gets upgraded and you just keep on blasting.

    Which solution would YOU like to see implemented?

    The post Weapon upgrade system designs and limitations appeared first on Fat Pug Studio.

    View the full article

  23. Hi everyone!

    This entry is a bit more like an announcement and less like a devlog entry, but here it goes:
    I Am Overburdened is going to be released on October 23 for PC :) !!!

    Here it is, the release trailer featuring some fun game-play footage in all its glory:

    Store, platform, price & wishlisting

    The game will be sold primarily through Steam and for Windows PC initially. The future platforms will depend on how well the game does sales wise. I would not like to promise any other devices/OSs upfront as porting can be a big effort so if the game flops I may not have the time/capital to deliver.

    It will cost 4.99$ (may vary based on store & region).

    It is a relatively short game, but has a huge “replayability” factor.

    Since it is run focused and has permanent death, completing it once will take less than an hour, but the game has enough content (artifacts, monsters, procedural dungeons, unlocks, game modes) to keep it fresh for dozens of playthroughs.

    I really believe it is a correct price point. It has a lot of fun stuff to keep you entertained for a while ;) .

    You can already wishlist the game on Steam to get an e-mail on release day:


    Or you can follow my developer profile on to get a notification:


    My website, the Steam store-page and the Steam Community Hub already has a lot more information about the features of the game and the release itself.

    Release calendar

    I’m doing a little marketing “sprint” thingy up until the release day. I’m calling it the “Wishlist Release Calendar”. Essentially, to promote the game a little, I’m going to release an artifact from the game every day with its “fluff” text on various channels (here too) updating or posting the new version of the following image:



    If you like the game or liked it’s development “story” you can help me. Wishlisting the game now on Steam (even for buying it later) or buying it on release day (there will be a tiny discount ;):P ) supports me tremendously. Even if you are not really interested in buying/playing the game you can help. How :o ?! It’s simple, share it. Share a store-page link or the trailer with friends and relatives who may be interested in playing it. That is all! It’s really nothing, but it may allow the game to reach a broader audience, and thus in the long run may allow me to further support my game development journey :) .

    Thanks in advance.

    Promises, future

    No one knows how the future unfolds. I have confidence in the game, because it is AWESOME, but I’m crazy nervous :( . The success of a game doesn’t only depend on its quality (or I should say the quality it’s developer perceives :| ). No matter how this release turns out I can promise more devlog entries ;):) . At least one about the last development weeks of I Am Overburdened and a little later a postmortem entry about it.

    My journey may change course, but it doesn’t end here :) , wish me luck ;) !

    Thanks for reading and thanks for all the support so far!
    Take care.

  24. Building Block Heroes - Secret Rocket Base

    After making their way through the depths of the Oceantide Channel, the Building Block Heroes find themselves at the Secret Rocket Base!


    Map SecretBase

    The Secret Rocket Base is a well-hidden military installation that houses a space-faring rocket that the Building Block Heroes will need to commandeer in order to attack Rupert's Moon Base directly.


    The Secret Base is probably the most difficult area in the game if time limits are enabled due to the barriers the players encounter. The barriers in this case are literal, as the new type of block encountered in this area are called Barrier Blocks.


    Barrier blocks are more durable than regular blocks, requiring three blocks or breakers of the same colour to be detonated next to them before being destroyed.


    The enemies in this area are relatively benign and just patrol back and forth like enemies in earlier areas. However, the enemies in the Secret Base are much bigger than other enemies, which forms a problem in and of itself.


    The boss of the Secret Base is Rupert himself! Or, rather, Rupert taking potshots at the heroes from a gun turret.


    Rupert will follow the heroes around with a targeting reticle, taking aim until firing a shot that obliterates all the blocks around him or her. It does help to have a friend for this battle, as Rupert can only target one hero at a time. However, he does fire more frequently when there are multiple targets for him to take aim at.



    The Secret Base was a huge pain to design. The colour scheme for this area wasn't immediately obvious, and it was difficult to think of one that would be unique. Specifically, I was having trouble figuring out how to make the mechanical parts stand out among the rocks. The breakthrough came when I decided to turn the rocks into a brown/tan colour, which immediately solved the problem of making the area look unique.

    Rock 1

    This itself lead to the design of the rocket because it opened up the possibility of a more cartoony and colourful rocket rather than the plain, grey mechanical one I envisioned at first. I'm a big fan of Tintin comics, and while I was designing the rocket I was reminded of the one that Tintin took to go to the moon (which itself was inspired by the appearance of the infamous V2 rocket designed by the Germans in WW2). I figured I could use a similar checkerboard pattern for my rocket.


    I knew I wanted a gun-based boss to fit with the military theme of the area. Originally, the boss was a regular Mechafolk boss, like in the other areas. However, as I was designing the boss, I decided to throw Rupert inside it to add a dash of colour to the boss.


    The music was inspired by early Command and Conquer games, with their industrial funk tracks that took a military/industrial setting and made it catchy rather than being serious or sober like one might expect. For this I started off with the electric guitar hook and added a fast, upbeat percussion track. Thankfully, military settings tend to lend themselves quite well to brass melodies, which at this point were starting to become something of a hallmark of my music. The melody, then, was an absolute cinch to compose once I had the background hook nailed down.

    Let me know what you think! The game is on sale this week on Steam:

    Building Block Heroes on Steam