I’ve updated my Ludum Dare #33 compo entry with the Windows version of Free Me, You Idiots!. Now most of the world can play it!
Next up: fixing my Linux-based entry so that it uses a non-custom install of SDL2.
I’ve updated my Ludum Dare #33 compo entry with the Windows version of Free Me, You Idiots!. Now most of the world can play it!
Next up: fixing my Linux-based entry so that it uses a non-custom install of SDL2.
Want to see the last 48 hours compressed down to a little over 3 minutes?
I uploaded the time lapse video of my development of Free Me, You Idiots!:
You can find the final submission at http://ludumdare.com/compo/ludum-dare-33/?action=preview&uid=251. Thanks for playing!
I did it!
With 15 minutes to spare, I submitted my entry for LD#33, Free Me, You Idiots!
It has no sound, and there is a lack of challenge which makes it hard to call it a real game, and the UI feedback is lacking to let the player know what is going on, but it’s complete and playable.
It’s also quite complicated! I created a simple yet effective goal-based artificial intelligence, a little economy, and upgrades. The thing I wish I had was direct conflict between the good and evil villagers.
But I’ll have more to say when I write the post-mortem.
For now, check out my entry at Ludum Dare, and if you submitted your own entry, please rate my game.
I’ll create a Windows port, soon. You can download the game for:
– GNU/Linux (459K)
– Windows (2.8MB)
– Android .apk (3.6MB)
Congratulations to everyone who submitted a game! It’s been a fun weekend, and I look forward to playing your games!
I wasted precious time last night trying to create an animated GIF of the game so far, but it was either terrible quality or took up hundreds of MBs, and so I gave up and went to bed.
This morning I had peanut butter, raisin, and banana sprinkled with cinnamon on toast for breakfast with my trademark orange juice. Starting the day off right!
By my calculations, I’ve put in almost 15 hours of development towards this project, 12 of which came from yesterday.
We’re in the last 12 hours of Ludum Dare, and we’re starting to get tired.
And while I have interactivity and have been toying around with it to ensure that things are working correctly, I don’t have a game yet. The player can’t do anything to meaningfully impact the game world, but the AI is having fun, I’m sure.
The AI needs to be there for this approach to the game. If the villagers don’t have their own goals and activities, then the entire premise of the game is thrown out the window because you are trying to influence their activities towards benefiting your own ends. But I can’t build an entire self-running simulation no matter how much fun it is take on that challenge because then there won’t be any time left left to allow the player to do anything but watch.
So my focus today will be on adding meaningful play. What can the player do that makes sense and gives good feedback? I’ve been thinking about and designing this aspect throughout the compo, and now I need to manifest it.
I will add that I do have another concern. This game is about being the personification of Evil and convincing the followers of a good deity to follow and worship you instead, allowing you to break free of your prison.
What it isn’t about is blasphemy, but in my attempts to add humor by poking fun at how moronic the villagers are, I worry that the game comes across as my indictment against organized religion. It’s not, but my intent isn’t necessary for it to be offensive or to act as a model for how people should act, so I need to make sure that I’m super aware of how the game could be received. I’m not the kind of person who throws his hands in the air and says, “It’s not my fault you interpreted this quickly-thrown-together game in this way.”
Games matter, even 48-hour ones.
Last time, I said I probably couldn’t do a goal-based AI and so I was settling for a simpler state-based AI.
Well, I did a quick look at my last LD project, and I realized I had implemented a really simple goal-based AI. It’s kind of clever, and I implemented my own version of it for this project.
So now I have villagers who walk to the deity of their choice and pray, or go off exploring the world. I eventually want more behaviors, such as fleeing and bringing objects somewhere, but we’ll see if I need to.
I want to go to bed, but not before I ensure that the timelapse picks up something more interesting than a static screen.
I put together a quick particle effect for when the villagers are praying to make it clear what they are doing. White particles are for good prayers, and black (not pictured) are for evil prayers.
20 hours left. Assuming my power doesn’t go out due to the storm, I think I have a good chance of getting something submitted in time.
For now, good night!
We’re coming down to the end of the first 24 hours, and I can move around the world and select entities.
Unfortunately, I’ve been struggling with getting them to do anything interesting. The villagers stand still because I haven’t given them a means of doing anything, nor do they have a reason to do anything yet.
That is, it’s coming down to how complex of an AI I want to create.
As is my pattern, I wrote down everything I could think of that I might want them to have as goals, with the idea that I would streamline it later. I want the villagers to think, “I want to explore, but I also have chores to do, which is a higher priority. I’ll go tend the farm, then explore. Tending the farm means I need to get myself to the farm, then work the farm.”
But then I realized that a hierarchical goal-based AI might be a bit too much for me to chew off. I mean, I could do it, but oof. How much time would that take to debug, amirite?
So I think I’ll go with a simpler state-based AI. While the full version of Stop That Hero! uses a goal-based AI to great effect, the Ludum Dare #18 (Enemies as Weapons) version did decently well with a state-based AI. The entire game worked with only three states, and one of them was AI_DEAD. So it’s doable and simple, which means it is faster and I can focus on the rest of the game sooner.
Hold on to your butts. It’s gonna get hacky.
I came up with a name for the game. Originally, I wanted Imprisoned, but a quick search online found it was a somewhat popular name for a game.
So the name is now Free Me, You Idiots!, in the hopes that the game will actually feature some humorous personification-of-evil-interacting-with-morons action when I finally submit it.
In order to save time on art, I made simple solid colors with minor touches to indicate grass and water (water not pictured). I would have gone with solid colors, but now I can tell the camera is moving around the world.
To make a villager, I am just going to have a single sprite represent it. If I have time to create four or eight sprites to represent the different directions it could face, I’ll do it later.
So I took one of my wooden Mans:
pulled it into Gimp, adjusted the brightness and contrast, and added some eyes and an outline for a cape, and scaled it to 32×32 to create the little guy you see in the middle of this field:
As for the tree that imprisons you, I tried to make one, only to realize that the one I created in the mock-up looked a bit better, so I just took it and scaled it:
Then I rewarded myself with lunch:

That’s my trademark peanut-butter, raisin, and pickle sandwich with cinnamon sprinkled in it.
No, I’m not pregnant. Why does everyone ask that?
What you can’t see pictured above in the screenshots is that the camera pans to wherever you click in the world. It’s a bit jarring, so I should probably worry about slowing down the interpolation at the end, but that will wait for polish time later.
But at least now you can navigate the fairly boring world.
Next up: I want to interact with the natives. The player should be able to select objects/entities by clicking on them, which opens up a menu and provides relevant stats in the HUD.
After getting up way earlier than I expected and doing some work, I took a break for breakfast.
Scrambled eggs with freshly ground black pepper, buttered wheat toast, and of course a glass of orange juice.
I then felt that I needed a nap, and so did my cats. Here’s my angel food cat leaving his white fur all over my black Ludum Dare shirt.
At various points, one cat would jump on me after the other jumped off, and I thought, “Ok, it’s time to shower and get the rest of the day started.”
Here are some ambitious ideas I doubt I will have time to implement:
Your followers can sacrifice something to you. It gains you energy, but sometimes they bring embarrassing things to sacrifice, like a mushroom or an old shoe. You can accept the sacrifice, but what will people think? I’d like some flavor text to make this kind of event more humorous.
Where are your enemies? Maybe your followers have to avoid getting caught by high priests and acolytes. If they find out what’s happening, they’ll triple bind your bonds, and you’ll never get out of that tree. But if you manage to convert an acolyte? Horrible things can happen, but not to you.
But even without these ideas, I have enough to start coding up something I can interact with. Let’s see how quickly I can build a world to move around in.
It occurred to me that I would need a HUD and some stats to show the player. Here’s a mock-up of the UI.
So, it will look very similar to an RTS. I hope it will be intuitive.
I figured that a big component of this game will be the loyalties of the villagers. They have gods they pray to, but you want them to worship you instead. So, you nudge, and you cast doubt, and you otherwise encourage them to make the choice you want them to make.
The more followers you have, the more influence you have, which makes it easier to get followers and influence them to do more.
I might find that the focus switches from removing those magic stones around the tree to increasing the number of followers you have.
I decided on going with a tree instead of a boulder as your prison because it will be easier to see how strong or weak it is. A discolored and wilting tree makes it clear that it is losing its hold on you.
1 hr, 15 minutes before Ludum Dare is a quarter of the way through. I should start coding something up now.
The top left is the village, complete with villagers. The top right has the four magic stones surrounding the boulder that imprisons you, represented by the barrel.
The stars are your Energy, which is how you exert influence on villagers.
The bottom left is the forest, and the bottom right is the river.
Right now, Energy resource management seems to be key. You only have so much to start with, but as you influence villagers, they start to worship you and give you more Energy, which means you can influence them more with greater effects.
For instance, you might be able to Cause Fear at first, which is enough to get someone to believe you exist, but too much fear can backfire in that no one will want to go anywhere near you, which limits your abilities.
Later, when you have a lot of Energy, you might be able to Compel a villager to go somewhere specific.
So, this game seems to require a lot of AI and content, which is what I was worried about. Villagers have to go about their own business, which means they need things to do besides walking around.
On the other hand, if I abstract away a lot of the behaviors, maybe it can simplify things, but I worry I will lose what makes this game exciting for me.