Jupiter Hadley plays a lot of indie games, game jam games and other stuff like that. I must say, it feels pretty good everytime to unexpectedly get this sort of player feedback. She records video compilations, and here are the video parts with 3 recent games of mine being played.
Last month I promised to keep posting about our group game project every two weeks or so. Well, it doesn’t go so well unfortunately, nothing to post every two weeks. We had one quite productive meeting, where we finally got everything sorted, all story-line settled, all puzzles designed and documented, all objects listed, all game logic in place. And we have original music recordings. That’s it.
It is difficult to make a group project work when it is not a priority on everyone’s todo lists. I have my thesis, Nicola has his book, Ir has her everything else. And we have no deadline whatsoever, apart from “it would be nice to finish by the end of the year” but who cares. Maybe now when I have a very concrete thing to do on my programming part I should set myself a personal deadline. Otherwise no one is going to do anything.
Anyhow, I am still not very comfortable with Godot engine, I need some video tutorials to get my head around it. These ones look okay. My task now is to make inventory, basic point-and-click mechanics and navigation between different in-game scenes. Sounds much easier than everything I’ve done so far.
ProcJam is an online game jam which is all about procedural generation. It is organized by Michael Cook, who is an awesome researcher and who accidentally inspired me to choose a particular topic for my thesis. Since I am now all about computational creativity in games, I couldn’t miss this event.
The tagline that is supposed to guide people through this relaxed 1-week long game jam says “make something that makes something”. Participants were to create a game or a tool that would make use of any procedural generation algorithm. No other theme, no constraints.
For me, it was yet another chance to try something new. I didn’t have much time and the week was rough, so I ended up implementing in Unity3D a depth first search algorithm for labyrinth generation. Very simple and the result is not very exciting, but still it is a new experience.
My inner game designer is not happy with the game and refuses to call it such. There is no winning condition, just endlessly generated labyrinths of increasing size. The controls are not very responsive and the ball player annoyingly bumps into walls. The labyrinth itself is not very suitable for a labyrinth game: of course, it is a proper labyrinth with no loops and closed rooms, but going through it is very straightforward and poses no challenges. Maybe it would be better if the labyrinth weren’t visible from above.
It would be cool to add collectables, or enemies, or both. Or to make it first-person and add a possibility to leave marks on walls. Or inverting the labyrinth and moving the ball on top of the walls. Or tilting the board instead of controlling the ball. Or making the labyrinth transformable with walls appearing and disappearing here and there. Or adding portals (I like portals). So many options, so little time…
As for the jam experience… I find it more difficult to be completely on my own. I like constraints: a particular place where you have to be, a theme, a team, a strict time frame. I like to be all in the project, without juggling it with studies, theater rehearsals, home errands and other very important things. I really want to participate in Ludum Dare, but I need to think how to organize my life around those dates (like finding a local event place and saying no to everything else).
Speaking of collisions. There are bugs left in the game that are the result of the fact that I don’t really like trigonometry. Writing the AI for the second player was difficult enough on that part, and I didn’t have any mental power left to get those pesky collision problems resolved. Next time I would rather use an engine or a library of some sort and save my time for more fun things.
It is not that difficult to find time to make a game even in the most scrambled schedule.
I like programming interfaces, inputs and user interactions, but I don’t like designing graphical elements. So much time lost, such poor results…
I like implementing game logic, AI, and balancing things for a better experience. But I don’t like dealing with small things like asset loading, collision detection and other things that are usually automatized. They are just in the way!
In order to finish a game on time, you probably should kill your inner perfectionist. Or at least knock him unconscious for a while. This was the biggest struggle of them all.
The name for this site was bugging me for quite a while. Exploring gamability is a cool name and I was very happy with it at first. The problem with it is that my initial idea for this blog was to post my thoughts on games and game design. What I find well designed and why, what are the reason why some games are so enjoyable for some people and don’t work for others. I would try to explore this topic in details. Only I didn’t. And I am not going to, because I am not very good at it. There are many blogs about game design, written by far more experienced people than myself.
But there is no blog about me and my projects. There wasn’t, until recently. Now the blog’s name reflects the content properly. This is about me and games, and me making games with my friends, and my games. Done.
After the game jam three of us decided that since we had so much fun and the result happened to be great, we need to continue making games together. Well, we failed. And then we didn’t. Let me explain.
The first week
We have an awesome idea that includes time travel, surrealism, and a strong psychological element. We enthusiastically discuss it for half a day, trying to make sense of each other’s visions of the end result. It is going to be so great! We seem to lack only one thing – a solid story, without which the desired game is impossible. But we are eager to come up with one during the next week. And as soon as we have the story we will be able to start working on the game itself and test all the crazy mechanics we came up with.
The second week
We don’t have a story and it seems that none of us is able to create a good enough one for this undoubtedly awesome game idea. For some reason I almost expected this to happen. We were too ambitious, we luck certain skills, and we put ourselves into a situation where failure was most likely.
It is easy to get discouraged and drop everything when you encounter a problem like this. But we want to make games! Maybe that great idea was untimely, maybe we need to start small. We must try and make at least something.
So we decide to take a little piece of what we initially wanted to create, a tiny bit of all the complex mechanics, something very easy and well explored by other games. Like point and click puzzle games. Like room escape games.
The third week
We’ve done some research on room escape puzzles. Most of them are horrible and unplayable, but some of them are very inspirational. We concentrate on those (keeping in mind the horrible ones to avoid the mistakes), we play them, we try to understand how they work. Ir runs pen and paper game design analysis. She comes up with a story. I study a new game engine. We have drafts. And sound recording plans.
I think now we are moving somewhere. I think we are going to make it. And it makes me very happy.
I will most likely post updates every couple of weeks or so.
PS The games that inspired us are made by Rusty Lake. They know how to make good room escape games (although quite creepy at times).
I was silent for a while, but it doesn’t mean that nothing is going on. On the contrary. And a lot of that has something to do with games. Here is an update on what I am doing right now, game-wise.
One game a month – October
I am learning a lot about game logic, simple 2d physics and collisions, game loops, asset uploading and so on – things that you generally don’t need to know if you use an engine, but they are nice to understand if you want to be a proper game developer.
Team project – Escape Puzzle
Three of us are making a new game. It is going to be one of those room escape puzzle games, where you need to look for things and solve puzzles in point and click manner. I am studying Godot game engine for this, because it is free, it looks nice, and it almost has working exporting to HTML5 (or so they say). And I love the way the documentation is written.
I think Unity3D is an overkill for a game like this, and it is generally not a good choice for a browser game. Plus learning new tools is fun.
Thesis topic wanted
I decided that for my master’s thesis I will go with computational creativity (sub-field of AI studying how we can make computer programs more creative). And, of course, games. This cross-over might include things like procedural content generation, advanced AI for games, game development smart assistant tools and so on. I am reading lots of scientific papers and trying to think of all cool things I can do during the next six months. Unfortunately I need to choose one.
While making a game prototype can be done in 16 hours of pure team focus, fixing all the tiny fixes took more than 2 weeks. Thereby I announce the project completed and case closed. All planned changes are done: you get a random level, everything falls where it should fall, game pauses and exits like a normal game, timers go, and even most of the grammar mistakes are eliminated. There is even a secret feature of row deleting.
The game can be played online (no Chrome though) and on Windows. Web | Windows
Takeaways and postmortem
Don’t name gameObjects and scripts the same in Unity. At some point I managed to make the whole editor to crash on play without explanation, and only careful renaming solved the issue.
If you want some text in your 2d game to appear at an exact place on the screen, don’t use 2d-text, use 3d. Counterintuitive.
One needs to think more about game balance. It appears that opening the color of the block is always a better strategy and the other option goes unused. I added the normal tetris mechanics starting from the second row (although it goes unmentioned anywhere in the game), but anyway, it feels quite pointless most of the time.
I love finishing things and to call them done.
Chrome doesn’t do all the things and therefore cannot be considered a superior browser anymore.
So, quantum game jam, hah? It was borderline awesome!
Apparently, it is not so impossible to make a game in such a limited period of time, even without much of experience. Game Jams are said to be 48 hours in general, but ours started very late on Friday, and we had to postpone actual work till Saturday morning because everyone was too tired. And the deadline was at 15 sharp on Sunday.
We had four people on the team, only myself being capable of making things in Unity. So I became the coder (all bugs are on me). My awesome friends Nicola and Ir did graphic design and other things. Much of which was discarded in the process due to the communication or technical problems… Mikko the quantum physicist was basically designing the game around our initial idea and coming up with quantum ideas. And bringing us chocolates. What would we do without him?
We wasted some of the time due to the lack of experience, but still managed to finish the game. Well, what exactly do I mean by finishing?
The game has a story and motivation.
It has instructions.
It has a gameplay with specific mechanics. The jam theme was “Quantum Rules”, so we have some of those.
It has pretty design.
It has nice sound.
There is a goal and clear win and lose conditions. And an ending.
Of course, it has bugs. And sure, it is my fault. Just like sprite animations Nicola spent so much time on, but we couldn’t use because I didn’t know the process and there was no time to learn. But still, come on, first game jam ever, the second finished game. It is finished and it is a win!
The gamejam version with source and executable files can be found on the official page.
Here is the video of the game.
As I mentioned, the game has bugs, some of them are quite critical, some of them are said to be features while they are really not. I am now working on the post-jam patched version of the game. Here is the list of things I want to fix, change or implement, in order of priority.
Quantum timer doesn’t show decreasing probability. This is quite bizarre, because inside Unity it works, but freezes in the build. I have to go through the scripts and make sure there is nothing fishy.
Particles don’t fall. At first we didn’t think about it. I started with classic tetris mechanics, this is where it comes from. Then we decided that it doesn’t make much sense in combination with color/shape “quantum” uncertainty, since in tetris color doesn’t matter. And so we added match-3 logic. At which point particles should start always falling instead of hanging in the air. There was not enough time, of course.
Collision bug. Like in tetris, when pieces reach the upper border, you lose. It worked until some moment in the development, now it is very much broken and crazy things happen.
Slower particle elimination. I mean, now they just pop. I actually have a piece of code that adds a delay so you can see what is going on there. But it caused some very crazy bugs we couldn’t ignore, so I commented it for later testing.
Random level initialization. Yep, the one we have there is very much predefined. I couldn’t make the GameObjects to instantiate properly and there wasn’t much time, so I just placed things in the level manually. Anything for finishing the game.
UI things and sounds. Minor adjustments like slow music change, in-game text messages (hurry up, you still can save her!), bonus sounds, pause, reset, proper exit (are you sure you want to leave Mu here?).
At some points I was thinking that we really lack a producer who could go and check what exactly everyone’s doing, stop them and tell what is necessary to do right now. But probably next time we can do it better ourselves. It is important to ask yourself and each other what is the most crucial part of the work and what are the priorities. What must we do and what can we go without if we don’t have enough time? I had to say no many times, because I knew that I won’t be able to implement this particular thing in a reasonable time. I had to remind people, that we don’t need perfect, we need something right now. But otherwise my team was perfect and I could just dive into coding (and even get help when my brain stopped working).
Stick to the minimum, especially when it comes to coding or trying new things. There will be no time to get all those awesome ideas done and tested. Take one, maximum two and build around them.
Dirty hacks and playable game are better than clean code and an unfinished thing. Do whatever it takes.
Have all the tools ready. You don’t want to spend precious time installing software. Especially if it is video recording/editting app and you have one hour left to make the demo and upload all the things.
Everyone should do what they can do best. If you have an all-rounder, it’s better if he/she fills a gap and doesn’t try to do everything else as well. Multitasking isn’t very efficient.
It was a great test for our newly formed team. We decided to continue making games together. Three of us have all the basic skills that are needed to make a game and nothing can stop us. =)
There was another takeaway from the conference that I haven’t mentioned.
I signed up for my first game jam!
For some reason I always thought that (a) you need a team ready (b) you need to be super good. I was wrong. Apparently, you can come without a team or great gamedev experience (if any). Maybe those beliefs are not entirely incorrect and one gets more out of a game jam this way. But you need to start somewhere. And a small game jam for 30 people tops sounds like a perfect occasion to expand your comfort zone.
However, I did what I usually do when I don’t know what to do and what to expect.
I googled “how to game jam”.
Apparently, one of the biggest problems is making the game small enough and cutting off all the brilliant ideas that you came up with. I am not new to this. I actually consider myself to be rather good with abandoning anything that cannot be achieved.
Another thing that got my attention is the impact of adding music and sounds to the game. They say that perceived quality of a game with sounds is much higher than of one without. It makes sense to me, and I intend to allocate some jamming time to basic sound design. Right after having the very first working toy prototype.
And, of course, the point is having fun. I am bringing two of my great nerd friends with me, and the place is a cool science museum, so I don’t think we will have any problems with fun. =)
I am going to post quite a bit on twitter and instagram in the process. You can follow me there if you are interested.