A few important Tips for new Game Developers

So you would like to create a game, and probably also earn a lot of money with it?

As developer of a commercial game engine (and probably better known for that once popular open source 3D lib), I have a lot of contact with new game developers. I also created commercial games completely on my own (6 until now, this one here is my latest attempt) and about a dozen as part of a bigger team, so there are some few tips I have which new game developers might find useful:

Make Backups!

About once a month, a game developer contacts me, telling me about his deleted / destroyed / lost game files. They usually deleted important files by accident, the disk stopped working, a virus encrypted the data, or similar. Months and months of work completely lost. In the beginning I was baffled that these people haven't made backups, but apparently, this seems to happen more often than I thought.

For god's sake, please, people. Make backups. You don't even need some sophisticated system for this. Just copy your important game data regularily onto an USB stick. Or to another PC. Or burn it onto a DVD. At least do something. It only takes a few minutes but will safe your ass.

Plan for Failure

Game development is a very risky business. Only some very, very few games ever make a profit. You are lucky if you will be able to pay yourself a minimum wage by selling your game. Don't put all one's eggs into one basket. Don't quit your job and take a mortage to work fulltime on your game. Thinking of all the games where my software has been involved in and where I have a bit insight into, I estimate about 10% have not been financial failures. Your numbers might vary, but that's what I experienced during the last 10 years.

Finishing a project

I've seen dozens of cool and interesting games which have been created with my game engines, but which never have been made public. In most cases because the developers have lost focus and interest or just stopped working on it, which is a pity. Finishing a project is not easy, and the last 10% are always the hardest part. But there is a simple trick:
The best way to ensure you'll be able to release a finished, working project is this: Start small. Don't plan a huge game with and endless list of complicated features. Create a small, working game, and iterate from there, by adding more features to the existing, working game. That way, you can always stop at any time, bundle the thing you have and release it. Even if you haven't added everything you initially wanted.

Use an Engine

For all my games, I've created all the code from scratch myself. I've written the graphics renderer, audio engine, collision detection, user interface, io, model loaders, input handling, everything from scratch in C++. But today, this is a bad idea. It is a lot of work, and you'll be spending a year or more with this, instead of focusing on creating the actual game. Today, there are lots of game engines out there. Just choose a fitting one for creating your game.

Development is only half of the work

I often get criticized for my opinion on this, but I'll repeat it here: Once your game is finished, you still have about half of the work to do. You need to do marketing. And it is as difficult (or for me: even more difficult) as game development itself. Without a lot of work in marketing, your game won't usually sell. You probably hope for an automatical viral bump via social media or similar, but usually, this won't happen. It is unlikely that people will find your game themselves. And of course: Lots of people will tell you that you should have started with marketing even much earlier to begin with. When your game is done, it might even be too late to start with marketing.

Most points I've mentioned here are pretty basic, but a lot of people don't seem to know this. If you are interested, I'll write up some more generic game dev articles with more interesting stuff in the future, just let me know. Ah, and I forgot the shameless plug: Try my game engine CopperCube! :)

A guy with a stolen iPhone walks into the Apple Store

I just sent a user this story:
A guy walks into an Apple Store and complains that the display of his iPhone sometimes flickers. He wants it repaired for free. The Apple store employees tell him OK, but three days later, they call him, asking him if he bought the phone in this store, because they cannot match up his Apple-ID with the phone. He then admits that he had stolen the phone, from their store, a few weeks before. But he still wants them to repair the phone. For free.

What do you think now happens? Will they repair the phone for free?

While Apple might not have conversions like this, I get this all the time. Also, for game developers this is a known phenomenon. I create specialized software (like this responsive website designer, or this WebGL 3D editor), and I get support requests which are a lot of work. I usually need to debug code for looking into them and it takes a lot of my time.

And in a lot of cases, I discover that this user is using a stolen version of my software, but still has nerve to file a support request. I wonder what I should do in this case. Not answer support requests like these?

I also wonder what these people are thinking. Probably not much? Anyway, for now, I usually still help them to fix their problem, and tell them afterwards that it would probably a nice idea to buy my software instead of pirating it. Which, in a few cases actually happend then. But still, maybe I should change my attitude towards this behavior?

CopperCube 5.7 released

I just uploaded CopperCube Game Engine in version 5.7. There are a lot of nice new features included:

For a detailed list of changes, see here. It is now possible to create a lot more serious and bigger games with the engine. I personally like the fact that the new shadows feature also works so smoothly with WebGL. Will have to update the CopperLicht WebGL library as well in a few days.

Android Studio Madness

I know, I'm old. I prefer old, fast tools which don't use much memory. I'm probably out of the loop. But really, I think it is really difficult to explain this:

Dear Google, what is wrong with you?

Combining lighting methods

I'm currently in the process of finalizing the support for shadow map rendering into the CopperCube Game Engine. For game engine users, this will work as easy as everything else in CopperCube: Just check a checkbox, and voilą: You now have nice dynamic shadows in your scene. It will even be possible to combine this with the existing other lighting modes:

On the image above, you can see two concrete blocks. The left has the new dynamic shadow mapping mode enabled, the right one has static precalculated light mapping enabled. Both have advantages and disadvantages: Shadow maps are dynamic but don't run fast on old hardware, and need some parameter tweaking in most scenes in order to look nice everywhere. Light maps are static, but are blazingly fast and usually always look quite nice. So with the next free update, you will be able to choose which lighting method you want to use.

The Craziness that de.Wikipedia has become

I've been creating and editing Wikipedia articles casually since one and a half decade. I guess I created a few dozen, and edited a few hundreds. But today, I decided to stop doing this on de.Wikipedia, the german version.

The reason for this is that unlike en.Wikipedia, de.Wikipiedia is becoming crazier and crazier. Admins are going mad there and restricting edits and deleting submissions where they can. This has been the case for years (I remember ridiculous discussions on Wikipedia around the Irrlicht Engine article even about a dozen years ago), but during the last months, I think it has become even more ridiculous.

For example, I extended a hopelessly out-of-date technical article one month ago with quite a lot of stuff. Problem: After a change of an article, it needs to get sighted on de.Wikipedia in order to become public. In order to prevent vandalism and incorrect data. (This feature isn't active on the english Wikipedia, BTW.) Probably because the topic is a bit specific, and there are probably not many people knowning much about it, this article hasn't been sighted now for a month, and my update isn't visible still. Which is not only unacceptable, but ridiculous.

There is even a statistics page for this: The average sigthing time for a page is currently 17 days! Somebody is clearly out of his mind.

So in an attempt to verify all changes, or make sure that everything is correct, de.Wikipedia is accomplishing the exact opposite: Authors get frustrated, articles are getting out of date quickly, and updates are prevented.

So that's it for me. Good bye de.Wikipedia. I know I'm not the only one. de.Wikipedia has a problem with Autorenschwund since a few years. But it doesn't seem to get better by introducing new rules. I'll keep my changes now on en.Wikipedia, although it is a pity: I only do minor changes there since english isn't my native language.

RocketCake 1.5 released

I just uploaded RocketCake 1.5, the free responsive website designer. It now includes a built-in password protection system, so that you can enable password/login on your websites with just a few clicks easily.

There is also now a quick way to reload all images, tons of new templates, improved slide shows, better web editing, and more. See the changelog for details. It really has become quite a mature product now, and I'm surprised at how many people are using it.

But no need to rest, it's probably time for a new CopperCube release. :)

Postcollapse 1.09

I've now uploaded the 1.09 update of PostCollapse to Steam, the one with realtime shadows support. I've also created an updated trailer:

Also, it is very motivating that the game is apparently not so crappy anymore:

Shadows, shadows, shadows

Boy, adding support for shadows into an existing multi-platform 3D engine with tons of features isn't exactly easy. But I think I've now nailed it down. To make it work with a real-world example, I implemented this into the PostCollapse game. And - altough they are very simple shadows without any fancy features to make it run on as many systems as possible - it looks pretty nice! See this comparison for example:

Also, since that game has a lot of moving vegetation, you see shadows on walls of buildings quite a lot:

Going to update the Steam version with this feature in the next weeks. Adds a lot to the atmosphere, I guess. Merging this into the CopperCube Game engine should now be a piece of cake. But let's see.

Stolen Resident Evil Asset

A user just sent me this cool free 3D prefab for CopperCube:

stolen resident evil castle model

Pretty cool, right? But obviously, that's an asset stolen from the Resident Evil game. Not sure what the motivation for sending this in could be. Malice? Ignorance? Simply not knowing it any better? Not sure.