All posts filed under: Game Development

All Good Things Must Come To An End

Today, I brought myself to a decision which was overdue. I spent the last five years or so hanging around in a neat gamedev IRC channel, and the last four or so with founder access level (which is the highest privilege one can have in such a chatroom). The channel was a place of relaxation, chitchat, and sometimes even interesting ontopic gamedev discussion, and these guys really meant alot to me – all of them. I liked even those ones who sometimes were a real pain in the neck, and sometimes I really had to laugh in front of my tube when I had to admonish them at the same time. I always joined this chat if my PC was running, regardless whether I was coding, playing, writing, learning, or, of course, chatting. I spent some 10000 hours online with my latest mIRC installation, always with these guys, in this one chatroom. Actually, these guys even “survived” several ex-girlfriends! Although there were some differences from time to time, all the 40 or so regulars stayed, …

Weekend Gamedev

I’ve done a huge refactoring of our game project, DVW, over the weekend. One reason was that I could not see the GUI code anymore. It was a mess! Most of the stuff was about four years old, and it looked like 40 years old or so. So I was spending the whole Friday night to rearrange things, move attributes and methods up to the parent class, remove some redundant stuff, and I even killed about 1000 lines of code by simply removing some GUI controls which were not used any longer and which were buggy as hell. The main reason was that I am currently writing the main menu code which is completely controlled from a Lua script. I didn’t want it to be hardcoded, because I don’t want to be the one who needs to do all the fine tuning with all the visual effects we’re going to have. We have people who are much more talented with this detail work. I wrote a state machine which supports multiple states at once, so …

Why patents suck

I found a great example why (software) patents suck on the IGDA homepage, and an oppressive feeling arises when I imagine what lawsuits like this mean for game developers and software engineers in general if the claim is admitted. A short excerpt: There is an ongoing patent litigation case in the Eastern District of Texas of interest to all developers because of how broadly the Plaintiff appears to want to apply the claims of the patent. In this case, American Video Graphics, L.P. (“Plaintiff”) has sued sixteen game publishers, alleging that these defendants infringe AVG’s [patent], “Method and Apparatus for Spherical Panning.” […] Plaintiff has identified over 1000 accused games, which Plaintiff alleges infringe their [patent]. IGDA is now desperately searching for prior art to invalidate the patent. Read the full story here.

Exceptions and Stacktrace in C++

Today I was discussing about how one could implement a stacktrace in C++, where one has not the luxury of Thread.dumpStack() or Throwable.printStackTrace(…) of Java. The general C++ approach one finds often is to create a dummy object on the stack at the beginning of each method which receives the current file and function as constructor parameters (using the __FILE__, __FUNCTION__ and __LINE__ macros) and stores them, i.e. increases a list pointer and saves the const char* at the resulting position. As soon as the object gets destructed at the end of the function, the list header pointer is decreased again. So, my first implementation looked like this: The first test with an exception I threw somewhere deep in the call hierarchy of my program revealed what one has to remember about exceptions: objects that exist on the stack at the time the exception is thrown are ordinary destructed. So, the d’tor of my CallStack object was called, too, and current was not pointing to where I had expected. So I had to mark the …

Christmas Code Contest

We held a little gamedev contest between christmas and sylvester, and I handed an entry in, too. The goal was to create a little game using graphics from Reiners Tilesets only. This is a screenshot of my entry. The programming language was unspecified, and so I decided to write a little MMORPG (Minimal Online Roleplaying Game) in Java. I had no time to test it in the Internet and found out that it’s nearly unplayable online, later, but it’s quite nice for LAN playing. The goal is to collect all gems on a map in a limited time, and to beat all collected gems out of your opponents with your sword. The entry and the other contributions, all with full source code, are available for download on the #gamedev.ger contest page. Sidenote: I recognized that there seems to be a difference in the behaviour of the KeyboardActionListener under Windows and Linux, but I won’t investigate this issue further. If you have strange effects while trying to walk around with your character, you most likely just …

And the beat goes on …

I had to recognize that the amount of entries in my personal worklog at sechsta sinn dramatically decreased since we returned from Dusmania 6.0, June 19th/20th. But it’s not only me who became slower, as it seems. We made plans to speed up the development of our game, decided what to do the next twelve weeks or so, and were full of beans. Today, about ten weeks later, virtually nothing happened. Yes, we did do some planning, all of us coders did do some code, and the graphic artists did work on some gfx stuff. But it was nothing compared to the amount of time and the potentials we had. Although the discussion we had that Sunday outside of the Dusmania halls was quite lively, it seems like it revitalised our motivation only for that one day. After we went home after this weekend everyone seems to have fallen back into his personal lack of motivation. One point indeed is that our project lead Jochen is currently busy with relocating to Finnland for some time, …