Why indie projects do not live to release

    Recently, once again I tried to participate in a small indie project.
    I made a prototype with primitive graphics, the second partner was supposed to deliver improved graphics, but I couldn’t, and as a whole I decided to write a short article about why I really want to, but it doesn’t work out. The article has a lot of triviality, but it can come in handy for someone.

    1. Dates


    Yes, and yes again, everything flies with time, from small to large developments, because getting a high-quality gameplay is very difficult, and a lot of time is spent on remaking features and gameplay. But the root of evil is often stored precisely in the initial estimate of time.

    Take a simple clicker prototype - tap on the screen, the hero hits the monster with a sword and skills. Everything is super simple, most developers, having estimated the scale of the prototype, will say that such a task can take from several hours to a day / couple.

    But! Let's carefully calculate the minimum amount of work:


    The code

    1. Interface system (you need to be able to display all the necessary info)
    2. Level loading
    3. Loading / pulling graphics (the game can have many reusable effects / resources)
    4. The main character and his skills
    5. Enemy
    6. Attack system
    7. Level passing system (difficulty should increase and level graphics should be collected)
    8. Points system
    9. Player upgrade system (skills and bonuses from the level)
    10. Sound system
    11. System of accrual / expenditure of resources (a player may have skills for mana or triggers)
    12. Player data storage system (progress must be stored)

    Interface

    Even for a prototype, a minimal interface is needed, but if we are considering a prototype / PoC (proof of concept), it is desirable to have a delicious design and normal UX. The minimum you need:

    1. Main menu
    2. combat interface (with scales of health, exp, progress level, mana scales, charging skills, etc.)
    3. popup about the victory in the current round
    4. popup about losing
    5. poplap about lvlapa
    6. player upgrade interface

    Graphics and animation

    Here it is more or less clear

    1. Graphics of at least three enemies
    2. The main character's graphics
    3. Graphics for generating levels
    4. level graphics animation
    5. For each skill you need animation (here you need to multiply by the number of skills).
    6. Animation is needed for basic attacks (there should be many varieties of basic attacks so that the user is not bored to look at the same sword swing)
    7. Character victory animation
    8. Character Loss Animation
    9. Enemy Attack Animation
    10. Animation of getting damage by the enemy
    11. Half-dead enemy animation
    12. Enemy death

    Special effects

    1. damage indication (all sorts of tsiferki, shaking, reddening of the screen)
    2. application of skills (for each skill)
    3. damage indication (blood / sparks / smoke)

    Sounds

    Just look at the previous lists and add sounds to the entire graphics, interface and special effects. It takes a lot of time.

    What are all these lists for?


    To show the primary volume that you need to crank in order to get at least some playable prototype, which can be called a game. I did not take into account localization and a lot of other work, but the main idea that I want to convey is the primary amount of work.

    I came up with a small rule - even a small task can easily take from an hour to two. Very few people are involved in indie fulltime development. Many of which I know combine with full-fledged work. That is, indie development takes only free evening time, for me it is about 2-3 hours, I think the majority actually also. 1+ easy task per day. A complex task can take several days. Not every day it turns out to work on a project for various reasons. As a result, the volume in the lists above is already more than a month of work, despite the fact that everything is going well, and all the pros. And this is only a prototype. And then you need a more complex system of upgrades, even more graphics, bring in a different gear that affects the attack / skills / hp / hired heroes, hiring heroes to help the player, different game modes.

    Developing a nice prototype of a super simple clicker can take a month or two, extremely easy, although, as I wrote above, at first glance, working there for a couple of days is maximum. And if you take beta, it can take a year. Delaying the process frustrates, and people begin to fall off. This is provided that all less experienced developers. And then we go to point 2.

    2. Competencies


    Alas, a good programmer does not mean a good indie developer, just like a good artist / modeler / animator, etc. There are a lot of beginners in indie development, and an excellent artist who draws very well may not be able to properly prepare the graphics for the engine used. There will be a lot of errors, re-import, reconfiguration, reanimation, and a lot of any bug related to crooked graphics import.

    As for programmers - an excellent C # programmer who does not know Unity3d will write a bunch of his bikes and solutions that will duplicate Unity functionality and not the fact that they will work well. Because the programming paradigm in pure sharpe and inside the unit is quite significant.

    Further - if something from the lists above is done for the first time, then it will take time to review, which again multiplies the development time. Therefore, in the end, even simple tasks do not take a day, but three. And again we get a stretch of time. For burning young people this will be a necessary experience, and for veterans it will be another disappointment.

    3. Summary and tips


    The results are simple - even a small project easily turns into a long-term construction, people burn out when they don’t see a fervent result, the project merges into a basket.

    Therefore:

    1. Carefully evaluate the real initial amount of work, often where you think one-day work, there may be work for 1 month as a team, when all this drags on - the team may not sustain and fall apart
    2. Try to accumulate and reuse solutions, it’s not only about achievements, but also about training materials
    3. The primary prototype can be with a minimum of graphics, but the graphics must be lively enough to like the prototype - you need animations and effects. There should be exactly so many graphics - in order to like and feel the very gameplay.
    4. Lead development publicly, post project progress in the community and forums, break the task so that the result is most obvious. This will create that very feeling of the correct movement of a living project. And the team will understand that their work is not in vain.

    As for the tips - I’ll be happy to hear yours, the experience of moving an indie project to release is interesting. From the point of view of the organization of the process.

    Also popular now: