Skip to content

Archive

Category: Game Development

The Swedish gaming blog blogemup interviewed me. Here is a translation:

Blog’em up: Tell me about SpeedRunGames. Is it a one man show?
Christian: Yes, I’m the only person behind SpeedRunGames.

Blog’em up: What’s your history? What have you done prior to Grappling Hook?
Christian: Right now I’m still a student for Computational Visualistics. Last year I’ve worked as an intern and employee for Replay Studio on Velvet Assassin.
I wanted to be a game developer since 2001, so I’ve created a couple of small projects in the past, that prepared me to do Grappling Hook.
There is for example a game for mobile phones called Gladiator. I used some code of this old project for the level-animation-system in Grappling Hook.

Blog’em up: How long have you been working on Grappling Hook?
Christian: I’ve started working full-time on Grappling Hook in march 2009, after I left Replay Studios.

Blog’em up: How did you come up with the idea?
Christian: The Half Life mod Cold Ice was the main inspiration. I loved the feeling of acceleration and velocity in this mod. Grappling Hook is my try to create this feeling and enhance it. I think the spatial puzzles are perfect to encourage the player to explore how the grappling hook can be used.

Blog’em up: Grappling hooks in general seem to have a revival as a video game feature with games such as Bionic Commando, Hook Champ, Grapple Buggy, Just Cause 2. What’s your opinion on these games?
Christian: The grappling hook is a great feature, because it is mighty, fun, and extends the ability of the player to explore a game world in a very fundamental way. It also encourages players and designers to be more creative than with regular weapons.
It is great to see how different a grappling hook can be used in games. The movement in Bionic Commando with the hook feels limited, but you can use the hook in the fights as well. Just Cause 2 extends these possibilities. And hopefully the hook allows more freedom in movement, too.
Hook champ looks like real fun: high speed grappling hook and Indy hats! In Grapple Buggy the hook is more rubber-like.

Blog’em up: On your website you’ve published a “mission”. Can you tell us about that? Why did you publish it and what reactions did you want to spur?
Christian: The mission statement is a collection of the most important things I’ve learned about game development. It helps me to avoid doing the same errors twice and stay on track.
Everyone makes his very own experience developing games, but I hope that my statement helps a few developers out there to understand their experiences a bit better.

Blog’em up: In the mission/manifest you write “Always focus on the feature that is most important to your game” and “Drop all ideas which do not fit into and support the vision of the game.” Is this a reaction to the industry’s feature hysteria or is it just a friendly advice to your fellow indie developer?
Christian: In 2007 I’ve developed an edutainment game with a fellow student. We started with an extensive game design, but at one day we decided to reduce the entire game to one of the mini-games, because this was the most fun part. This was the best decision we made during the entire development. It improved the gameplay experience a lot and even reduced the remaining work to do. In another project I saw way too many features implemented and that weakened the core-features.
So I don’t say, that all games should have only very few core-features. I just know that it works best for me, because I want to finish my games and only have a limited budget and time. I’m pretty sure that a game designer at say Ubisoft with a lot more developers available thinks different.

Blog’em up: Both the mission and Grappling Hook seem to address that games should focus on doing one thing great rather than several things poorly. Has this something to do with SpeedRunGames being a one man show and therefore making it difficult for you to take on several different roles (programmer, designer, artist, musician etc)?
Christian: Yes, I try to keep the amount of work low, so I can finish the games in a reasonable time. Staying focused is one way to achieve this. Other ways are to work within the limits, looking out for loopholes, dropping bad ideas early and investing at least the same time in thinking than in working.

Blog’em up: Germany is known for being “anti gaming”. How is it to work as a game developer in such a climate?
Nintendo, browser- and casual-games have broadened the audience for games in the last years and this has a positive effect on the climate.
Christian: When non-gamers talk about games, they talk about violence in games most of the time. Personally I don’t like it when games feature violence that exceeds the amount that is really required for the game to be great. On the other side struggling and fighting is part of the human nature and there is no point, why games shouldn’t reflect human nature just as much as other forms of media do. I’m sure that time will solve this issue, so that games will be treated like movies.
Another discussion is about addictive games. I think this is a problem, because there are games that are designed to be addictive and keep the player playing for as long as possible. Most of these games achieve this by giving the player an illusion of success. This means the player achieves nothing, but he gets rewards for just playing. I don’t think real joy can be born out of this. The player is just occupied and wasting his life-time. However, such games are probably not worse than some shows on TV.
In general I appreciate critical discussions about games, because they will help games to evolve in future, even though some statements seem ridiculous sometimes.

Laura Shigihara, a game designer and the composer of the “Plants vs. Zombies”-music, asked me about the level design process and I want to share this with you.

1. The Idea
Every puzzle, situation, or experience for Grappling Hook started with a simple separate idea.

My first puzzle ideas had been straightforward. I just thought about, how the Grappling Hook could be used.

Some puzzles are inspired by other games, like Mirrors Edge, Portal, Braid, Super Mario, …
This is interesting for me, because the game mechanics are very different and it is somehow an experiment, where I want to see, if the grappling hook is powerful enough to solve these situations.
The “Compactor” level for example, was inspired by Super Mario and Star Wars.

All of my favorite ideas for puzzles were born during playing. I love to watch how other people play the game. In the first month, almost every tester played the game different. Even later some testers explored new ways, how to use the Grappling Hook.
It also happened more than a few times, that I explored a new move/trick just by chance. The strong use of air-control to jump around corners, accelerating with the hook just by clicking for half a second, or “bouncing” off walls are some of those tricks.
This was always most exiting, because the game was already able to perform these tricks, but I didn’t know it was possible. The exploration of these new possibilities and later creating quests, that required the “new” features to solve the quest, was really a lot of fun.

2. The Sketch
For most puzzles I’ve created a simple sketch.
These are some of the first sketches with level ideas I’ve made for Grappling Hook:
level_design_sketch02
Everything blue is level architecture. Red marks surfaces, where you can use the hook. Green is the path of the player or how he has to use the hook. Z is the target ( German: Ziel ).
At this time no dynamic level elements were planned and I have not even thought about a concept for the level-editor.
continue reading…

The level-editor tutorial for Grappling Hook is available:
Tutorial: How to Create Levels for Grappling Hook?

It explains everything you need to know, to create levels that use all features of Grappling Hook. You can even add your level with a screenshot and challenges to the game-menu like the original ones!

Please ask questions and give feedback in the forum.

I’m a student, not rich, without a second job, and without a publisher, but I love to create games.
So my project-budget for Grappling Hook was almost zero, but fortunately, there are some great freeware and open source projects.
I will present you every tool that I have used during the development of Grappling Hook.

Java
I already wrote an article about, how great Java is for game development and my opinion has not changed since then.
You can find the article here.

Eclipse
Eclipse is a great free IDE. It offers syntax-highlighting, code-completion, refactoring-tools, a debugger, Java-doc-generation, good search-tools, code-formatting, neat-project-overviews and a lot more.
I had to work with Visual Studio and I wished every day, that it would be at least half as good as Eclipse. With Visual Assist X things get a lot better, but you have to pay for it.
Good alternatives: NetBeans

jMonkeyEngine
The jMonkeyEngine is a general purpose engine written in Java. It is build on top of LWJGL and offers a scene-graph and many cool features, for example shaders, terrain, particles, shadows, many model formats .
Some features are missing like a good physics integration, but the community is working hard on it. The community is one of the best I have ever seen. They are active and very helpful.
Beside Grappling Hook, there are other commercial projects using the engine, like Mad Skills Motocross or Bang Howdy.
When you are looking for a free engine to develop a game, you should definitely evaluate the jMonkeyEngine.
Good alternatives: Unity, Panda3D, Ogre3D
continue reading…

Hey guys, 🙂 Grappling Hook is written entirely in Java and based on the jMonkeyEngine, which is also a written in Java. I want to explain a bit, why I think that Java is currently one of the best programming languages for game development.

1. Java Is Fast

Yes, that is the truth. Many people think that Java is slow, because it was, in the beginning. But things have changed and when you look at current benchmarks Java is in average only twice as slow as C/C++.
When you want to make Crysis 3, then it would be no option to write the entire game and engine in Java. But competing with huge companies like Crytek, Epic or ID Software makes no sense for a small indie team at all, from my point of view.

2. Eclipse Rocks

I had to work a long time with Visual Studio and also tried some other IDEs and text-editors, but none of them was such a good, stable and helpful tool as Eclipse is for me.
Right now Grappling Hook has more than 100 source code files so I need a good tool, which supports me. Code completion, syntax-highlighting, refactoring and a powerful search function are essential for a high development speed.
And this features work perfect in Eclipse, not like e.g. IntelliSense in Visual Studio for C++. While working on one big project I had to delete the IntelliSense database every day by hand to make it working again.

3. Extensive And Stable Library

In game development you need different kinds of data structures and containers, like linked lists, vectors, trees… You also play much around with strings and need many mathematic functions. In the Java library all this and much more waits for you. You don´t have to search new libraries for all this basic stuff.
Most of it is has also a good interface and is easy to use. In the current Java version you didn’t even have to care about iterators and can use them like in Python:
for( Element e : list) {
// Do something with the element e
}
Thats really nice, because I iterate a lot through different kinds of data structures. ( But be careful doing this every frame multiple times, because every iteration needs a new iterator-object. )

4. Managed Memory

I am not the best C++ programmer and destroyed the stack of my applications multiple times. It took me hours to track the problem and in some cases I didn’t find it at all. In Java and every other language with managed memory you simply don´t have such problems.
Memory leaks are also not that bad, because of the garbage collection. Garbage collection doesn’t mean that you have no memory leaks at all, but they are not such a bit issue and with the built in memory profiler they are easy to track.

There are many other small points, why a like Java for game development, but that were the most important.
Java is not my favorite programming language for every task, but in game development I am 4 to 6 times faster than with C++. And being able to develop fast is very important to me.

What is your favorite programming language for game development and why?