LD38 Update Day 2

Here’s some new gifs of the game, 24 hours later.

2017-04-23 LD38 intro

“Heya boys and girls! Can you help me defend the motherland against the illegal alien refugees?”

2017-04-23 LD38 shooting ufos

“Die aliens, die!!!”

2017-04-23 LD38 volcanos

Enlist the aid of Mother Nature to ward of the invading fleet.

Everything is to tiny. It makes me sad. Going to enlarge the player tomorrow to bring some life back into the game.

Ludum Dare 38 Under Full Swing

Just finished the first full day of Ludum Dare 38!

The theme is “A Small World”. Brainstorming made me realize why I’m in such a bad mood during LD: I hate how we can’t make all the cool ideas we come up with! I really wanted to make a 3D alien abduction game, but we decided to go with a 2D planetary defense game. Here’s a first look:

First look at gameplay

Defend the planet!

I’m streaming the whole thing over at https://www.twitch.tv/messinabrothers, so come check it out!

Ludum Dare 37 – A Post Mortem

Voting is done, and the results are in.

Roomba’s Revenge placed 167th out of 2390 entries. Pretty good!

The group decided on a tried and true template: destroy everything you can see. Unity’s physics engine makes implementing destruction a breeze, so I focused more on the overall experience rather than gameplay mechanics.

While the game came out feeling finished, I really wish we had chosen a more innovative game. That’s where I think Ludum Dare shines; creating games that wouldn’t otherwise come into existence. My enthusiasm and thus motivation to program was lacking, especially at the beginning. I didn’t lose any sleep over the weekend. At least this LD proved that our group can make a functional, fun game that people enjoy playing.

I read up on project management beforehand and got to use a lot of what I read throughout the weekend. My favorite parts were the one-on-one discussions I had with everyone. I would talk about what they made, how to implement that into the game, and what features they should work on in the meantime. This was an improvement over the previous LD where I made everyone write up any suggestions to a shared word document, which was rarely used. This also allowed everyone bring up any qualms they had about the game in a controlled environment. Rather than yelling into chat and talking over one another, it gave everyone a chance to be heard.

A big part of the project management tips involved listening, which I may have overdone. People would ask for suggestions about what to create, and I refused to help them along. I did this for two reasons: I wanted everyone to have ownership over their contributions to the game, and I wanted to see what people made given no direction, which I thought would help creativity. The results are as follows:

Audio: Players really liked the audio, and I would often firing up the game just to listen to the music. But the musician had a tough time getting the sound right, and was disappointed in the final outcome. A lot of recorded music was discarded, and the end result was nothing as he imagined.

Graphics: The only suggestions made for the 3d models were what types of objects we wanted in the game. The modelers tried their best to come up with them all, but probably half of the models that were created weren’t production ready and had to be cut from the game. If I had discussed with them what was important to make and how to create models that fit into the game better, I bet we could’ve included a lot more destructible objects into the game.

Menus: I told the designer we probably would need a main menu, a pause menu, and an end game menu. She went to work, but because I asked for so little, she spent a long time making just the main menu. While the outcome was beyond great, I could’ve been more clear in what I expected from the UI. My biggest letdown is the in-game interface: text for the timer and battery life, instead of something more visual, like a clock, or battery icon.

Here’s the breakdown of the scores, with past Ludum Dares for comparison. While I personally thought innovation was lacking, we placed in the top 10% in that category. Note: voting was disabled for LD 36 (thank goodness), and I did LD 34 on my own.

LD 37 LD 35 LD 34
Rank Top % Score Shape Racer Spirit-uality
Overall 167 7% 3.76 3.32 2.93
Fun 87 4% 3.85 3.27 2.76
Innovation 231 10% 3.52 3.12 2.93
Graphics 219 9% 4.00 2.91 3.20
Audio 102 4% 3.82 3.19 2.81
Mood 168 7% 3.76 3.13 2.81
Humor 62 3% 3.85 2.55 2.63
Theme 124 5% 4.12 3.79 3.66

All-in-all it was a good time, and the game (and results) speaks for itself. I really enjoyed being more of a project manager this time around, but it came at the expense of sub-par gameplay. Couldn’t have been happier with my teammates though. Just wish we could’ve broken into top 100 overall.

As always, looking forward to the next one!

Test Timing Improvements

I was getting frustrated by long test times, so I did something about it. Previous data showed initialization took upwards of 80% of the total testing time, so that’s where I focused my effort. The results:


What took 2.2 seconds per test before now takes 1.4 seconds! Each test is 128 game playthroughs, which is enough to create visible trends in win percentage. This multiplied by eight different tests is a time savings of six seconds per total test run. While this may not seem like much (and maybe it isn’t), waiting 17 seconds is a lot different than waiting 11 seconds.

Now to resume figuring out how much to cost this tech! Clearly 200 Wood is too much, but what if I tweak the AI…

Update: I recreated the test from the last blog post by running 512 games per test. Compare the two times below.


Balancing Update

At long last, I’ve made progress. It’s just a tiny bit, but I’m hopeful.

2016-11-18-test-resultsThis is the result of a month’s work of balancing and testing. If I knew what I was doing, this would have taken a week at most. But I didn’t, so it went through many iterations.

I eventually scrapped everything I was working on and went back to the basics: one “harvest” equals 10 food. Then the first question becomes: how much meat does the AI gain per day?

I had to implement some smarter AI behavior, namely:

  • Only consider unlocking +Meat Skill technologies if it has already discovered the Hunting Grounds
  • If it has found the Hunting Grounds, travel there each morning. Otherwise, stay put (and look for the Hunting Grounds)

From there, I figured out how much food to consume per day. Then, I tested different food costs for the first technology. Then the second tech. Then the third, which is displayed in the table above. If I want a survival rate of say, 60%, I want to set the third technology’s cost to be 600 food. It’s that easy!

Before, I was aiming for final end-game amounts (like how to feed 1000 tribe members), but couldn’t fine-tune the early game like I wanted. The changes wouldn’t effect the survival rates in an expected way. I like this bottom-up approach because I can see how each alteration changes the game.

A friend suggested copying another game’s numbers. So simple I’m kicking myself for not doing that earlier. At least my current approach looks promising.

Halloween 2016

2016-11-01-costumesSurprisingly (well, not really…) nobody knew what we were. She went as Martin Crane, from Frasier, and I went as his chair. The look on people’s faces when we told them made it all worth it.

Testing Has Never Been So Fun

2016-10-28-test-resultsAfter many hours of brainstorming and programming, this is the final result. It doesn’t look like much, but I’m ecstatic. This means I can tweak numbers and see how it affects the game at a glance. No more guesswork!

Shown here are the final results of 16 tests. Not pictured are the 16 individual detailed breakdowns. Every test is a complete game play-through. The AI chooses a random direction at the start of each day, and moves to the farthest discovered locale. Event options are chosen at random. The AI unlocks tech in a specific order. At the moment, only Food tech is researched. The game ends at 100 days, or when the Tribe count reaches zero.

I ran 256 tests once. It took just under a minute to complete, and produced an 11 MB log file. Not that I read through it, but it’s good to know I can produce a test of that size if the need arises.

I already have ideas on how to expand the testing, what kind of events are needed in the game, and even different AI behavior. So much work, so little time!

Exploration Refactoring

This ends my first week using Scrum (see earlier post). While I didn’t complete everything on my to-do list (testing and balancing are for suckers), the system really helped me plan ahead and finish tasks. It’s also super simple to write the update notes this week; I just copied everything from the Completed list.

This week I took a look at exploration. Having the player click on the map, then click on the Explore button felt awkward. I did some research playing A Dark Room and realized I didn’t have to let the player see and do everything right from the start. Letting the player discover and unlock things as they go can be interesting. That’s also why technologies remain invisible until the player can unlock it: it prevents information overload.

I also realized that goals should be viewable at all times. Locking the tech tree in the home cave prevents the player from figuring out what resources they need right now. I limited the Ponder button to the cave because 1) the tech tree looks like a cave wall and 2) I thought it would be interesting for players to plan out their days every morning. Turns out it wasn’t so interesting.

Thus, I removed the Explore button and added location exploration events for players to randomly find. To get the player started, the home Cave now includes the Gather button to get a little bit of all resources, but also to give the player a chance to come across random events, namely, unlock location events. This also opens up the possibilities for specific cave events in addition to random morning events. Yay!

Update notes:

  • Stamina: Added stamina to the game. Each day the player starts at 100 stamina. When stamina reaches zero, the day ends. Note: stamina balancing not yet implemented: it minimally depletes
  • Skills: Resource gathering skills are now visible on the HUD underneath their respective resource amounts. Unlock the Club technology to see Meat and Fish skill go up.
  • Story Events: Events can be stringed together. I’ve added events for an alien experimenter who observes you over time. He’ll randomly pop in up to three times for the chance to get some major rewards. Hint: Knowledge-based technologies please the alien.
  • Locations are now unlocked through random events.
  • Ponder (viewing the tech tree) is accessible everywhere
  • The Cave has a Gather button: gets a little bit of all resources
  • Increased location resource amounts
  • Removed Explore button from travel map
  • Debug: Added FPS counter
  • Bug fix: Clicking on current location from the travel map will close the map

Play it here!

Bullet Journaling vs Scrumm

I’ve been in a programming rut lately. Yesterday I almost abandoned Caveman Sim. To me the game is Not Fun, usually a death sentence for games I code. I would start up Unity, and just stare at the game, wondering what went wrong.

A quick talk with Vince made me rethink how feature-complete the game really is. Him nor I can’t tell what’s fun or not because the game isn’t even there.

After brainstorming a bit, I realized my To Do list wasn’t working. I’ve been trying out a bullet journal on Trello. While its useful in anticipating upcoming events, it transformed into a personal calendar rather than a workflow for the game. So I decided to throw the baby out with the bath water and tried out…

Scrum! While Silicon Valley poked fun at the method, I decided to check it out anyway. Once I got done cringe-reading through the wikipedia page, I created my very first Scrum board.


Putting my business degree to good use.

“Stories” are a list of things I want players to experience. I decided my “sprints” would be one week long, ending on Mondays (when I usually upload builds). Acknowledging that, I created a To Do list that I estimate I’ll be able to complete before the first deadline.

And there you go. My motivation has returned; I’ve already completed some of the missing features. So we’ll see soon enough if Caveman Sim answers the do-or-die question of game development: Is It Fun?