About GBGames (twitter: @GBGames)

- http://www.gbgames.com/blog is GBGames' Blog: An Indie Game Developer's Somewhat Interesting Thoughts

Entries

GBGames's Trophies

The Heartless Cookie Terrorist Award
Awarded by Croupe Aardvark
on August 25, 2010
Charlie Sheen Getting Hammered on Screwdrivers Award
Awarded by Martoon
on August 18, 2010
The "I Can't Get You Because You're In The Bike Lane" Excuse
Awarded by demonpants
on December 17, 2008
The Photo Finish
Awarded by Doches
on December 8, 2008
The Palm Of RSI Prevention
Awarded by Hamumu
on August 23, 2008
Worlds Finest Juice Award
Awarded by PoV
on August 9, 2008

GBGames's Archive

Free Me, You Idiots! Ported to Android!

Posted by (twitter: @GBGames)
Wednesday, August 26th, 2015 3:42 pm

Shortly after I ported my Ludum Dare game to Windows, I ported it to Android! You can download and install the .apk now and play on your phone or tablet. I’ve updated my LD#33 compo entry.

Here’s a handy link to explain how to install an app outside of the Google Play store.

LD#33 Game Play

Warning: it’s not really optimized for mobile yet. It pauses when idle, but it doesn’t pay attention to the back button, so you’ll have to long-press the Home button then swipe it away to close it.

Free Me, You Idiots! Ported to Windows

Posted by (twitter: @GBGames)
Tuesday, August 25th, 2015 12:58 pm

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!

LD#33 Game Play

Next up: fixing my Linux-based entry so that it uses a non-custom install of SDL2.

Free Me, You Idiots! Development Time Lapse

Posted by (twitter: @GBGames)
Sunday, August 23rd, 2015 10:00 pm

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!

SUBMITTED!

Posted by (twitter: @GBGames)
Sunday, August 23rd, 2015 9:15 pm

I did it!

With 15 minutes to spare, I submitted my entry for LD#33, Free Me, You Idiots!

LD#33 Title Screen

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.

LD#33 Game Play

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.

Congratulations to everyone who submitted a game! It’s been a fun weekend, and I look forward to playing your games!

We’re Getting Tired, but We’re Gonna Make It!

Posted by (twitter: @GBGames)
Sunday, August 23rd, 2015 8:54 am

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.

LD33 2nd Breakfast

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.

LD33 We're getting 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.

Ok, This Might Work Out After All

Posted by (twitter: @GBGames)
Saturday, August 22nd, 2015 11:57 pm

LD#33 Praying Villagers

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.

LD#33 Visibly Worshipping Villagers

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!

This Is the Point Where It Can All Go So Horribly Wrong

Posted by (twitter: @GBGames)
Saturday, August 22nd, 2015 7:32 pm

We’re coming down to the end of the first 24 hours, and I can move around the world and select entities.

LD#33 Selection and HUD

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.

Lunch Break and Progress Shots

Posted by (twitter: @GBGames)
Saturday, August 22nd, 2015 1:28 pm

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:

A Soon-to-be Villager

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:

The Villager in-game

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:

The villager next to your prison

Then I rewarded myself with lunch:
Peanut Butter, Raisin, and Pickle Sandwich

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.

Breakfast, a Nap, and Some Ideas

Posted by (twitter: @GBGames)
Saturday, August 22nd, 2015 9:30 am

After getting up way earlier than I expected and doing some work, I took a break for breakfast.

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.

Napping with cat

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.

UI Mock-up

Posted by (twitter: @GBGames)
Saturday, August 22nd, 2015 6:46 am

Imprisoned Mock Up

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.

Paper Prototype So Far

Posted by (twitter: @GBGames)
Saturday, August 22nd, 2015 5:13 am

Imprisoned Evil prototype

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.

Good Morning, Ludum Dare!

Posted by (twitter: @GBGames)
Saturday, August 22nd, 2015 4:17 am

I’m either getting a head start on my morning, or I’m going to crash. I got up one hour and 45 minutes before my alarm for some reason.

I feel well-rested. Let’s see what happens.

My current task is to figure out the actual basic game play. I like the idea of keeping the interface simple and letting the player do nothing more than click on villagers and then click on an influence, but the dynamics that arise from causing fear or greed need to be solid and understandable.

Otherwise, I’m going to have the player directly control a monster.

So, now I’m going to spend a little time brainstorming with myself figuring out what the villagers can actually do and then figure out how to cause them to do it.

An Imprisoned (and Ambitious!) Evil

Posted by (twitter: @GBGames)
Friday, August 21st, 2015 10:41 pm

Concept: An imprisoned evil

I was choosing between being a vampire drinking the blood of your neighbors while avoiding the vampire hunter’s investigation each day, and being imprisoned in a rock surrounded by magical rocks that you try to get rid of by influencing the nearby villagers.

I think the first is something I can see doing much more easily. I can see the game play, and I can make it as detailed or as abstract as I want. The second one is really complex and still kind of vague. I know what the player can do, but what results are possible, and in 48 hours?

I told my wife about my choices, and she gave me a look like she was worried. I asked why, and she did an impression of me:

“At the start of Ludum Dare, you’re like, ‘I’m going to take on this huge design!’ Then, partway through, you’re like, “I’m worried I won’t be able to get this done.’ Then by the end, you’re like, ‘Doh, I didn’t get as much done as I would have liked.'”

Nailed it.

And I decided to go with the second one anyway.

My initial thoughts are that you are surrounded by four magical stones, each one represented by an element such as earth or water.

You can’t directly get rid of the stones, but you can influence the nearby villagers who have shown up in your area. You can click on an individual, then select an influence type. Examples of influence types are:

– Suspicion
– Fear
– Trust
– Greed

The vague part: I don’t know what happens then.

I can see Suspicion causing infighting among the villagers. Ok, they’re fighting. Now what?

I can see Greed causing villagers to use up resources more than their neighbors, or kill the proverbial goose that laid the golden egg, perhaps in the form of digging up cropland to search for gold.

My wife suggested that perhaps instead of using this indirect influence, the game play can center around being a monster trying to free something from imprisonment by dealing directly with the four elements. It would be simpler.

And I’m going to sleep on it. 1 day, 21 hours left. Good night!

Some Monster Concept Art and Milestone Deadlines

Posted by (twitter: @GBGames)
Friday, August 21st, 2015 9:32 pm

Here are some quick doodles of monsters. I like the idea of the monster being a cute ball of fur.

Monster concepts

I’ve been thinking about what direction to take this game, and at this time I’m coming up with as many concepts as I can. I set a deadline for me to have a concept ready by the 2 hour mark. I hope to have something sooner, but in case I don’t, that’s the point I stop spitballing and start running with whatever I have that seems to work.

Have you set milestones for your project in a Ludum Dare compo? Or do you just keep going until you’re done?

The constraint I threw on myself: make a non-violent game. Basically, it means that attacking or being attacked can’t be part of the core mechanics, which cuts down the viable concepts quite a bit.

But the player could be a helpful demon or a sneaky creature. There’s still plenty of potentially good ideas here.

I tried to break things down a bit. Here are some notes I’ve made in my design doc to help me come up with the concept of the game.

Where did you come from?
– Outer space
– Ocean deep
– Frozen in Arctic
– Nuclear mutation
– Toxic waste/pollution
– Deep underground
– Psych Ward
– Meteor
– Forest
– Mountains
– Science experiment gone awry
– Magic/Summoned
– The Gods
– Birth defect
– Hell
– Extreme emotions manifested in three dimensional space
– I don’t know. I’ve just always existed as far as I know.

Where are you now?
– Feudal era, Modern day, Futuristic urban/rural
– Fantasty world
– The pages of a storybook
– On a ship (sea/space)
– In a cave
– Underground, waiting, biding my time.
– In a castle
– In a heavily secured experimental lab on a military base
– In a house, mine or someone else’s.
– Encased in a tree/boulder/etc

Games I can see making at this time:

– You’re a vampire in a village trying to suck the blood of your neighbors while avoiding detection. You’re stronger and faster at night, but you’re vulnerable during the day. It’s similar to a concept I came up with a long time ago, only you were the vampire hunter then.
– You’re a tiny monster sent to help a poor human family. You mend things and try to make things right, but if you’re caught, it’s bad news for everyone. So, a stealth game? I can see this being a platformer to really emphasize the height difference, but I don’t want to spend time on figuring out platformer physics.
– You’re an ancient evil imprisoned in something magical like a tree or boulder, but you have limited abilities. You are able to influence people from a nearby settlement and you want them to break the hold on you, but you need a lot of them and no one knows about you yet. You want them to free you without tipping them off about your intentions. So, a strange sim game?

And there’s 30 minutes left to decide…

It’s Started! And the Theme is: You Are the Monster

Posted by (twitter: @GBGames)
Friday, August 21st, 2015 8:13 pm

Ok, Ludum Dare #33 has started, and “You Are the Monster” is the theme.

I can see a lot of potential here.

Richard Matheson’s I Am Legend pretty much ends that way. Maybe you are a stranger in a new world, or your own world that has changed dramatically to the point you don’t recognize it, and everyone is afraid of you.

Perhaps you are Mary Shelley’s Frankenstein’s monster, created by a mad scientist and now on the loose, being chased by townspeople with pitchforks.

Maybe you’re a vampire trying to live in a village and feasting on neighbors without anyone figuring things out, such as the vampire hunter that came to town.

What if you’re a sea creature terrorizing ships and divers while trying to avoid being caught?

Jekyll and Hyde? You are turning yourself into a monster for…some reason. I never actually read this story.

There’s a lot of classic horror as source material to explore. The Invisible Man, werewolves, The Deadly Mantis, The Murders in the Rue Morgue, War of the Worlds, Godzilla, King Kong, Godzilla vs King Kong, etc etc etc.

And of course there’s non-horror classics such as My Teacher is an Alien, or Little Monsters, or…do Garbage Pail Kids count?

I’m going to doodle and try to settle on a direction as soon as possible.

Yeaaaaaaaah! I’m in!

Posted by (twitter: @GBGames)
Friday, August 21st, 2015 10:21 am

I’m in.

Here’s my pre-compo checklist for Ludum Dare.

I’ll be using C++, libSDL2, CMake/make, the awesome sfxr by DrPetter for audio, my own basic code base, my prototype toolkit, and a secret ingredient: love.

Last time, I did a terrible job of pacing. I focused on creating bad art instead of designing a game, even after I said I would do the opposite.

So this time around, I’ll be focusing on mechanics. For real. I’ll prototype and focus on getting something playable as quickly as possible, and I will iterate on the design so I can feel confident that I will have something to submit by the deadline.

If I need art, I’ll force myself to use circles and rectangles, or I’ll make a quick doodle, take a picture, and turn it into a sprite without worrying about cleanup.

I’m looking forward to making a game with you.

Well, not with you. I’ll be working by myself. But at the same time as you make yours.

As usual, I’ll be cross-posting between here and the GBGames blog.

Good luck, everyone!

[cache: storing page]