Category Archives: Making Games

The making of Dobuki’s Epic Journey

Screen Shot 2016-01-10 at 8.26.38 PM.png

I finally finished building this damn game.

Why am I cursing this game? Because it’s a DAMN GAME! It took me so incredibly long to finish it, several years actually. When you look at the game, it really doesn’t look like much, but underneath the surface, this game is filled with time consuming things.

At the end though, I’m glad I finished this game. I think my former self who got someone excited about starting this project would be happy to know that his later self actually finished it, even though the later self doesn’t thing much of the game. Hey former self, I hope you’re happy, you made me waste so much time on this silly project!

The beginning

This game grew out of my deep desire to produce a game that mimics some of my most beloved game genre: adventure and RPG. In particular, I would name games like Monkey Island and Phantasy Star as the main inspiration for starting this project. Previously, I have never made a game with a real storyline, so this was a first.

The story starts with Dobuki, and he lives in the countryside. Presumably, he just moved there. We don’t know anything really about Dobuki, but we know he has a bunch of friends, and there’s an old man on the hill who mentors him. As the story progresses, Dobuki explores his world and even goes on other planets.

I actually didn’t write a story, and I didn’t really have the mindset of writing one. The idea was just: Let’s create a world, in space, with weird creatures. Let’s create this wonderful world and just add any random idea I have as I go along.

This went well in the beginning. I wasn’t really sure where it was going to go, but the game grew somehow pretty big in my imagination. It was my escape at that time, and it wasn’t even done yet!

So yeah, there was no planning, no thinking ahead, just random things added on the spur of the moment.

Developing the world

I was pretty excited about creating a world. It didn’t have to have a great story, but as long as it was as weird as outlandish as possible, I was happy. I looked for some nice music for it, and that also affected how the world develop.

Now the idea became a bit more developed, but the code wasn’t very well thought out. It worked at that time, but it wasn’t meant to scale. I programmed the game the same way I was adding content: Adding random things as I thought about them.

For instance, I suddenly decided to add 3d crawling caves, so I made that. Then I thought about space travel, and just added that. This felt like the right approach, but soon it was getting more and more difficult to add things.

First of all, the compilation time grew as more things were added. Second, it became more and more difficult to look for the elements I wanted, as the number of scenes became 20, then 30, then 40…!

I was adding stuff to expand the world, but it didn’t seem that meaningful to me. Then for some reason, I decided to add some character development. I added a love interest for the main hero.

Growing in Complexity

I started to understand the idea of feature creep, and the addition of a new protagonist made it very clear. Suddenly, I couldn’t add random things anymore, because every new elements raised new questions in respect to the characters in the game.

I imagined stories around the character but at that point, adding even simple interactions became really painful.

It was pretty clear to me that I wouldn’t be able to finish this game. The game itself actually seemed to become rather silly to me, and I wondered if it would sound ridiculous to know I spent so much time building something that turns out to have so little production value.

But time passed, and I still thought about the game. I decided it needed closure, and unfortunately, you can’t just finish a game like this so easily. I had a lot of negative space to close. In an adventure game, if a player makes effort to get a particular item, then that item must be useful for something in the game.

At that point, the process of finishing the game was to list out all the item that I’ve randomly given to the player, and come up with some use for it, like a character that wanted it or some other random thing.

The Conclusion

Eventually, I had enough content to finally close the game, with a very half-ass closure. But hey, at least I had something I was satisfied to let out into the world.

From this project, there’s a few things I learned:
– For a project that’s story based, one of the most important thing is to make it easy to add content. It seems easy at the beginning, but as the project grows, it becomes hard to search into the project, thus coming up with an easy way to add content is critical.
– If I want to make a game for mobile, I should test out performance right from the beginning. I had an idea that I could port the game to mobile easily using AIR, but it turns out the performance was atrocious. I knew how that could be fixed, but the work required to fix this was multiplied by the size of the project. This is something I should have thought ahead of time if this was to be a mobile game.
– Don’t get too attached to a story. I was stuck for a long time because I had this idea in mind of a story, and tried to make it happen. Yet, I never progressed because steps towards that story were increasingly difficult, requiring extra coding. I ended up giving up that story idea, and incrementally building up things until the end. That seemed to work better.
– Big projects are for when you’re ready! I think it’s fine to dream big, but at this point I should still make sure the projects I start can be finished within a couple months. Being stuck on a big project can be discouraging. Until I can come up with a project that is so compelling and so easy to increment that it can write itself, I still have a lot of game development practices to learn.

At the end, I’m glad I finished the project. This calls for a celebration, mostly because I got unstuck from working on that game, rather that the completion of the game itself. Of course, I could have just given up on that project, but I think finishing it with the half-ass ending I gave it was enough to make me feel good about it.

Perhaps I’m being a bit too critical. Hopefully people will like some aspects of the game. It has some dark humor in it, some hard puzzles that requires the player to think outside of the box, and some interesting characters. Please check it out on one of those sites:

Gamejolt: http://gamejolt.com/games/dobuki-epic-journey/118967
Newgrounds: http://www.newgrounds.com/portal/view/668833
Itch.io: http://jacklehamster.itch.io/dobukis-epic-journey

Advertisements

“Dave’s Dream” post-mortem

Dave’s Dream was produced for the #MeatlyJam, in which we could use some assets provided by TheMeatly, a website on comics about game developers. The theme of the game was:

All things TheMeatly:
Life as a Game Developer

I have to admit, I had some idea in my head before the theme came out. I really wanted to incorporate this idea of time travel, where a character could travel back in time and interact with itself. It’s an idea I had for a while, and every time there was a gamejam with a theme about time travel, I would get motivated, then lack time to work on a game, then miss it.

This time, the theme made the concept turn into an interesting idea: Dave, a game developer, has been caught working on a game at work. He is now in a dream in which he keeps repeating the same day by killing himself.

I knew the concept would be very difficult to implement, and it is quite novel. Yet, I had no problem to ruin this MeatlyJam entry if I was not successful, or make it the way I imagined. Quite frankly, gamejams are for taking risks and experimenting with game development, because you really don’t have much to lose.

Now let’s talk about all the nightmares I had to go through producing this damn game!

  • The game mechanics

So one of the key feature of the game is the fact that you will play for a while, then kill yourself, then replay from the beginning alongside a previous version of yourself.

Basically, I had to make each character repeat the movement of a previous playthrough. This was done by storing a series of actions for each character, each with a timestamp. Actions were basically clicking on an object, or using an item on an object. There isn’t much more you can do in the game, as it is a point-and-click adventure. But here starts the nightmare…

What happens when two characters interact with the same thing?

One of the problem of the game’s design, is that it was designed to allow only one character to interact with one thing at a time. When a character pulled a lever, which takes 1 second, the sprite of the character was basically hidden, and the “pull lever” animation was played on the lever, the the character sprite was shown again once the animation is done. Of course, that means you can’t have two characters pull the lever at the same time because you don’t have many instances of the lever to play the “pull lever” animation twice. At some point, I thought perhaps I could make copies of the lever when this happens, but then reality hits: Even logically, you can’t have two people pull the lever at the same time, because… well what happens to the door? Does it open? Does it close?…

So because of the simple fact that everything had to go through some animation, I was forced to have every item being touched by one character at a time. I could have fixed it by removing the animation for pulling the lever, but I already did too much work animating the character, and animation looked too important for the game to be removed at that point. Almost every single object in the game had an animation, even jumping on a platform was an animation!

This became the source of a nasty bug: When one person interacts with an object and another person interrupts, I have no choice but to either:

  • Cancel the current animation and let the next person interact with the object
  • Let the current animation finish and the interrupting person’s action is cancelled. (I guess I could make the next person wait, but not only it’s a pain to implement but it also mess up with the synchronization of the game).

To keep the game playable, I had to ensure that the previous versions of yourself could never miss the actions that they did before. So if the current self was doing an action and was interrupted by a previous self, I would cancel the action. If the current self was interrupting an action of the previous self, I had to prevent the current self to interrupt.

What a mess! It’s even difficult to explain about this! I’m sure what I’m writing is completely unreadable! Let’s just move on.

  • The animation

What really shine in this game in my opinion was the animation. The system I found of hiding the player’s sprite and just dumping the animation on the interacted object itself allowed me to make very precise animation. I was using the character from TheMeatly, which is actually not so hard to redraw roughly, so I was able to make several animations from it.

I did get lazy towards the end so there was less and less animation, but the beginning had a lot of work!

  • The scripting

There was one important aspect of the coding that I found particularly interesting for “Dave’s Dream” and its sequel, which is the scripting system. Actually, the scripting of Dave’s Dream was a result of laziness. In previous games, I would write scripts related to the game (such as pull this lever => open door / use item => do action) inside each class. I’m not sure what my fellow engineer would think about this successful application of Object Oriented programming, but I really got sick of jumping from files to files to search for my code. I just wanted everything in one place, so most of my scripting got moved into one single file. The way it was done, is to have one giant object in the main file contain all the functions, indexed with the names of all the objects in the game world.

So instead of:

class Door {
// code to open the door
}

class Lever {
// code to open the door
}

We had something like this in the main file:

var giantScript = {
“door”: {
“action”: // code to open the door
},
“lever”: {
“action”: // code for pulling the lever
}
}

Of course, this looked like a very bad coding style, and quite frankly I wasn’t used to work like this before, but for this game, it put all my spaghetti code into one single place and saved me a lot of time from not having to jump from files to file. I was able to just scroll up and down to work on my script related code (note that the engine code was still separated into different classes).

Especially for games and gamejams, once in a while… actually, quite often… no let me rephrase it… ALL THE TIME, you will have to put your elegant object oriented coding style aside and come up with some good hack, especially if elegant coding style gets in a way of productivity. Keep in mind that your gamejams code is quite possibly throwaway, nobody is going to be looking at that code.

Now in this case, while exploring very bad coding practice for the purpose of efficiency, I actually discovered a way for coding adventure game that’s actually quite good. One of the advantage of that coding method is that I truly separated script and engine, and I had the script code all in one place, without having to jump from files to files (unlike I did in previous work like Dobuki’s Epic Journey). Perhaps this is really the way adventure games were meant to be coded.

This coding method really shines for Dave’s Dream’s sequel: (Oozie plays with himself), because I had one script per scene. In terms of organization of the code, I have to say I’ve never reached this kind of elegance when coding an adventure game. I think there’s probably even a better way to organize the code, by splitting the script into quests rather than scenes. This is something I will try to investigate in future projects.

  • The Verdict

The concept itself turned quite successful. It was one of Jupiter Hadley’s favorite of the MeatlyJam.

The learning experience is invaluable. I am just really happy about the new way of scripting adventure games that I discovered. Until then, scripting actions, stories, cut-scenes, dialogs… all of that seemed like a nightmare. Now I feel that I can script all my adventure games in a similar way.

However, one of the things that was a big turn off for people was the fact that the main character kept killing himself. It was a risk I took, because I really couldn’t imagine a better way to do this. At the end, I think the imagery was very effective, but I did decide to remove the suicide part from the sequel.

I was also glad that I finally got to try out that time travel concept I had in mind, especially since so many concepts end up in the forgotten realms sooner or later. This gave me the confidence that some of my crazy ideas can sometimes make it into reality if I try hard. I didn’t expect to encounter so many bugs in the beginning, and having to tweak the game so much even as the game was already released. I did get a lot of complains about bugs, yet the game was playable enough for the majority of people. I think one of the things I enjoyed the most is watching how people react in the gameplay videos.

Gameplay Videos:

Let's Play MeatlyJam! Part 1 Outsidemapen plays Dave's Dream Jupi Plays MeatlyJam

For me, this game was a personal success that I decided to make a sequel: “Oozie plays with himself“.

Darwin Gator post-mortem (overdue)

I think making a game is always a great learning experience, yet not writing a post-mortem after a game makes that learning experience less effective.

I’ve made Darwin Gator a few months ago, but I’ll try to remember its development process. So without further ado let us talk about:

Darwin Gator

Originally, the game was made for a GameJam which asked to combine a lot of random themes, along with a gamejam about monsters, a gamejam about destruction… well yeah. This game was a mess in terms of ideas, because it was entered in many many gamejams. But after leaving it for a while, I decided to work more on it. For some reason, I was motivated to take this game to the next level in terms of quality, so this game actually ended up very different from the original gamejam entries.

  • The graphics

It’s mostly my friend Sophie who encouraged me to improve the graphics of this game by an order of magnitude. I think everything grew from there, because at that time there was only one stage, with bricks. As I drew the extra layer of plants on top of the bricks, the game looked not just more beautiful, but it also started to have some artistic style. To further the graphics, I made a total of three stages. One is the first stage in the forest, second stage is the ice world, and the third stage is the underwater world. Each having its own art style and music.

  • The penguin missions

One of the biggest addition of Darwin Gator is the mini-games. I decided that every 5 or 6 levels there will be an unlocked game, in which the gameplay has nothing to do with the main levels’ gameplay. The first mini-games is a bit like Flappy Bird, the second one is a guessing game, the third one a snowboarding game (which was also released as a standalone game called King of the Slope), and the last one is the secret insanely difficult boss. To unlock the mini-games, you had to visit a penguin at each level. The penguin itself was just a way to unlock the mini-game, but he also has a different dialog every time you meet him. Eventually, I found that the dialog of the penguin made for a more compelling story than the story of the game itself! The story of the game is completely forgettable: Collect all the worms to save the world yadiyada… But the story with the penguin actually became very interesting: First the penguin loses his job, then his girlfriend has a baby, and the first mini-game is to rescue that baby, then he tries to sell icecream… It’s too bad that the penguin missions are not easily accessible, because I think some people will miss that part, which I find to be the most interesting. But hey, that’s how I decided to design the game.

  • The problems

One of the biggest challenge of the game is the control. I insisted that the game has to be playable by pressing just one button, but it turns out to be more problematic than I expected. A character controllable with one button, is really not that pleasant to control. One problem is that I kept testing the game over and over, and thus learned controlling Darwin Gator with great precision by doing lots of practice. When I released the game, I really thought the character’s control was easy, but it seems quite a few people had issues with the controls. When I asked my friend to test it, it turns out the controls were so hard to use, that even the second or third level was too difficult to pass.

  • Overall

The game wasn’t as popular as I hoped it could be but it was satisfying as a game. While it’s hard to control, I found it fun to play it myself. I guess I wished it could do better because of how much time I’ve spent working on it. Yet it game me somehow a new perspective on my game development journey. I now feel that there is some level of quality that I should try to reach when making games. I was always used to pump out quick games for participating into gamejams, but now I’m trying to always have a main game on which I spend a lot of time and effort, one that I can really polish and make it look good.

You can play Darwin Gartor here.

I write articles for Gamejolt’s Fireside!

Ok this is not news, but I guess I never mentioned it on my blog, yet I should.

I’ve been writing some articles about game development on Gamejolt, in the article section called Fireside. We’ve got a bunch of regular writers who write about game development or game jams.

Check out Gamejolt’s Fireside here.

Also check out my articles, I’ve got 4 so far.

At some point, I thought I’d just put all my gamedev articles to Fireside and stop writing here, but I changed my mind because I think it’s always good to keep this blog as a personal space, where I can write about anything I want.

I’ll do two blog posts for my two latest Fireside articles. They’re about game development so it could be useful (as opposed to all the crap I write here which is completely useless!)

Back to blogging, less about controversial stuff and more about games!

Alright, I’m back to do some blogging. I don’t really have time to be a regular blogger though, and by that I mean that I can blog, but it’s hard for me to constantly come back every day or week. I’ve always been like this, a bit inconsistent. I like to do all my blogging at once, and there’s a lot of game related blogging that needs to be done. When was the last time I blogged about a game… let me check….

Geez… I haven’t blogged since Slimilization! I’m so far behind! It’s like that #the100daysproject that I’m doing (under a different name). I’m supposed to make 1 drawing a day for 100 days. I’m behind on that one too, so I’ve been doing very crappy drawings (By that I meant that it went from crappy to very crappy).

Ok, I’ll be writing one blog about some articles I published, then about some games… then why am I wasting time writing about what I’m going to write about? Let’s get writing already!

The good, the bad and the ugly reasons why I can’t stop making games

image

I just watched a documentary about cannibalism. Made me sick to my stomach. Somehow, it made me ponder about my reasons for making games. I came up with three of them.

The good: I love to create exciting and inspiring experiences to share with people. Imaging their delight when discovering a surprising element in my game feels me with joy.

The bad: I really love to make people struggle and pull their hairs trying to beat odds that seem impossible. Imagining them get infuriated spending countless hours trying to solve my stupid puzzle brings me a pleasure that i’m guilty of.

The ugly: with all the ugly crap that I see happening in this world, I feel that I really should spend this fortunate period of my life when ugly crap hasn’t yet reached my life, to create something amazing, which hopefully, will cause a bit less ugly crap to happen in this world.

Consume game jams with moderation

Game jams have become increasingly popular within the last few years. I remember I used to search the web for game jams before deciding to make a game. Now I there are constantly a dozen of gamejams to choose from. My one stop shop for gamejams is http://www.indiegamejams.com/, and it’s littered with gamejams from anywhere, of any flavor.

I don’t want to say that there’s anything wrong with that. I actually enjoy doing gamejams, and plan to host my own #awesomemusicjam in December. But now that gamejams have become so abundant, there’s one thing every game developer needs to watch out for: Gamejam addiction.

 

What’s a gamejam?

Let’s step back for a minute to explain what a gamejam is. A gamejam is an event organized for let’s say a couple days, or a couple weeks, during which a developer has to produce a finish a game and submit it. Usually, gamejams are hosted on http://www.gamejolt.com or http://itch.io. Most of the time there’s no prize for having the best game, so you just do it for your fun and for your own learning experience.

 

The rise of gamejams

Within the last few years, there’s been an abundance of gamejams. Why is that? Well frankly, I don’t know. But let’s say you had the chance to pick your favorite topic, (let’s say My Little Pony), and you just had a bunch of developers break their sweat and create a bunch of games surrounding your favorite topic, and you could host that gamejam for free (gamejolt alows it)… Well that’s kind of awesome, so why not? Of course not all gamejams have a lot of participations, but even if you could just get as little as 10 different games for free about ponies, wouldn’t it be nice?

I’m sure that’s not really the only reason gamejams have become so popular, but a big factor is the fact that it’s easy to create and the result is sometimes pretty amazing.

 

The drive for game developers

But why are game developers so addicted to gamejams (maybe I only speak for myself… nah, probably not). I can think of one very good reason: Gamejams get more publicity. Often times, YouTubers will pick a gamejam and play all the games in a Jam. A particular one who’s doing a very good job at it is Jupiter Hadley.

So that’s why gamejams are very attractive to game developers. They can spend an hour or two to make a game for a crappy jam (yes, there is a jam called “Crappy Jam”), and the game will still get some publicity. I know, you can’t get much done in two hours, but for developers just like artists, it’s enough to pass a message or an idea… or really to just make something stupid and have fun watching somebody play it.

 

Is it bad?

No, not at all! Quite the contrary. Gamejams have encouraged game developers get out of procrastination, and just free themselves from the vicious cycle of perfectionism. They finally got things done. I speak about myself, but I’m sure lots of game devs have experienced this: We work on a game, we have a huge ambition, and the game drags on forever and never get done, then we move on to the next idea hoping it’ll be even better.

Gamejams have a deadline and lower expectations, due to the time constraint. Having 2-3 days to make a game is a bit of an excuse for not having sound, or great graphics, or even any story. Noone can really blame a game dev for not making a masterpiece within such short period of time.

 

Then what’s the problem?

Like any good thing like beer or pizza, having too much of one thing can be a bad thing. While trying to join as many gamejams as I possibly could, I found myself spending too much energy on making game. It almost felt like work! Sometimes, I would spend a bit of time trying to catch a jam, then I would be disappointed for missing the deadline, but it’s ok, another jam would come up and it would be even more interesting. I was addicted to making small quick games, and it was fun! I know there are much worst things to be addicted to in life, so I’m glad at least I have a productive addiction.

However, for game developers, making small little games really lowers the overall quality of your games. When you’re bound to a small timeframe, you’re very likely to skip the last step of the game creation process:

1. Concept
2. Main development
3. Completion
4. Polish

That 4th step is actually crucial, but I found myself constantly skipping that stage for gamejams, because the goal of most gamejam is simple: Complete a game within the timeframe. In order to reach the stage of perfection, you need to have the game already completed. You pretty much need to consider the game done, and ready to be released. Let’s say you reach that completion stage, but you artificially give yourself a week before releasing the game. Within that week of not doing anything about the game, you will find small ideas and details to add to the game in order to take it a bit above average. For example:
– Adding an intro
– Providing a pause button, a mute button
– Diversifying the color of enemies
– Adding mini-games
– Animating the story rather than just putting it in writing
– Small sound effects or voice overs?
– Adding facial expressions to the characters

Of course, I could go on forever about features to add, and that’s not a good thing either. But by adding small bits of details, things that aren’t so hard to do, you can bring a bit of identity to your game and make it memorable. The world is full of averages. It’s not a negative statement, it’s actually true by definition. So taking your work above average puts it out of the crowd and makes it noticeable.

 

How to break free from addiction?

One simple solution is to team up. On one of the game I was planning to release, I decided to sort of “team up” with my friend Sophie. She acts as a QA / Art specialist, basically providing me feedbacks about the game and advices on the art. One of Sophie’s important role, is that she decides if the game is ready for release. So far, this has been driving me nuts. I’m a very impatient hamster, but Sophie always finds something to improve about the game before releasing it. Yet, the result is actually really positive. I’m starting to recognize that my game  is improving drastically in terms of quality. I spend a lot less time working on the game and yet I enjoy doing it a lot more. As it turns out, slowly adding small details to a complete game is a lot more enjoyable than the process of making a complete game out of nothing. I stopped carrying so much about gamejams. From time to time, I still look for a few ones to join and don’t stress out about missing some interesting ones.

One thing to keep in mind about the publicity from gamejam: it’s the jam that is generating the attention, not your game. If you have a game that is well polished and shows a lot of efforts, it has the potential to generate its own publicity by word of mouth, which is a lot more rewarding than getting the attention just because the game is part of a jam. Also, when you recognize that your game is popular enough on its own, you can consider monetizing and using money to market it. You probably wouldn’t do that for game produced for a jam.

 

So bye bye gamejams?

I don’t advise to give up gamejams altogether, but rather to be more selective. There are some gamejams that do get a lot of attentions like Ludum Dare. The Ludum Dare experience involves thousands of people all over the world, and sometimes you even get the chance to work with others on location. One upcoming gamejam to look forward to is Indies vs PewDiePie. The reason this kind of gamejam is interesting is because PewDiePie is a famous YouTuber who does generate a lot of attention. If you had an excellent idea in mind, it might be your chance to be recognized. Now on the other hand, let’s say Jacklehamster loves Banana so he hosts a “Banana game jam”, where you had to make a game about “banana”. This is definitely a gamejam you can skip, unless you have an undying love of banana and you’ve always wanted to express your love by making the ultimate game of bananas… then it’s ok. You’d probably be the only entry in the jam. Otherwise, please just skip it. Now if I were to offer a lifetime daily supply of bananas to the winner of the gamejam, that’s a different story, one that is not likely to ever be true…

… although I might actually create a “Banana game jam” just to see how many people don’t read my post and still participate to every silly gamejams out there like I used to do.

 

Final words

Be selective about gamejams, and spend time polishing your games when you can. Quality does trump quantity.

 

SLIMILIZATION – the big reveal

So it’s been a few weeks since I released SLIMILIZATION, a Ludum Dare 30 game:

The Ludum Dare theme is Connected Worlds. At first glance, SLIMILIZATION doesn’t seem to match the theme, but the game actually has a secret. Basically, it connects player into the same world. Everyone is playing on the same map, starting at different random location, like in the game Sid Meier’s Civilization.

There are a few hints left in the game to let the user know they are playing online:

– The slime color is random for each player, so it’s likely that you would see slimes of different colors when meeting another Slimilization.
– When viewing the same screen as another player, you can see their mouse movement.
– When building a world wonder, you can name the wonder whatever you like. Once a wonder is built, every players, no matter their location, get a message that your wonder was built in a faraway land, with the name that you chose. So if the wonder is named “My Giant Butt”, they would see “My Giant Butt was built in a faraway land”. (like in Sid Meier’s Civilization)

Also, one of the achievements in the game for Gamejolt and Newgrounds is to have one of your slime mate with a slime from another Slimilization.

I know a lot of players wouldn’t actually know that the game was multiplayer since there is only a small chance to start close to another player. Also, since the game doesn’t have any persistent state, the civilization disappears once the player leaves. I was hoping that players do stay in the game long enough to find other players, and from some comments, it seems like they did. I could have said right off the bat that the game was multiplayer, but I thought it’d be more fun to surprise the player with that.

The game doesn’t have a lot of instruction, so I wrote a little guide for you all:

– So the water pond does nothing. Sorry, it’s just for decoration.
– Slimes start out hungry. To feed them, you need to build a tree. They don’t always go to the tree immediately, so you have to be patient.
– Once fed, they are lonely. To solve that issue, you need your slimes to meet. If two slimes are lonely (not hungry), they will talk, and become happy.
– After their chat, the slimes are in a relationship, so they need a place to mate. There’s a building for that. When one of the slime goes into a mating tent, the mate will follow. Note that slimes will not mate with their parents, they need slimes from another family. They do mate with slimes from another civilization.
– Both slimes come out of the mating tent pregnant. They will go back home and will give birth to another slime each.
– The life expectancy of slimes are 5 mins, but slimes will only die when they’re lonely or hungry. If there’s a Wonder close to a slime’s house, that slime will live for 10 mins.

That’s all the secret for Slimilization. I didn’t have much time, so I couldn’t get a battle system for the game, which is something I really wanted. I’m glad I had Wonders though, because that’s really the one thing that pops in your mind when you think Civilization.

Slimilization

My disastrous attempt at joining four game jams simultaneously

What’s up with game jams these days? How come making game has become such a popular hobby? In the past, I usually would have to wait several months for Ludum Dare, and occasionally there’d be game jams popping up now and then. Well now, just look at compohub.net for the list of game jams crammed within the last weekend:

img

 

That’s eleven game jams going on exactly at the same time! I’m not complaining… does it sound like I’m complaining? I just think it’s crazy. How can people participate in all of those jams? I know you’re not supposed to do that, but jams are not like movies. They don’t stay a couple months in the theater. Well you know what’s even crazier? Trying to participate to as many jam as possible, with one game! So I joined the madness and did that.

I wouldn’t say this post is about what not to do. I’m sure it’s doable and it would be quite a feat. Just letting you know though that my attempt was pretty disastrous. I wouldn’t say it’s really a failure. At the end, I got a game that seems to have potential. But if you do want to try to cram four or more game jams into a single game, I think you’ll find this post useful.

One game to join them all

There’s many jams I had to cross out.

  • The Interactive Fiction seemed more like text base, or at least story based.
  • I was thinking I’d join Indie Quilt, but it actually requires Unity. It seems really interesting (a game collab made by several dev for a game to be sold for charity). Hopefully I’ll be able to learn Unity by the deadline. It’s piece of cake, right?
  • At first I wanted to join GDSE, but somehow it needs an stack exchange account with a reputation of 5 to join. What kind of elitist sh*t is that? I can’t join with my reputation score of 1, which I got just by creating an account?
  • Nine Worlds Game Jam seemed like it was location based. It seems to require reading a book, which I’m not good at.
  • Ripples of Change… I could still make that one, but I really don’t have any good idea to make a game with water.
  • I was thinking of joining Arbitrary Gamejam 12 this time, but I really couldn’t understand any of the themes. I know the definition of each word was spelled out, but I couldn’t really visualize what each word really meant. Why can’t they pick a theme like potatoe?!
  • Ruled out the ASCII game jam. I didn’t make ASCII art since my first game ever, about twenty years ago.

At the end, there were four games jams left. (five if I include OneGameAMonth, which I usually join automatically). Alpaca Game Jam, Epic Game Jam, Monster Mash, and Spectre Game Jam (not mentioned on compohub.net).

Like I mentioned before, if you’re going to have a game in multiple jams, you might end up with a mess of random ideas. I pretty much got what I asked for.

For monster jam, I just had to make my main character a monster so that was easy. To join alpaca, I had to include destruction. That’s the reason I added the ability to destroy bricks with bombs. The theme for Spectre jam was glow. It had other themes too, but glow was the obligatory one. I’m sure they will roll their eyes when the only way I could include the theme was: “collect the glow thingy to finish the level”. Yeah that’s kinda cheap. Now there was also this epic game jam. Turns out Epic Game Jam by itself doesn’t have just one theme, but something like 20 themes. I know you don’t have to do all of them, but some of the elements in there are quite tempting. Also, I’m not sure I did quite well with the main theme (“First Time”… hey it’s my first time drawing pixel art for my game!). So I tried to include a few of their subthemes (Rainbow duck, Red haired turtles, alcoholic carrot…).

For all the art, I used the makepixelart tool, which lets you make pixel art online. I found this tool to be quite amazing, except for not having the ability to import pixel art I produced. (well I’m sure they have that ability if I paid the $2 they ask for…)

Need better time management

I think what I needed for making this game is better time management. I really just crammed a lot of ideas into the game before I actually had what I could consider a game. My friend was also giving me ideas, but it really took a while before I could stop cramming ideas and really make the game. Also, that weekend wasn’t completely free for me. There was World Cup and July 4th, and I have to eat! I give a lot of excuse, but really the culprit was Civilization 5, which I keep getting addicted to. I really need to control myself.

The game was realized unfinished for Alpacala and Epic Game Jam so I had to finish it the next day. I really thought I’d make Monster Mash deadline, but compohub.net had the time wrong due to the difference of time zone, so I missed the submission deadline (which is a bummer since it’s really the one jam where my game really seems to fit). I also submitted for Spectre game jam, but given my dodgy interpretation of the theme, I don’t expect much.

At the end, this helped me get out Darwin Gator, which had a unique gameplay that I’ve been wanting to experiment with for a long time: A puzzle platform game with one-button control (because it’s designed for mobile).

Screen Shot 2014-07-07 at 9.04.53 PM

How to create a game

This is sad, I’m actually procrastinating right now. There’s a game I really need to work on, but writing a blog post requires less thinking for me. Oh well, I’m just gonna write a post about how to create a game. Like for my previous post, I try to be non-technical.

STEP 1 – Come up with the idea

I know it’s obvious, but you do have to spend a little time on it, and here is why. Throughout the process of making your game, there will come a point where you will decide: is this really worth it? Even if you’re doing a game jam and they gave you a theme, like make a game about “sausage”, don’t just jump in and say “I’ll make a game where you have to eat as many sausage as possible”. Don’t go for the obvious. One recurring issue when making any project is, at some point, you might want to give up. There’s nothing wrong with giving up, sometimes you are much better off spending your time on something worthwhile. However, if you find yourself giving up easily on projects, then something needs to be changed. Giving up a project does feed into depression, or a sense that you can’t do anything right.

Good ideas do come back

Back to our sheep (revenons à nos moutons). The reason I put importance to idea is that a good idea will stick with you, and you will be less likely to drop your project. You will think about it during the day when you take the bus, and you will dream about it in your sleep. Let’s say you had an awesome idea for a game jam. Let’s say you failed to create your game by the deadline, but the idea was really good. Perhaps you’ll start working on your idea regardless of any jam. Perhaps there will be another game jam that perfectly fits your idea. Great ideas do stay for a while. As far as my own personal experience, I can talk about this one idea I had a long time ago that had yet to be achieve. The idea is some kind of virtual world, where people can put their own content. Perhaps ten years ago, I dreamed about that idea. Then three years ago, I tried to implement it in Flash. I failed over and over, but kept working on it. Eventually, I made a prototype which was very hard to use. It was just a 3D maze, nothing more than that, except that walls could be replaced by creating a .swf file (creating a flash), basically that means I could create walls separately from the maze. My original idea started to fall apart, as the project looked more and more too ambitious, the code was getting harder and harder to understand, and… I kinda felt that idea was crap. I kinda gave up on the prototype, because I created something that was too complicated for me to use.

Three years later, a few months ago, I did Ludum Dare 29 (a game jam). Created my game, submitted it, and was done with it. Then I started thinking back about my incredible 3D maze, and thought… wouldn’t it be cool if I could travel inside a maze and just go from game to game, like I’m in a museum looking at paintings on the wall, and with a click of the mouse, be transported into one of those games that was created for Ludum Dare 29. Why not reuse my 3D maze? After all, it was purposely made to accept any kind of content on the wall. I worked on it as an extra Ludum Dare project, relearned my old code, and produced Ludum Maze. I felt great, because I felt I just got 10% closer to my big crazy idea of virtual world. RockLeeSmile also made a video about Ludum Maze. I didn’t really know who RockLeeSmile was before that video, but I found out he has more than 50k subscribers so yeah! He’s popular.

Now, I find myself rethinking about my original idea of virtual world where people can put whatever the hell they want, so I plan to work on it again soon.

In short, make sure you have a solid idea. You can still change your idea later, even do a 180 degree on your idea if necessary, but do get started on a great idea. It will push you forward.

STEP 2 – Pick up the low hanging fruits

The next step might not be the usual one you can think of. Basically, don’t just go ahead and start coding… unless it’s what you love to do. My advise is to pick up the low hanging fruits. By that, I mean you have to work on the game as much as possible, without feeling that it is actual work. For me, coding is work, it’s difficult, it’s painful at time… Drawing is ok, but it’s still work. Quite frankly, there are very few things for me that don’t feel like work, but I do find that writing music is the least effort intensive work. (yeah everyone is different). So a lot of time, before doing any coding, any artwork, I make the music first. I do have to say that music is a great starter. Once you have your music, you leave it on while working on your game and somehow it motivates you.

Yet, there are several things even less effort intensive than music. How about writing a story. Just fill in your intro, write the backstory of your game! Or how ’bout just making the website for it. For me it’s work, but for a lot of people, making a website is an nice and easy task. My point is you gotta have something started, otherwise you’ll never get started, that’s quite obvious when you say it. Now, I’m saying this because I am sometimes lacking motivation when starting a game (I do catch up later), but perhaps a lot of you are full of energy right from the batch. In that case, I’ll advise you to go for the meat, just go ahead and attack the most difficult task! You’re ahead of the game anyway.

STEP 3 – Let someone know

Be aware that this is step 3, not step 1 or 2. Why?

Well… at this point you’re more or less committed. You’ve done a bit of work, you solidified your idea. So you can pretty much say you’re not all talk. (at least for yourself). Then you can talk about your ideas to friends. The reason you shouldn’t be talking about your game at step I… is NOT because someone might steal your idea. (That is a decent point, but by now I’ve come to realize that people are not that evil). No, the real reason is because there will come a time when your friend will ask you. “So, what happened to that … whatever… “Gargamel vs the Smurf tower defense” game you were working on. And you don’t want to be like…. “Well, I kinda gave up on it because… oh shut up.”. Basically you don’t want to be all talk. I don’t mind “people who are all talk”, you guys are entertaining. ;-P

But for yourself, you don’t want to start feeling like you’re all talk. Again, it feeds into this self deprecating / depression pattern. You think you’re just good at talking but you don’t achieve anything. You might sense that people don’t take you seriously, because you’re all talk. Even though, quite frankly, you shouldn’t care what others think about you. But we’re all humans, we all want to be loved… or hated by those who envy you. Anyway, at the end, what you think about yourself is important, and you want to prove to yourself that you can achieve.

Also, let’s say your friend asks you: “So how’s this game coming along”. Then you just take out your phone, and just go: “Hey, listen to the soundtrack I finished for the game.” They’d be like: “Yeah! Rock on dude!” (…. or dudette!)

STEP 4 – Where’s the beef?

Ok, so you’ve done your homework, you came up with the idea, cooked out some starters, and tweeted about your progress… I don’t think there is any step that comes between step 3 and…. The Meat!

What I call the meat is the core of the game. Something in the game that says: “If it’s not in the game, the game doesn’t exist!”. For vegetarians, you can call it the Tofu. I call it the meat.

The meat is the most difficult part to digest. For me it’s usually the most painful work. For me, the meat is the coding. It’s hard to believe, but I hate coding. I hate it and love it at the same time. I’m married to coding, for better or worst. You can’t stand the meat, and you can’t live without the meat. Once you’ve started the meat, it will stick with you until the end, but you know you’re really into it. You’re in attack mode, and you feel the pressure and adrenaline. By attacking the meat, you are really committed at this point. You might think, well if it’s an obligatory step, why mention do I even have to mention about it anyway. Well, do be aware that I am putting steps in a chronological order that I find fitting. So I mention the meat, because the meat happens right now, at step 4.

STEP 5 – Test your shit before throwing it out!

Again, an obligatory step. Who makes a game and throws it out there without even testing it to make sure it works? I’m ashamed to raise my hand. I can explain, I actually don’t have an iPhone, but with Adobe AIR I do sometimes produce iPhone games, simply because it’s possible. A lot of time I couldn’t test the game on an actual device, so the game might be submitted to the App Store, then a pissed of Apple employee will come back to me and say: “Your game doesn’t work. Thanks for wasting my time. Test your shit before throwing it out!” (That’s what goes through their mind, not what they replied to me) Yah, sorry but I have to work with what I have. I do however test the game in a simulator, so in a sense I don’t skip this step.

When testing, it is important yet ironic that you must try to find the enjoyment in your game, yet realize that others will not experience the game the same way you do. Now, let’s say you create a puzzle game. How can you possibly enjoy a puzzle game when you know all the solutions? The idea here is imagination. You really do have to imagine someone playing the game. One of the nice trick is feed on surprises. It’s hard for me to think of a good example… I remember when I produced the intro for my game “The World is in your hand“. Basically, the intro is a series of questions where you just say “Yes” or “No”. Because it was designed for people with motor disability, you only press one button, so Tap=Yes and Double-Tap=No. As you go through the intro, it feels like you just tap to skip to the next scene and it was true for that intro. Regardless of whether or not you said Yes or No, the intro would move on to the next page and the character in the story would respond accordingly to your Yes/No answer. This is true except for the final question. In the last scene in the intro of “The World is in your hand”, your wife asks you: “I’ve been working on something. Do you want to see it? (a flying chair that she’s put all her heart creating just so that you can fly around despite being disabled). You say Yes, and you start the game, where you’re on a flying chair roaming around the world. You say No and your wife leaves. You’re left alone and depressed, a game over screen comes up. This is the only way you can get a game over. When I wrote that intro, I was thinking the whole time… “ok somebody is gonna say No and be like WTF. Even by mistake, somebody is gonna say No. I want that WTF moment, I really look forward to it. Heck, I’m rolling on the floor just imagining that moment. I’ve never heard of anyone getting to the Game Over screen, because you have to be a jerk to your wife. Yet, it made me happy to think about it.

But yeah, do test your game, and you really do have to make an effort of imagination to visualize someone playing your game and discovering it for the first time.

STEP 6 – The cherry on the cake

This is actually one of the most important step. It’s not even obligatory, yet it is the most important. There comes a point where you can safely say, “I’m done!”. You even polished the game… that’s step 5.5 which I forgot. Anyway step 5.5 is boring to talk about so I’m just gonna skip it. So what is the cherry on the cake if it’s not polishing.

The cherry… is what makes your game special. At some point, you need to think about the game and say to yourself: “Why am I doing this? Where is the wow moment? What is the thing about this game that lets me talk about it to everyone? What is the one single one second moment that will bring shivers to your audience? That’s the cherry on the cake. The wow moment. Again, it’s not obligatory because you can release a game without any wow moment. If the purpose was just to practice making a game, perhaps learn a new programming language, then it’s perfectly fine to just throw out your cake without the cherry.

You see, a cake can be delicious, but without he cherry (PS: The cherry doesn’t have to be a cherry, it can be a piece of potato),… without that cherry, the cake is missing that inner beauty, the thing that makes you visualize the cake in your mind. The thing that makes it not just plain, but plain perfect. For your game, it’s the thing that makes people be like: “Wow… LOL…. OMG…. I love this. Even if I really hate the game, I love this.”. The cherry doesn’t have to taste better than the cake. If the cake is delicious, the cherry takes it over the top. If the cake is shit but the cherry is delicious, then the cake might redeem itself.

Let’s be less cryptic. Your game is really fun, but you didn’t have that moment when someone got touched, or surprised. Your game will be forgotten after a week. Now you add the WOW moment. Your game will be remembered. If it’s bad, it’s going to be remembered as a bad game, that had this one moment that people will fondly think of. People will remember that.

My main point, and this is the cherry of my blog, is that you don’t make games just to make games. You do it because you want to show humans, how humans are awesome.