FINAL WEEK!

We are now in the midst of the final week of Kickstarter funding! With the campaign nearing the end, I thought I would give you another development update.

First, I spent a few days completely rewriting every bit of text in the game to support multiple languages. You can now change the language from this nifty selector on the main menu, and the whole game instantly switches:

Now all we have to do is translate ALL the things!

Next: I’ve been thinking hard about the phone mechanic, which is one of my favorite features in Lemma. I’m not aware of another game that does something similar. However, the execution leaves something to be desired. The phone conversations can not be skipped, and they can pop up right in the middle of your parkour flow, which gets old fast.

I’ve decided to add a new twist to the phone: signal towers. You will not be able to send or receive text messages unless you are near a signal tower, which means you could technically skip every phone conversation just by avoiding them.

Here’s a look at one of the signal towers, suitably abstracted to fit within the aesthetic of the world:

This also opens up new writing possibilities for me, because now the player can actually initiate the conversation instead of only responding. Making the conversations skippable also improves the experience for speedrunners, which is good for a parkour game!

More features are in the pipeline as well. I collected some reference images and did a rough sketch of the player for a character artist to get an idea of what she looks like.

As I’ve said before, redesigning the player character and animations is the primary purpose of this Kickstarter. So hopefully an artist will be able to take my very rough ideas and turn them into an awesome model.

Lastly, some good news for audiophiles! AudioKinetic, the company that makes the industry-standard Wwise audio engine, recently announced that their product is free to use for projects with under 200 assets, which fits Lemma nicely. This engine should dramatically improve the audio quality in Lemma. Switching to Wwise is also a necessary step for a possible Mac and Linux port. Here’s a screenshot of the Wwise content editor in action:

So that’s what I’ve been working on. Now you’re up to date! Thanks again for all your great support. Let’s keep this going and get it funded in the last week!

Posted in Lemma

GREENLIT!

From the Kickstarter:

It's not every day you see this email in your inbox.

It’s not every day you see this email in your inbox.

WE ARE ON STEAM! Thanks everyone for your votes! We were part of a batch of 75 titles, even though we hadn’t reached the top 100 yet. Go check out the other games that were greenlit today!

Here are the statistics for anyone interested:

My theory is that the traffic dropped off a cliff at the end because we were already approved and got removed from the rotation. I have no evidence to back it up though.

What else is new? Oh not much, just the brand new build 353 with more features, bug fixes, and level design tweaks than you can shake a stick at. If you didn’t have time to try the original demo, now’s a great time to give it a go! Here’s a very incomplete list of improvements:

  • Smoother movement. The kick and roll are much more forgiving now. Frustrated that you couldn’t reach that ledge? Fixed that too.
  • Fixed several long-standing bugs, including the infamous “my camera is locked and I can stare down my own neck” bug.
  • A big chunk of the notes and text messages have been re-written.
  • Experimental “expander” material previously seen here.
  • Performance improvements! Yes!
  • Cheat menu. You can now skip through the demo if you’ve played parts of it before.
  • EVIL CUBES.
  • Just so many level design changes. Every single level underwent surgery, plus there are entire new sections, like this one:
Spoiler alert: it's Dagobah swamp.
Spoiler alert: it’s Dagobah swamp.

Thanks again for voting on Steam, and stay tuned for more updates!

Posted in Lemma

Cheat your way through life

From the Kickstarter: Just an update on development progress for Lemma! Thank you so much everyone for your support. I’m still getting tons of useful feedback from people playing the demo. Levels have been tweaked, bugs have been fixed, writing has been edited, and graphics have been tightened. Expect a new build very soon! Here’s some new features to look forward to:

First, a minor technical detail. Saved games do not carry over between builds. If you run a newer build, all your old saves will be lost. It’s a major drag for beta testers, which is why I’ve added a new CHEAT menu to skip parts you’ve already mastered!

If you played the demo, you probably had a startling meeting pretty early on with what I am calling “the evil cubes” (they usually cause a reaction like this). Unfortunately in the original release, you only encountered them in the first level as part of a scripted sequence. They weren’t actually functional agents in the game.

UNTIL NOW.

For now these guys will be tucked into a secret area in the next build. If you do find them… good luck. Side note: see how the rain drops actually respond to the lighting? I thought that was a neat touch. :)

Lots of things have been tweaked that are more boring and difficult to show off, including the movement code and animations. One thing I can show you is a sneak preview of some upcoming level design:

In other Kickstarter news, you should check out this intriguing post-apocalyptic interactive novel called The Seed. The gameplay concept and artwork look amazing!

That’s it for now, but keep your eyes peeled for a new build soon! In the mean time, thanks for your support and let’s keep it up!

Posted in Lemma

Player model and animations

An update from the Kickstarter:

One concern that pops up a lot on Greenlight is the low quality of the player model and animations in Lemma. The reason it’s so bad is that I did all of it myself, and I’m not a character artist. People ask, “but couldn’t you just try harder? What’s so hard about modeling and animating a character anyway? Also, couldn’t you just borrow an existing public domain model?”

Come, join me as I weave a wondrous tale of artistic achievement. It is the story of the current Lemma player model:

Weeee!
Weeee!

The story starts with modeling. The current player model consists of over 10,000 3D points connected by over 20,000 edges. Being a novice Blender user, I wasn’t about to attempt all that myself.

Luckily, there’s a great open-source project called MakeHuman that can generate all kinds of human models. You can tweak parameters like gender, height, weight, nationality, muscularity, facial features, and more.

I generated a suitable model, imported it into Blender, and made a few tweaks to fit the game’s needs.

The next step was texturing. Normally I would have to painstakingly map each 3D point on the model to a 2D point on a texture surface (a process called “UV unwrapping”). Luckily, the model came with pre-generated UV coordinates, so only a few minor modifications were necessary.

However, the default textures didn’t include clothes, so I used GIMP to overlay some cloth textures. I also baked in some ambient occlusion for a bit of added realism.

There's more than one way to skin a character model.
There’s more than one way to skin a character model.

The next step is to add controls so that I can animate the character. Similar story here. Normally I would have to first create a skeleton of bones that roughly matches the shape of the model, then painstakingly assign up to four numbers to each of the 10,000 verticesin the model. These “weights” determine how much each vertex is affected by each bone. Thankfully, MakeHuman once again did the heavy lifting. However, the few modeling tweaks I made earlier had to be properly weighted, and even that was not easy for a novice like me.

The green vertices will be affected by the forearm bone.
The green vertices will be affected by the forearm bone.

Finally, we’re ready to animate this monstrosity! Over the course of development I’ve accumulated 34 poses and animations.

The animation code can blend between animations and even layer two different animations on top of each other. For example, the bottom half of the model can play a walking animation while the top half answers the phone.

Each animation contains keyframes that indicate the position, orientation, and scale of each bone. To make the player turn around, I could make a keyframe at 0 seconds with the model facing forward, and another keyframe at 1 seconds with the model completely turned around. The code would blend the two keyframes into a smooth turning animation. Easy enough, right?

Not so much. Here’s just part of the “kick” animation, which lasts about half a second. Each dot is a keyframe.

It's like Excel's nasty older brother.
It’s like Excel’s nasty older brother.

Once you take into account the fact that the skeleton has 70 bones, even simple animations can take hours to complete.

Long story short, 3D animation is hard! Professional outfits these days use motion capture, but even that requires weeks of intensive post-processing and cleanup by teams of professional animators.

Hopefully this little article gave you a glimpse into the world of game development, and hopefully you understand why I need help to bring the player model to the level of professionalism and quality that this game deserves.

Before I go, just a quick thank you to everyone for supporting Lemma, and a status update! The Kickstarter is over 35% funded and the Greenlight is now 73% of the way to the top 100 games with almost 5,500 yes votes. Thank you guys!

Posted in Lemma

Movement in-depth

Update from the Kickstarter: I know it’s only been 24 hours since the last update, but Lemma is now over 61% of the way to the top 100 games on Greenlight with well over 4,500 yes votes. Thank you all for being a part of this project!

I realized that the 30 seconds of gameplay from the Kickstarter trailer is not enough to really see what’s going on, so here’s a more in-depth video explanation of the movement in Lemma. Skip to 2:15 to see an explanation of the magical wall-creating, environment-modifying bits.

Thanks again for making this all possible. Let’s keep it going!

Posted in Lemma

Looking forward

From the Kickstarter, a quick status update before I talk more about Lemma:

  • At the current rate, we are just minutes away from 4,200 yes votes on Greenlight! 56% of the way to the top 100.
  • A big thank you to our new backers! There are now 174 of you lovely people (wow) and we’re over 32% funded.
  • Rock Paper Shotgun covered Lemma yesterday! And with that headline, we’ve added Bastion to the incredibly long and disparate list of games it’s been compared to.
  • Kill Streak Media posted a fairly in-depth interview.
  • Death By Beta also ran a nice little article.
  • In case you missed Caitlin Clark’s comment earlier, Lemma was her top pick for Kickstarter games that are “Worth the Wait”, along with several other promising-looking games!
  • Another great “let’s play” video from YouTuber Shake4ndbake.

Okay, let’s talk about future plans!

Enemies and systems

Be ready for GIFs. You can click each one to see the faster, shinier HTML5 version.

If you missed the livestream yesterday, I showed off a few features that I already built but didn’t have time to put in the demo. One is a glowing block enemy that can rip out pieces of the environment and fling them at you.

Another variant on the same idea is an enemy that builds up a structure of red blocks, then explodes.

All the enemies in Lemma change color based on a simple color-coded stealth system. Lemma is not a stealth game, but this system makes it easy to tell when you’ve been spotted: white means the enemy is idle and doesn’t see you. Yellow means the enemy sawsomething and they’re on alert. Red means the enemy will actively chase and attack you.

One feature that’s still in the experimental phase is something I call the “expander” block, which is a block that expands outward when you touch it. It’s inspired by a similar feature in the incredible Starseed Pilgrim (play that game, it will change your life).

Again, it’s still very experimental and may change a lot, but it’s a good example of the kind of interactive systems I’d like to build into the game.

Level design and story

Yesterday on the livestream I started work on another level (or world). Here it is in action:

It’s a valley that wraps around in a square shape. The valley is mostly empty, so it’s up to you to fill it with structures to make it navigable. In the center of the square will be a giant structure with machinery that needs to be put in place and activated. The square design means you can approach it from any angle and move through the level however you want. This is pretty much my level design manifesto: you can beat it however you want.

Furthermore, the machine in this world will be only one of many, which can be activated in any order. There will be portals to other worlds, each with their own challenges to overcome before they can be activated.

I can’t really say too much about the story except that it has a lot to do with these worlds and why and how they’re being “activated”. I will say there’s a pretty big finale planned for the end.

That should shed some light on my future plans for Lemma. If you have more questions you’d like to see answered in the next update, sound off in the comments!

Posted in Lemma

Greenlight update + streaming tomorrow

Hello!

First: I wanted to thank everyone for the amazing support you’ve shown so far. We’re already over 24% funded, which is more than I was expecting this early, so thank you!

Second: A quick update on the Greenlight campaign. We are 26% of the way to the top 100, with 1,918 “yes” votes! Keep on voting, we’ll be on Steam in no time.

Third: If you wanted to see more gameplay from Lemma but didn’t have time to check out the demo, several YouTubers have posted “let’s play” videos of the demo. Draegast has a good one right here.

Fourth: Although I am busy promoting the game, development continues. You can actually track my progress on GitHub since the engine is open source. You may have seen the “power” system in the demo, where the blue material you create can actually transmit power from a power source. In the demo it was really only used to trigger explosives, but yesterday I built a new “switch” object which can trigger other things like elevators. Connect the source to the switch, the elevator goes up. Disconnect the power, it comes back down. Here’s a test I built in the sandbox:

Power source on the left, switch on the right.
Power source on the left, switch on the right.

Fifth: Tomorrow at 6pm EST I’ll be streaming on Twitch. Subscribe to the channel and you can be notified when the stream goes live.

I’ll show off the level editor and play back recordings of people playing the demo. Here’s an example showing how I track players progressing through the demo (don’t worry, it’s anonymous, no one has to know you missed that jump 8 times on level 3):

So this is what it feels like to be the NSA.
So this is what it feels like to be the NSA.

It’ll be a good time.

Thanks again for your support. More updates forthcoming!

Posted in Lemma
et1337


Evan Todd. Christ follower and indie game developer. Running, music, programming, games, art.

Archive