• entries
    94
  • comments
    271
  • views
    151101

The Poor Man's Postmortem - Lemma

Sign in to follow this  
evanofsky

5403 views

The big secret of our industry is, we don't actually enjoy making games. We slave away in obscurity for years in anticipation of one glorious day.

Not release day, no. The day we can finally write a postmortem full of pretentious anecdotes, bad jokes, and unsolicited advice.

Well I just finished a game, and doggone it, I am going to exercise my inalienable rights as a developer.

The formatting on this article came out a little wonky. Read here for a better formatted version.



Things to do when making a game



Ancient gamedev postmortem traditions mandate that this section be titled "what went right". Unfortunately, the game was so shockingly good and so many things went right that a full overview would stretch on endlessly.

Instead you'll have to settle for this. These are some things I did that I recommend you do as well.

Come up with a good concept

I didn't do this one, actually. The original concept was a cartoony third-person game called Parkour Ninja. It changed every other week or so for the remainder of development. For a while the player had a pistol:
1wunul.jpg
And for a while, you could rip voxels apart and re-attach them:
p5zp3l.jpg9XAvHl.jpg

Almost everything got cut.

The final concept is not particularly unique. First-person parkour with a female protagonist has definitely been done before, and every third game on Steam uses voxels.

It worked in the end though, by combining familiar elements in a unique way, and by throwing in a weird, trippy, puzzle-y aesthetic. Every new idea steals from existing ideas.


In 2012 I released a short, strange, ugly, buggy alpha demo which nevertheless communicated the core ideas of parkour and mysterious voxels. Incredibly, Rock Paper Shotgun covered it. I doubt I would have stuck with the project without that affirmation.

Make it through Greenlight

I honestly have no idea how to replicate this feat. I don't know how it happened. Fortunately, Greenlight is much less daunting today than it was in April 2014.

I did almost nothing to promote the Greenlight page. I ran the campaign in tandem with a Kickstarter (more on that later), but almost all traffic came from Steam itself. Here's the embarassing trailer I used for both Greenlight and Kickstarter:



The game was greenlit in 16 days as part of a bundle of 75 other games, even though it hadn't reached the top 100 yet.

cBNID9Sl.jpg

As you'll see later, if you want to make a living developing PC games, you have to get through Greenlight.

Iterate the controls

My character controller article goes into much more detail on this, but basically, take however much time you plan to spend on the controls, and then double it.

Use MIDI knobs to control game variables. Explore the game space. Use offline processing to bullet-proof your character controller.

This point applies to all games, even those that don't have a character. The player's action and the game's reaction are arguably the most important aspects of a game, because they are unique to the medium.

Design your graphics carefully

Lemma has been pretty ugly for most of its life. I got lucky with a few textures in the 2012 alpha, particularly the stone texture which features heavily in the final game. But mostly I just slapped textures on haphazardly. Here are some perfectly good textures applied in the worst possible way:

vJPWAl.jpg

At the time, I knew something was wrong with this scene, but I couldn't put my finger on it. Allow me now, with the benefit of hindsight, to put my finger all over it.

  • Nowhere to climb. This is a claustrophobic indoor scene set inside some sort of derelict vessel. It belongs in Bioshock, not a parkour game.
  • Too busy. The textures are incredibly loud and detailed while the voxels are huge, flat, and boring.
  • No composition. Nothing draws my attention or invites me to explore. The shapes are all uninspired boxes.
  • Abysmal lighting and colors. If I recall correctly, I randomly placed the red point light on the left on a whim.

    Compare to this shot from the final game:
    mPXRXevl.jpg
    Still some rough edges, but not overly painful.

    Here's what I learned to get from point A to point B:

    • If you're like me, make up for your lacking art skills with code. God rays, SSAO, and particle effects worked wonders for me. And turn on mip-mapping for gosh sake.
    • Form and composition are more important than detailed textures. You can make a beautiful scene with just a few carefully placed shapes.
    • If you're trying to convey a massive sense of scale, your forms should have interesting features at every scale. A single, giant, featureless cube won't inspire awe. Neither will a giant cube with a detail pattern.
    • Colors and lighting make or break scenes. I probably spent as much time picking (and re-picking) colors as I did building voxels.

      Support all the things

      At the very least, add proper gamepad support. For me, Oculus Rift support was a huge selling point and a ton of fun for YouTubers.



      Things like sparse options menus, missing gamepad support, and shoddy VR implementations enrage gamers, especially PC gamers. There's a reason TotalBiscuit starts every video with a look at the options menu.

      I threw in every option I could think of, and almost every option requested by players. Y axis inversion, gamma, FOV, gamepad bindings, a framerate limiter, you name it.

      Get involved with the community

      I almost lost it In January 2014. Shut in my apartment for days on end, stuck in a difficult rut in production, I was going insane.

      Thankfully, Columbus has a budding game development scene. I rented a desk from a local gaming incubator. The mere act of driving to work and existing around other humans got me through the winter. As an added bonus, I gained a ton of playtesters!

      yKbs9yJl.jpg

      Every month I attend a local game development meetup. As a solo developer, it's the only time I get to talk openly about the topic that consumes 90% of my life. Seeing the same people every month and catching up on their progress is incredibly rewarding.
      For the rest of the month, there's Twitter!

      Do your own marketing

      If you're like me, your marketing budget is $0.

      On launch day, I spammed announcements to all of Lemma's accumulated fan base via Twitter, Facebook, IndieDB, GameJolt, Kickstarter, Steam Greenlight, YouTube, and an email list.

      I spent several days collecting contact info by hand for various press and YouTubers. Whenever possible, I automated the process with Python and Javascript. Some resources I used:

      • Video Game Caster
      • Video Game Journaliser
      • Top 100 YouTubers
      • Bolo - useful for digging up journalist email addresses

        I pulled everything into a Google Docs spreadsheet and ran a mail merge on it two weeks before the launch. Somewhere around 400 Steam keys ended up being activated.

        YouTube ended up bringing the most traffic. Over 400 videos have been uploaded to date, totalling over 5 million views, mostly thanks to three huge videos posted by jacksepticeye.

        Ship your localization strings in plain text

        Lemma uses Excel files for localization. I use a third-party library to read them, which makes the code pretty simple.
        This ended up being a great decision, because foreign players step up with their own volunteer translations. They can edit the Excel files in place and see the results immediately in-game.

        Things to never do, ever



        Run a Kickstarter

        As Greenlight becomes easier to conquer, Kickstarter becomes exponentially more difficult. Backers have been burned too many times by now, and everyone sets their goals much lower than the amount they need to deliver on their promises.

        I ran a failed Kickstarter for Lemma in March 2014. Originally, I planned to abandon the game if the Kickstarter failed. Then the Greenlight went through and I decided to cut back the budget, take some contract work, and do some budgeted art items (namely the character model) myself.

        Running a Kickstarter takes too much time away from development. My advice is to find another way to fund your game if at all possible.

        Write a pretentious story

        If you're making Deus Ex, feel free to go wild with gritty lore and philosophical questions about trans-humanism. But if you're making Flappy Bird, you can get away with maybe a 10 second cut scene, tops. Know how much story your game can "afford".

        The story of Lemma features quantum mechanics, the Philadelphia Experiment, life and death choices, infidelity, betrayal, and jealousy. All this crammed into 50 optionally collectible notes in a game about parkour.

        The story tries to do too much. When all these conflicting ideas combine, they blur together into a jumbled mess that neutralizes the impact of each individual idea.

        When it comes to story, do one thing, and do it well.

        Suddenly switch from linear to non-linear design half-way through
        I planned this from the beginning, actually. The first half of the game is linear so I can introduce mechanics one at a time. The player knows everything by the second half, so the game opens up into a non-linear cornucopia of levels that review the things you've learned so far.

        This is a pretty good pattern as far as pacing, but the linear to non-linear transition confuses players. The whole first half teaches you that there's one way to "win", then suddenly, you're dropped out in the cold and left to your own devices with a completely incomprehensible world map.

        AQK8Ohil.jpg
        [size=2]Wait, what?

        I did this because I thought, "this game is about exploration, it needs to be more non-linear". But all of the alpha releases were completely linear and not a single player complained about it. In fact, many of them commented that they enjoyed how each individual level could be cleared in many different ways.

        The takeaway is, there are tons of ways to make your game feel more non-linear than it is, without building a confusing tangle of interconnected levels.

        Design bad puzzles

        My worst puzzles break the game rules. If you have to write a custom script that manually pokes the game state when the player solves the puzzle, stop and re-think your life decisions.

        I'm always worried that my puzzles are too easy and that players will breeze through them too quickly, but in reality it doesn't take much to slow players down.

        Often, the simple act of exploring a 3D space is enough of a puzzle. Games like this are a continuous conversation between level designer and player. It's enough of a challenge for the player to parse what the level designer is saying.

        Throw in unnecessary enemies

        Enemies have been a part of Lemma since day one. I love watching players encounter them for the first time, because they're truly terrifying. That small taste of horror shakes things up and fits perfectly into the pacing.

        But after the novelty wears off, enemies become annoying and redundant. There's no combat; your interaction with them is always the same: run away.

        My goal was always to integrate enemies seamlessly with the environment. In parkour, the environment is already your biggest enemy and your most powerful tool, so it makes sense. Unfortunately, I only came up with one enemy that came anywhere close to achieving this goal: a sort of tower that detaches from the environment and falls on you.

        In hindsight, I should have been more confident in the core gameplay and remove the enemies to focus on better level design.

        Spend time on an unnecessary level editor

        Some games benefit hugely from a level editor. Heck, Garry's Mod is a level editor. If you're making that type of game, more power to you.

        If you're making a mostly linear, story-driven singleplayer game, a level editor doesn't make much sense. Everyone says "oh cool, there's a level editor", creates a few cubes, and then completely forgets about it.

        Again: do one thing, and do it well.

        Start a hobby project and transition it to professional

        Hobby game development is like building a tower of bricks. You don't know how tall it's going to be, you just keep stacking bricks. Each brick represents something that happens to interest you at the time. Branching dialogue? Sure, stack it on there. A pistol? Why not. Pretentious story? Check-a-mundo.

        Professional game development is like sculpting. You start with a certain amount of raw materials: time, money, motivation, player attention, etc. You plan out a rough idea of your sculpture, then you start chiselling. The size of the sculpture is irrelevant if you put your chisel in exactly the right spot.

        The two paradigms are incompatible. If you're a hobbyist looking to make the switch, consider starting fresh with a new project. Results Steam
        The second spike in these graphs is mostly due to jacksepticeye's Let's Play videos.

        Results



        Steam
        du652mrl.png
        Sales: 3,171

        ZfYb7X2l.png

        Gross revenue before 30% cut: $43,554

        Max simultaneous players: 63

        2Pw99lGl.png

        Demo downloads: 10,126

        iLSlHTjl.png

        Demo conversions: 277 (2.7% conversion rate)

        [size=1]t3BNTHKl.png

        Max simultaneous demo players: 53

        ve3U0JDl.png

        Key activations: 483

        Positive reviews: 77 (91%)

        Negative reviews: 7

        Refunds: 68

        2TPchSCl.png

        itch.io

        bqNKYkDl.png

        Demo downloads: 1,896

        Sales: 46

        Gross revenue before 5% cut: $701

        Humble widget (direct website sales)

        aaxRlnDl.png

        Sales: 37

        dINxlhwl.png

        Gross revenue before 5% cut: $557

        IndieGameStand

        Sales: 4

        Gross revenue before 30% cut: $57

        IndieDB

        Demo downloads: 1,388
        Piracy
        Lemma offers the option to anonymously upload analytics. 5,732 out of 13,410 demo downloaders (43%) actually opened the game and opted in to the analytics program.

        A total of 7,310 pirated copies of the game have submitted analytics data to my server. Assuming 43% of pirates opt in to the analytics, I estimate about 17,000 people have pirated the game, for a piracy rate of 82%.

        The worst part about piracy is that torrents cannot be updated, which means YouTube is full of footage of old, outdated builds.

        Conclusion
        a1orQJ0l.jpg
Sign in to follow this  


18 Comments


Recommended Comments

Great postmortem! Very awesome job in seeing this project through until the end, there aren't a whole lot of people who can say they got to do a successful release of a personal project.

Share this comment


Link to comment

Congrats on making a nice chunk of cash!

 

I'm curious though, do you consider this a success? Are you planning on making another game?

 

I lost a little faith in the industry after reading the refund reasons and the piracy rate:(

Share this comment


Link to comment

Thanks for sharing and for going into so much detail -- it's been great following along with your experience!

 

Still planning to buy a copy of Lemma when I can spare the cash, and looking forward to seeing what you come up with next! :)

Share this comment


Link to comment
Thanks for this. Will read in more detail later. Just watched the Occulus guy playing your game in the video you posted and it looks AMAZING! The way you do those notes she reads is fantastic.

Excellent work, love it. Will have to buy this soon.

Share this comment


Link to comment

The worst part about piracy is that torrents cannot be updated, which means YouTube is full of footage of old, outdated builds.

 

That's a very good point actually. In these cases you want to show the latest and greatest to people since big changes can happen from month to month.

 

Pirates running outdated builds might cause an image problem, then again, so will older videos from legit copies.

 

Congratulations for your successful release and here's hoping for more to come! :)

Share this comment


Link to comment
Just been playing the demo. Will buy the game when funds permit, honest :)

All I can say is, you nailed it. Great work. I can't even begin to imagine how much work it took to get an out-of-the-box character controller to feel that right when doing such complex movements, but you hit it square on.

Finishing touches are superb. This is an astonishing achievement for a solo developer.

Share this comment


Link to comment

that's very cool idea

may i ask you to describe more about the physics ?

it's more like combination of Minecraft and Mirror's Edge, it's great :)

Share this comment


Link to comment

"Iterate the controls

My character controller article goes into much more detail on this, but basically, take however much time you plan to spend on the controls, and then double it.

Use MIDI knobs to control game variables. Explore the game space. Use offline processing to bullet-proof your character controller.

This point applies to all games, even those that don't have a character. The player's action and the game's reaction are arguably the most important aspects of a game, because they are unique to the medium."

 

Arguable, you're touching 2 of the three Cs here, so this makes sense. High production quality insists that your 3Cs be top-notch! (Camera, Controls, Character)

Share this comment


Link to comment

Maybe I missed it, but where is the point where you say how much you have made after everything was taken out....?

 

That's left as an exercise to the reader. Somewhere around $30,000USD before tax.

Share this comment


Link to comment

Do you feel 30,000 is worth the time you spent?

 

Not at all. I put $80k as the estimated sunk opportunity cost, but it was actually probably closer to $120k, assuming I stayed at my old job and never got a raise.

 

Fortunately, it was never about money. I have no debt and no obligations, so the only thing I need money for is to make more games.

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now