Category Archives: 15MinutesGame

Progress Update 15 Minutes [1]

A little while back I wrote about how I planned to take over the world by creating a game, tentatively called “15 Minutes”. I also posted something of some design documents. I even detailed which Unity Asset Store assets I would purchase to help me create this game.

The plan was to get a good chunk of work done over the Easter break, now that the Easter break is over, I figure I should report on my progress! The good news is that I have made progress, the bad news is that it was a lot less than I would have liked.

Setbacks

As 100% of you probably predicted, there were some setbacks. Since I wrote up my plan a few things happened that cut into my development time in fairly significant ways.

Wisdom teeth

Doctors reliably informed me that I was too wise. One of my wisdom teeth was actually growing backwards in an attempt to correct this fault, but it wasn’t working. Another one was just impacted like a normal wisdom tooth. Surgery was required.

Who is this handsome fat faced devil!?
Who is this handsome fat-faced devil!?

This knocked me out of action for about a week. It was either pain or painkillers, and either option made coding really difficult.

It was a bit of a mixed blessing though. When I did start to feel better I got a few hours work in here and there, whereas if I was 100% I would’ve just gone back to work.

House buying antics

About this time we fell in love with a house that was going up for auction on the 28th of March. Turns out there’s a ton of work involved in buying a house at auction, at least here in Tasmania. I spent way too much time at open homes, contacting building inspectors, reviewing contracts of sale, talking to the council, talking to the banks and mortgage brokers, real estate agents, etc.

Among the best features of this house was the fact it’s 5 minutes from work, and it’s one of about 15 houses in Australia that is already connected to the fixed-fibre National Broadband Network.

This would’ve made it awesome for my indie dev activities.

Such NBN. So sad.
Such NBN. So sad.

Unfortunately, although we won the auction we never met the reserve price. Even a strong follow-up offer was too low. Turns out we couldn’t quite pay what the vendor wanted. Complete waste of time and energy.

Childcare plagues

My partner, Vanessa, recently returned to work 1 day a week, putting our almost 1 year old baby Eva into childcare for that day. Consequently she now brings home a new disease every week. I then catch this disease and then recover from it just in time for her to bring a new one home a week later.

Not my baby, but you get the idea.
Not my baby, but you get the idea.

Progress

Despite all this, some progress has been made.

I’ve implemented a Diablo style character control system, and the framework of the enemy AI system and combat system. It’s all a bit clunky still, but it works. Just needs polish.

A mushroom attacks!
A mushroom attacks!
A range of weapons can be equipped.
fireballfairy
A fireball shooting fairy.

 

15 Minutes: WIP Design Documents

Disclaimer

This is a work in progress. It describes the basic design concepts that I have already got down for the 15 Minutes game, but nothing described here is set in stone. It’s also not really written for the public audience, so although you should be able to get the gist of what I’ve got in mind for the game from reading this document, you may misinterpret some of my notes or short-forms as they were written as a reminder for myself, rather than with anyone else in mind. I’ll try to go through and tidy things up periodically, but for now it’s a bit of a mess.

Concept

  1. ARPG
  2. Fast paced
  3. Time limited (i.e. 15 minutes)
  4. Random generated tileset dungeons
  5. Rogue-like (permadeath)
  6. Different classes with different playstyles
  7. Diablo style control scheme/playstyle

Classic roguelike dungeon diving but real time rather than turn based, and time constraints to really put the pressure on the player to rush. Add traps and/or puzzles that would be quite easy to deal with if you had plenty of time, but which the player is at risk of screwing up because they’re rushing. i.e. Swinging blade trap – easy to time it right if you’ve got time to think, but hard when you’ve got serious time pressure.

Goals

3 classes with genuinely different playstyles

Stealth/speed based (Thief)

Avoid or backstab most monsters, so that you don’t get delayed with face-to-face combat that you’re not well suited to, better at traps/puzzles due to movespeed.

Strength/combat based (Fighter)

Murder monsters fast, but slower movespeed and more difficult to get through traps/puzzles.

Magic based (Wizard)

Range-limited teleportation, ranged spells, squishy. Needs to make very smart engagements or will die easily. Can skip some traps/puzzles though! Need to manage mana usage or risk being very vulnerable.

Player is trying to get to end of dungeon

Beginner players should have about a 1/20 – 1/30 chance of making it to the goal within the time limit. Intermediate players should get up towards a 30% chance. Skilled players should get towards 50%. Master players should be able to make it around 75% of the time.

The dungeons should be maze-like, but not difficult mazes

Don’t want to frustrate the player with “shit shit shit how do I get to where I need to be”, but also don’t want it to be obvious where to go.

XP progress should be quite rapid if you’re killing stuff

Difficulty of each level as you descend into dungeon should also scale quite quickly. Players who rush downstairs too fast are taking a big risk of dying. Players who mill about levelling up are taking a big risk of running out of time. This also addresses one of the big issues I have with most rogue-likes where players get attached to their character over time and it crushes them when they lose a good one that they invested a lot of time on.

Beyond just “reaching the goal”, there should be leaderboards for how quickly you can reach the goal.

These should be broken down per class and per special win conditions. i.e. NetHack style pacifist runs, naked runs, vegetarian runs, no potion runs, etc. Add a sense of community competitiveness and adds a lot of replayability for those players who have gotten good at the game and want to increase the challenge.

Should be relatively easy to add different game-modes.

i.e. 10 minute mode, 20 minute mode, 30 minute mode, which have more levels to descend. Different leaderboards for each mode.

General rule of thumb is to put the player in situations where they must choose between speed and safety.

As the time pressure mounts they will be forced to make some dicey decisions.

Potential nice-to-haves that should be considered during design

  • Co-operative multiplayer?
    • Diablo style – more enemies that are scaled up
    • Potentially frustrating waiting for a friend who has a more cautious playstyle than you?
  • Top down third person control scheme and also first person control scheme options.
  • Different leaderboards. Perhaps one class is first person while another is third person?
  • Oculus rift support?

Style

Very self-aware, tongue in cheek mood. A lot of things about the design make no sense – why would there be a shop in a dungeon, and why would the shopkeeper still be running it if the world is about to end? Why would the player get hungry, he’s only got 15 minutes? etc. The game should be aware of the fact that these game design considerations are exactly that, they’re to facilitate a certain type of gameplay and they don’t really make sense.

Spawns

  • Monsters
  • Waypoints – paths for some monsters to patrol (aids the stealth based gameplay options)
  • Chests – loot droppers
  • Special tiles –
    • stores,
    • special quests,
    • special opportunities (shrines? Fountains?)
    • Traps

Loot

  • Should spray out when you open a chest or kill a monster, Diablo style. No goofy slow container system.
  • Arrows
  • Money (can be spent at stores)
  • Health and mana potions – insta hit restore.
  • Cure potions – remove DoT effects when drunk
  • Food – slow release timed restore with limited efficacy. Also restores hunger.
  • Equipment/weapons
  • Smoke bombs (for stealth character)
  • Monster essence – restores a fixed amount of health or mana when you kill the monster and loot them. i.e. Fighter archetype gets a certain amount of health back from killing, magic archetype gets a certain amount of mana back from killing. Stealth archetype gets nothing?

Equipment

  • Chest – primary damage reducer
  • Helm – secondary damage reducer
  • Boots – minor damage reducer and minor movespeed increaser
  • Ring – minor attack damage increaser and special effect giver
  • Amulet – minor attack damage increaser and special effect giver

Equipment gets RNG stat rolls.

All equipment rolls are monster level based. Min/max values defined.

Weapons

  • Long blade – hi sharp damage, slower attack speed
  • Short blade – lo sharp damage, faster attack speed
  • Axe – mix of hi blunt and sharp damage, slow attack speed
  • Mace – blunt normal damage, normal attack speed
  • Hammer – blunt hi damage, slow attack speed
  • Bow – ranged attack, lo sharp damage, consumes arrows.

Larger weapons have lower concealability for stealth mechanics. Short blade (daggers) best for this, but lowest damage.

  • Wands (spellcaster only, low damage fast attack speed)
  • Staves (spellcaster only, high damage slow attack speed)

Fighter – str primary stat

  • Prefers melee combat (cannot equip bow?)
  • High health
  • Recovers health from kills
  • Slower move speed
  • Higher detection radius (harder to avoid monsters, and to prevent multiple monsters from seeing and attacking)
  • Armor/health based face to face combat – i.e. Armor mitigates/absorbs damage to reduce its effect, with ways to improve armor?

Thief – dex primary stat

  • Two move modes – sprint or sneak.
  • While sprinting detection radius is similar to fighter, but move speed very high
  • While sneaking detection radius is much lower, but move speed is very slow
  • Can sneak behind monsters to do very high damage opening moves (backstabs)
  • Quite poor at face to face combat
  • Dodge based face to face combat? i.e. If hit take lots of damage, but chance to dodge and take none, w/ ways to improve dodge chance?
  • Can use smoke screen skill to evade monsters once detected?
    • This would break monster detection and make the stealth character invisible for a very short time, and also switch them into sprint mode so they can escape

Wizard – int primary stat

  • Two move modes – Range limited teleportation or walking
  • Teleportation is instant, but consumes mana
  • Walking is fairly slow
  • Terrible in melee combat. Low health. Low hand to hand damage.
  • Ranged combat with kiting preferred. But player must consider how much ground they are losing, and conserve mana. May opt to use bow but lower damage than spells.
  • Recovers mana from kills, and very very slowly over time?
  • Can use carefully timed shield spells to mitigate damage in exchange for mana.

Hunger system

  • Hunger gradually builds over time, can eat foods to reduce
  • If hunger gets too high reduce attack damage and move speed
  • If hunger maxes out start taking damage over time

Stealth system

  • Players have detectability value – this controls how fast before monsters are alerted to their presence once the monster can “see” the player
    • Heavier armor and weapons increases the detectability value. –  similar to Payday 2 concealment
  • Monsters have detection radius value. In front of them this is full, behind them this is reduced to ~1/4.
    • Once player is in the detection zone for that monster they start detecting the player… But only start pursuing/attakcing the player when their detection meter hits a threshold
  • Players have a detection radius modifier i.e. Fighter = 1.0x, stealth sneaking = 0.5x, stealth sprinting = 1.1x. This can be further altered with skills?
  • Detected players will be pursued by the monster for ~5 seconds (perhaps have different memory time for different monsters, i.e. Some pursue the player more dilligently than others), but if the player continues to be detected then this will be constantly reset back to zero.
    • This allows the player to attempt to evade the monster. i.e. Spellcaster can teleport around a corner, Stealth character can use a smokescreen? However, if they cannot get out of the monsters detection radius they will continue to be pursued.

Monsters

Ranged

  • Slow, ranged, low health, low damage
  • Bullet hell type variants – i.e. Ones that do triple shot, fast projectiles, slow projectiles. Player can manually dodge.

Melee

  • Many variants
    • Tanky high health types
    • Small faster ones that tend to spawn in clusters. Low health and damage but swarmy.
    • Lower health higher damage types

Magic

  • Also ranged
  • Fire/ice/poison variants. Insta damage/slowing/DoT(curable)
  • Drop extra mana when killed.

Variety of detection radiuses and move speeds. Some should be kitable by walking spellcaster, others should be able to keep up with a sprinting stealth character.

Some should patrol predictably between a set of 1-4 waypoints (in each tile set 4-5 locations where waypoints can spawn, giving each a ~75% chance to spawn. Monsters spawning in the same area that want to patrol waypoints will seek out spawned waypoints and start using them as routes. Others should be stationary or just pacing back and forward over a short distance (changing facing direction, for purposes of stealth gameplay). This sets up stealth gameplay.

Some monsters more susceptible to blunt, some sharp, some magic.

Some monsters may attempt to dodge projectile attacks.

Monsters do damage based principally on the level of the dungeon they spawned on. Different monsters do damage in different ways.

  • “Normal” attack speed, average damage.
  • Wind-up and big hit. Very avoidable/stunnable/shieldable
  • Fast attack with small damage.
  • Ranged attack with small damage
    • Multi-projectile attacks with even smaller damage, dodgeable
  • Slow AoE projectiles with reducing damage depending on how far from center

Quest NPCs

“Help me defeat such and such to get a reward!”. Options i.e.

  • Spawns a random single “big” monster in the next level of the dungeon (i.e. Make the monster more tough)
  • All of a particular monster type in the next level.
  • Reward is triggered automagically when the player fulfills the conditions? (making them walk back to the questgiver would eat too much time?)
  • If player completes all quests they encounter (minimum 2) they get the “Heroic Adventurer” flag and leaderboard.

“I am hurt! Please give me a health/mana/cure poison potion!”

  • Random chance that they will turn out to be hostile or friendly
    • If friendly, player receives a reward
      • Random piece of equipment…
    • If hostile, player just gets into a fight with no special reward
  • If player completes all “I am hurt!” quests (at least 2) they get the “Red Cross” flag and leaderboard.

“I am stuck down a hole, please find a rope to rescue me!”

  • Rope will spawn in a chest at some point in the same level of the dungeon
    • Random item reward
      • Small chance (i.e. 1/4) they will end up being hostile, but you still get the reward for killing them.
  • If player completes all “I am stuck!” quests (at least 2) they get the “No Man Left Behind” flag and leaderboard.

Traps

Primarily timing based traps i.e.

  • Swinging blades
  • Flame jets/Ice jets/Poison jets
  • Arrow traps

These should be easy to avoid if you are willing to go slow, but require significant skill to successfully speed run through. Player must choose between speed and safety.

Also some pressure plate based traps, following same types as above, but easy to dodge – just avoid the pressure plate.

  • Harder to avoid pressure plates when fleeing monsters though!

Traps do increasing amounts of harm as the player progresses, but the various types of traps should range from low to high damage. i.e. Low damage traps do ~10% of an appropriately levelled characters health, while high damage traps do more like 50%. Experienced players should be able to easily identify which are low/medium/high, so they can make appropriate snap decisions about whether they are going to bother spending time to avoid the trap, or if they’ll just plough through to save time.

Traps should also damage monsters, but monsters will avoid traps unless pursuing the player. This way the player an lure monsters into traps for assistance with kills, but monsters won’t just spontaneously get themselves killed.

Control scheme

Diablo style. Click to move. Click to attack. Right click to defend (reduces incoming damage, limited use).

4 skill hotkeys. 2 potion hotkeys (health and mana, consumes potion).

Stealth and Fighter have a switch weapons hotkey (i.e. Fast swap from ranged to melee)

Thief

Default attack is simple melee if using melee weapon, ranged if using bow

  1. Sneak
  2. Sprint
  3. Backstab (only available when close behind an enemy ?and not in combat?)
  4. Smoke screen (break engagement, opportunity to flee, consumes smoke bombs)

Fighter – generates rage during combat, but rage decays out of combat

Default attack is simple melee if using melee weapon, ranged if using bow.

  1. Bash (short stun effect that interrupts attacks, consumes rage)
  2. Berserk (time limited increased damage and improved armor rating, consumes rage)
  3. Whirlwind (AoE with knockback and short stun effect, consumes rage)
  4. Leap (can jump over enemies to escape a surround, can only use during combat, can only use every ~3 seconds)

Wizard – generates mana very, very slowly.

Depends on mana recovered from fallen enemies.

Default attack is ranged fireball (does not consume mana).

  1. Teleport (range limited, consumes mana)
  2. Ice projectile (slows enemy move speed, consumes mana)
  3. Meteor (AoE high damage, consumes mana)
  4. Shield (timing based damage mitigation, consumes mana)

Levelling and character customisation

When the player levels they get a skill point to award to one of their skills to improve it. This allows a degree of character customisation, as you can focus on different skills depending on play-style.

Sneak – improve sneaking speed and further improve detection stats
Sprint – improve sprint speed
Backstab – improve backstab damage
Smoke screen – increase duration before monster starts to see player again

Bash – reduce the rage cost
Berserk – improve duration of skill
Whirlwind – improve AoE damage and reduce rage cost
Leap – improve leap distance and reduce cooldown

Teleport – improve range of teleport, reduce mana cost
Ice projectile – improve slowdown effect, increase speed of projectile, reduce mana cost
Shield – improve duration of shield effect, reduce mana cost
Meteor – improve damage, reduce mana cost

Player base damage passively improves as the player levels.

Player also gets points which they can invest in stats.
Str is damage stat for fighters, but also improves armor for everyone
Dex is damage stat for stealth, but also improves dodge for everyone
Int is damage stat for spellcaster, but also improves magic resistance for everyone
Vit improves base health for everyone.

Damage

(Base damage + Weapon damage + Primary stat damage) * Attack Damage Modifier
Equipped weapons improve player damage.
Primary stat (str for fighter, dex for stealth, int for wizard) improves player damage

Damage mitigation applied by Armor stat for physical damage
Damage mitigation applied by magic resistance (int) for spell damage

Thus, fighters will be vulnerable to magic if they dont invest points into Int. Spellcasters will be vulnerable to physical damage if they don’t invest points into Str/Dex. Stealth characters will risk the chance of being one-shot if they don’t invest into Str and Int. Etc.

Special tiles

Fountains
– Drink from them to gain random effect
a. Restore health
b. Restore mana
c. Temporarily Improve armor
d. Temporarily improve damage
e. Poisoned (DoT)

Shops
– Shopkeeper sells an inventory of items in exchange for money. Limited stock.
○ Health potions
○ Mana potions
○ Smokebombs
○ Arrows
○ Cure poison potions

Pub
– Shopkeeper sells drinks
○ Drinks are just plain bad.
§ Lower stealthability
§ Lower attack speed
§ Lower health
§ Screen blur effect
○ Different leaderboard for alcoholic players
§ It’s a self-inflicted challenge for players
§ If they spend at least 1/5 of the total gamemode duration drunk (influenced by drink) then they get the alcoholic flag
§ Each drink lasts ~1 minute.

Traps (discussed previously already)

Quests
– Stuck in a hole quest NPC mentioned previously

Leaderboards and Achievements

Global leaderboard system should contain ALL completed attempts times and statistics. Local leaderboard should show all of your scores/times, not just completed ones.

Also daily/weekly leaderboards?

Each character gets a time alive, class, as well as a range of flags.

Flags
– Completed dungeon/Did not complete dungeon
– Vegetarian (has only eaten vegetarian food)
– Carnivore (has only eaten meat)
– No Man Left Behind (completes all stuck in hole quests – at least 2)
– Heroic Adventurer (completes all “go kill X for me” quests – at least 2)
– Red Cross Worker (completes all “I need a potion!” quests – at least 2)
– Trap Pro (takes no damage from traps)
– Pacifist (kills no enemies)
– Alcoholic (spends at least 1/5 of total gamemode duration drunk)
– Potions are for sissies (doesn’t drink any potions)
– Legolas fan (only uses a bow)
– Brute (only uses melee weapons)
– No Time To Eat! (spends at least 1/5 of the total gamemode duration at maximum hunger)
– Mad Hops (uses Leap at least ~50 times)
– So Dizzy (uses Teleport at least ~100 times)
– You’ll Never Catch Me! (uses at least ~30 smoke bombs)

Completing the dungeon with each flag is also associated with an achievement
Additional achievements
– Play as a fighter
– Play as a spellcaster
– Play as a stealth
– Complete as a fighter
– Complete as a spellcaster
– Complete as a stealth
– Equip each weapon type
– Equip each armor type
– Complete a quest
– Complete a stuck in hole quest
– Complete a heal me quest
– Complete a kill boss monsters quest
– Complete a kill all monster type quest
– Successfully stealth an entire dungeon level
– Successfully stealth an entire dungeon level as a fighter
– Successfully stealth an entire dungeon level as a spellcaster
– Reach xp level 2
– Reach xp level 5
– Reach xp level 10
– Reach xp level 15
– Reach dungeon level 2
– Reach dungeon level 5
– Reach dungeon level 8
– Reach dungeon level 9
– Reach dungeon level 10
– Die
– Die of poison
– Die in a trap
– Die of hunger
– Successfully backstab an enemy and one-shot them
– Use shield to avoid an attack
– Use bash to prevent an attack
– Use meteor to kill more than one enemy at once
– Buy from a shop
– Get drunk
– Kill 100 monsters
– Kill 500 monsters
– Kill 1000 monsters
– Stealth 5 levels
– Stealth 10 levels
– As a spellcaster kill a monster without taking damage

– Get top 10 in a daily leaderboard

– Get top 10 in a weekly leaderboard

 

The Plan: How one man with no time intends to make the next Diablo this year

I have a problem – I want to make a game, but I don’t have a lot of free time.

I’m a full time research scientist, father of a 10 month old baby, and partner to a sweet and deserving woman. I’m a family man now, and with that comes responsibility. I’m in no position to take significant time away from work. I’ve got a mortgage and mouths to feed. Vanessa is taking care of baby full time, so our income is already a lot lower than it used to be. Besides, I quite like my job (most of the time at least). I’m hardly going to quit.

Ok, so I want to make games, I don’t want to quit my job, but I don’t have much free time. How can I make this work?

Stop focusing on what I don’t have, start focusing on what I do have

It’s not very productive to fixate on how little free time I have, how tired I am, and how it’s a serious challenge just to keep my head above water. I need to take stock of things in an objective fashion and find a way to move ahead. If it is truly important to me that I make a game in my spare time I need to figure out how to make that possible.

no-time-to-say-no-time

I have skills and knowledge.

I’m a skilled and experienced programmer. I’ve got a PhD in Computing and years of experience implementing highly technical and complicated solutions to very sticky problems. Best of all, because some of my research projects have been in the serious games field, I’m skilled in game development using Unity. I’ve got a head-start over many indie developers, who often need to spend significant time getting up-skilled.

I have many of the tools I need.

Thanks to the aforementioned serious games projects I already have Unity Pro licenses and my Unity store account is already pre-loaded with a good set of useful development tools and assets. In particular, I’m fortunate enough to have a current subscription to Mixamo All Access, giving me near unlimited access to their massive library of humanoid animations and their very nice Fuse character creation tool.

I have some disposable income.

I’ve been working as a full time academic since 2009, and until recently my partner was working full time as well. We live quite frugally, and are generally very financially responsible. This has put us in a comfortable position financially.

I have money, but I don’t have time. I can buy back time by spending money on assets and tools that will save me time. It’s important to me that I make a game, not that I make every little part of the game myself.

I have accrued leave.

In Australia we earn 20 days of annual leave for every year we work. However, I typically only use 10-15 days of annual leave per year. Currently I have 35 days of annual leave in the bank. It’s not much in the scheme of making a game, and my partner will kill me if I burn through it all just to “do different work!”. But I can probably get away with spending 5-10 days of that on my personal projects, while still leaving plenty for proper family holidays and emergencies.

I have public holidays.

In Australia we are fortunate to have a respectable number of public holidays per year. As an academic I’m lucky enough to get a few extra “for free” (read: senior management and the union negotiated extra days of leave as an alternative to a more respectable annual pay increment). We get extra days at Easter and Christmas.

I do have some free time.

We put baby to bed between 7-7:30pm every evening. We are constantly exhausted and go to bed at 9:30pm. There’s a two hour window each evening in which I can potentially do a little work. Most nights I need to unwind and spend some quality time with my partner, or else our relationship can get strained. But on average I can probably squeeze around half an hour to an hour of “work” in the evenings, provided I’m motivated enough… It’s not quite the same as proper, focused, “in the office” work, but it’s something. I can also squeeze a couple of hours most weekends during baby’s daytime naps.

I have a game idea.

If the goal is to make a game, I have to come up with a good game idea first. Importantly, this idea has to be one that is sufficiently exciting to motivate me, yet one that recognises my limited time. I’m not going to make the next Skyrim solo in my spare time. I have to limit scope. Ideally I should probably be making a simple mobile game or arcade game, but I don’t like to play those kinds of games and I really don’t want to make one of those games. No point in trying to start a project I have no passion for.

I have decided I want to make a Diablo style top-down ARPG rogue-like with procedurally generated dungeons. To make it interesting I will use arcade elements instead of a vast world and a rich lore which are outside the scope of what I can reasonably deliver. The player will have a limited amount of time to get as deep into the dungeon as possible, while competitive leaderboards and character customisation elements will encourage replayability. See the WIP draft design documents for (a lot) more detail.

This idea is particularly inspiring to me, as it is the kind of game that I want to play, now that I have so little free time. A game that is inherently designed to be finished in under 15 minutes is perfect when you know that you only have 15 minutes to spare.

Make a plan

Alright I don’t have much free time, so I have to make sure that what little time I do have really counts. This means careful planning as per my previous blog post.

Looking at the calendar, I should be able to use a couple of days of annual leave to turn Easter into a full week break, and I can negotiate with my partner to spend a good percentage of that time working, once all the family obligations are complete.

I am going to use that window to really get stuck into implementation. I need to be able to sit down and focus for hours at a time, with few distractions, and without significant breaks between sessions. Once I’ve got a framework in place and I’m comfortably underway I can iteratively solve minor problems one at a time using my short blocks of free time, and feel like I’m still making progress, but without that initial burst of progress I find it very hard to motivate myself. Your mileage may vary, but this is what seems to work for me.

But now I have a deadline! I need to be ready to start full steam coding by April the 3rd! I’m only going to have a week, and I need to be able to get as much done as possible in that time. So my time between now and then is really valuable. There’s a lot of planning and preparation work that needs to be done to lay the groundwork.

  • I can browse the asset store to find the assets I need, and determine what I have to make for myself. 
  • I can prepare design documents and think about gameplay elements.
  • I can blog.
  • I can recruit Twitter followers.
  • I can prepare my website.
  • I can read up about solutions to the problems I know I’m going to have to solve.
  • I can prepare for marketing and promotion activities. Live streaming? Press releases? Greenlight? Kickstarter? Dev blogs? It all benefits from having some advance planning.

Clearly, I’ve already started doing these things. You can see my WIP draft design documents that outlines the game. My Twitter account has grown from 16 followers to over 350 followers over the last 6 weeks. I’ve been reading a lot about indie game development, greenlight, crowdfunding, dev blogs, blogging in general, marketing, press releases, and video production, and practicing these things where possible. And I’ve already found a great set of assets on the Unity Asset Store that are going to be perfect for my game.

I’ve also got an angle on this week of coding. I want to use this opportunity to showcase the amazing value that the Unity Asset Store offers, by demonstrating just how much one person can achieve in only a week if they make good use of the asset store. How’s this for a blog post title? “How much game do you get for $400 and 40 hours? – An experiment with the Unity Asset Store”.

Get to work?

By now I feel like I’m pretty much ready. I have a clear vision of what I want to achieve, and a plan in place to help me achieve it. There’s still plenty of things that I can do in advance, but I could start work tomorrow and feel like I was using my time productively and efficiently.

There is still one significant problem left to solve though. The game I want to make is still too big. It’s small enough that I can make a good start in my one week coding spree, but it’s not going to be feature complete, and it certainly won’t be consumer ready. I know from experience that if I cannot keep sustained momentum on this project throughout the year then it will eventually be abandoned. This has happened too many times before.

To a certain extent this problem can be solved by cutting scope. But for the style of game it is, the scope is already quite limited… Cutting it any further risks making the game disinteresting, un-fun, or lacking in replayability. Game designs are like plants. Pruning them back can be beneficial if you go about it in the right way, but if you go too far then the plant will simply die.

Stay motivated

This is where you come in, Dear Reader. I need you to want this game to be finished, I need you to put the pressure on. If I know the demand is out there, then the motivation will flow.

Follow me on Twitter, and feel free to heckle. Many of my best achievements have been motivated in part by wanting to prove other people wrong.

Salvador Dali knew how it was.
Salvador Dali knew how it was.

Unity Asset Store: Buying time with money

The fundamental premise of my grand plan to make an overly ambitious game this year, despite having virtually no time to work on it, is that I can buy tools and assets on the Unity Asset Store that will save me months of hard work. I actually looked extensively at what was available on the asset store before I decided to go with my time-limited Diablo-styled rogue-like ARPG game idea, 15 Minutes. The deciding factor was the sheer amount of high quality and very affordable stuff that I could buy from the asset store and use without much too much modification in this game.

This post is going to be a living post, wherein I list each of the assets I am considering buying and have bought, and describe my reasoning for buying them over other assets, as well as my trip report once I actually make use of the assets.

Environment Graphics

Since I’m a programmer with extremely limited 3D modelling and art skills (I once had significant difficulty texturing a cube the way I wanted it), the most important thing to make this project viable was that I could purchase all my 3D models. I definitely don’t have a year to practice my 3D modelling, and I don’t have another year after that to make all the models and materials I’m going to need.

When I first started browsing the asset store I immediately discovered the work of 3DForge. This guy has spent the last 2 years just making a phenomenal amount of fantasy themed graphics, all with a consistent semi-cartoony style, and all 100% game ready. After a couple of days of idly flicking through all the competitor products my mind was firmly made up, and I pulled the trigger on four huge packages that he’s released. Totaling $120 I have already purchased basically every model I would need to create this game… And it’s AAA quality as well, so I’ve made my game look way more awesome than I otherwise could have dreamed of, at the same time as saving hundreds of hours of work. Win-win.

Follow him on Twitter if you like what you see, he sometimes puts his packs on sale and announces it on his Twitter account.

Village Interiors Kit

This is an all in one fantasy interiors kit. It’s a lot more than just “village interiors”. It’s basically a mega pack, with over 2500 prefabs included and game ready. It even includes arguably all the weapons I need.

TaD – Sewer Kit

This is a nice sewer level kit, designed specifically to be suitable for “tile a dungeon” style games.

Fantasy Treasure Loot Kit

Various chests, scrolls, books, crates, barrels, coins, ingots, rings, amulets, potions. Going to make use of a lot of this stuff!

Particle Effects

Magic Projectiles 1.5

I grabbed this on sale for $10. It’s got a full set of game ready standard spells. Contrary to the title, it also includes shields, domes and auras, as well as projectiles. This one purchase got me every particle effect I needed to make the spellcaster class for my game. I’m not very good at making particle effects, so this purchase will have both improved the visual feel of my game, as well as saved me a lot of time. Twitter.

Scripts/Tools

Full Inspector: Inspect Everything

This nifty little extension to the MonoBehaviour class allows you to tinker with a significantly extended set of data structures using the inspector. Unity will let you play around with arrays, strings, ints, floats and the like… But Full Inspector takes it to the next level, letting you edit things like Dictionaries. It even deals with generics. Super useful.

DunGen

This procedural dungeon generator is super cool, and is basically a more polished and refined version of exactly what I had in mind when I started thinking about this project. It essentially allows you to build dungeon tiles of any size. You just tell it where the doors are (supports doors of all different sizes and shapes), define how likely things are to spawn and where, and then tell it to generate a dungeon. It figures out the rest. I’m basically 100% sold on using this as my procedural dungeon generation solution, but it’s $75 so I’ve just left it in my wishlist for now. If it goes on sale at some point before I’m ready to start coding then I’ll snap it up. Otherwise, I’ll just buy it when I need it. Twitter.

SimpleLOD

I also got this one on sale for $10. I’ve yet to use it, but as someone who has wasted whole work days setting up LODs in the past, the promise in the product description was enough to convince me that it would be a good investment. Not only would it do the decimation of your models, but it promises to also automatically set up the LOD levels for you. This is a fairly tedious process in Unity, so it’s potentially a great time saver. Twitter.

HerdSim

I grabbed this one on a whim when it was on sale for $8.75. I’ll use it to set up minor environmental critters like rats and cockroaches. Since these guys are just for atmosphere they don’t really deserve a proper AI, so it should be cheaper to just use HerdSim to let them wander about in a semi random fashion. Twitter.

RAIN

This is actually free, but it’s pretty awesome so it needs to be mentioned all the same. RAIN is an all-in-one behaviour tree based AI solution for your NPCs in game. Super importantly it includes its own Navigation Mesh solution which is in some ways superior to the built in Unity NavMesh system. In particular, it can be used to generate NavMeshes during runtime, and it’s pretty quick to do so.

Using RAIN I’ll be able to quite easily define a range of simple behaviours for the various types of NPC in my game. All the NPC movement and player detection stuff, which would normally be quite challenging, is going to be super easy. This free asset singlehandedly makes the game I want to create a whole lot more achievable… I’d go so far as to say I probably wouldn’t have attempted this project if RAIN wasn’t available. There is a learning curve, and the documentation leaves a little to be desired, but once you know how to harness it this tool has a lot of power. Twitter.

TextMesh Pro

I don’t strictly need this tool for this project, but since I already have it I’d be stupid not to use it. It makes it really quite easy to create cool graphics text effects within world. It’s a lot better than Unity’s built in text meshes. I’ll use it for menus, tutorials, title-screens, etc. It’ll make them look much more professional, distinctive, and cool. Twitter.

Characters

Mixamo Fuse

I already have Mixamo Fuse as part of my All Access subscription. I can use this to make any human and zombie characters I need. I’ve used it previously, it’s really quite good, and the ability to just upload your character straight to Mixamo for automatic rigging and animating is awesome.  Twitter.

I can also grab pre-made characters/monsters and the like from Mixamo too. There’s about 100 available on their store, which are all at my disposal thanks to All Access.

Monsters

You can get quite a lot of monsters and the like for free on the asset store. The quality is a bit variable though. I’m not 100% sure what I’m going to do here. I may need to buy some for specific NPCs. I’ll play this one by ear! Let me know if you have any recommendations.

Forest Creatures Pack

This bundle of creatures is nicely optimized, cute, and provides me with a broad base of creatures with a good selection of sensible animations for this type of game – melee, projectile, spell, damage, death, idle, walk, run. By providing a range of colours for each monster the creator gives me the easy option of using different versions of the same creature at different levels of the dungeon. Ideal for the kind of game I’m planning.

I do have some reservations about how well the art style will mesh with the rest of the graphics assets in my game, but I’m fairly confident. The environments are semi-cartoony already, just not quite on the same level as these creatures. We’ll see how it goes. I got this on sale for $75, which is a good price, but not cheap. Hopefully it works out. Twitter.

Animation

Mixamo

As mentioned earlier, I already have an All Access subscription. The Mixamo animation library is absolutely huge, reasonably easy to use, and very much game-ready. All my movement, attack, and defense animations will come from Mixamo. I’ll just have to make the Mecanim animation controllers myself – but that’s pretty unavoidable. Twitter.

Sound

Universal Sound FX

Got this pack for $10 on sale. It’s got a lot of sound FX that are game ready. Most of them I will not need for this game, but they may come in handy for future games. There are a ton of useful sounds for this game though – weapon clashes, spells, arrows, and heaps more. I could have just gotten these sounds off freesound.org, but then they’d be varying levels and require a certain amount of massaging in Audacity before I could use them. The $10 I spent here will save me quite a few hours of trawling through and editing sounds. Well worth it. Twitter.

Fantasy Music Collection?

There’s a lot of good music options on the asset store that would suit this kind of game. The one I’m most impressed by at the moment is the Fantasy Music Collection, but I’m not 100% convinced just yet, and at $30 it’s more than I’m willing to spend without being convinced.

The problem I have is that I want the game to be distinctive and recognisable. A really canny music choice can make all the difference. The biggest problem I have with the music packs on the asset store is that most of them have been used quite a few times already, so you lose the personal touch. I’ll keep my eyes open for a while yet. But if it comes on sale I might just buy it, because even if I don’t end up using it in the final product it’d be a great placeholder for the alpha and beta releases.

Cut-scenes

uSequencer

There’s not a lot in the way of cut-scenes I need for this project. Really just one for the opening story that sets the scene, and maybe another for the closing scene.

I could do these manually without too much trouble, but when I saw uSequencer on sale for $22.50 I figured it was time to pull the trigger on it. It will make this activity easier, and there’s always scope to use it in plenty of other projects!

I did hesitate, because Unity have teased a similar set of features coming natively to Unity “at some point during 5”, but who knows when that will be, or how complete it will be. Twitter.