Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 10 Nov 2006
Offline Last Active Today, 03:47 AM

Topics I've Started


23 June 2015 - 12:45 AM

I'm looking for some ideas for landmarks or point of interest in a dungeon game and hope for some input.


Sofar I have three settings, a castle setting, natural cavern, and sewers. As landmark I understand an unique visual object, easily recognized by the player, without any game relevant impact. Just as something to remember a location or to refer to it. Here's what I've come up sofar

Castle Setting
- throne
- tomb
- well

- statue

Cavern Setting
- archeological excavation
- skeleton (giant, dragon)

Sewer Setting
- ???


The game is like a roguelike (very structured setup),viewed from the top , here is a screenshot:


Multithreading using wait/notification mechanism

18 May 2015 - 11:16 PM

Ok, I optimize my multithreaded code from time to time, mostly removing mutex variables and using lockless atomic operations instead. Now I'm at the point, where I need to exchange my quite crude "wait-for-action" code, that is a worker thread is waiting for an event to start processing, here is the terrible pseudo-code of semi-busy-waiting:

next_job = NULL;
   next_job = getNextJob();
   // still nothing to do
   if(next_job==NULL) {

... do the work...

This is no rocket science and it has many disadvantages (like 15ms sleep intervals on older OSs, if not reducing the interval length manually  to 1 etc.). So, I want to change this to a wait/signal and atomics mix, something like this:

next_job = NULL;
   next_job = getNextJobUsingLocklessAtomics();
   // still nothing to do
   if(next_job==NULL) {

// somewhere else in the code,where a new job has been added

I've searched the MSDN for some useful OS functions and it seems, that latter OS version have added some useful stuff. Still, I'm unsure what to use in a hi-performane,real-time application like a game. Maybe someone can enlight me with some wisdom regarding the following questions:


1. Is there some stuff which is good and supported by old OS version (WinXP) ?
2. If not, how can I write code, which use newer OS version stuff, but which can fall back dynamically to an alternative implementation on older OS versions  (WinXP ? Vista?) ?
3. The delay between notifcation and waking should be as short as possible (15ms delay would be deadly ).
4. How do I avoid a racing condition without using some mutex/semaphores/critical sections in this case ? Something like an atomic conditional wait, maybe workerNotificationObject.waitOnlyIfObjectIsNotNull() ?

Need some tips and tricks to hunt down a bug

12 May 2015 - 11:20 PM

I have an annoying bug (crash) which I need to track down. I would love to hear some trick and  tips which could help me tracking it down. I'm a java developer and I'm only coding C++ in my sparetime, therefor there's enough potential to give me some tips wink.png

I know the rough bug trigger, but the bug only occurs really seldomly, in about 1 of 100 events only. So, the exact trigger and context is unkwnown. Debug mode will not do, because the execution in debug mode is way too slow (this might be an other issue). The trigger does not result in an immediate crash, the log file shows other "random" output, so I guess, that the trigger only manipulates data which will lead to a crash in an other component later on. But the crash seems to occur in the same frame at least, maybe a nullpointer and hopefully not a stack corruption.

The biggest issue is the reproducibility, with a 100% reproducibility I could narrow it down. An other issue is, that I do not have a stacktrace or know in which method/function/component the error occurred. And last but not least, the code is multihtreaded.

What have I done sofar ?
Well, I got ProcDump, started the game with it and  somehow it changed the gameflow (timing/preformance ?). Nevertheless, after recompiling/cleaning the whole project (debug output generation enabled in release mode), I was able to capture the minidump(+heap) after the exception occurred, but as said, after the crash so it does not contain any information about the stacktrace, right ?  All, but the main-thread seem to work (better said, wait for work), thought I was not able to identify the code in which the main-thread is after the crash.

Ideas ?
I need some regression test to reproduce the error automatically, like starting game with ProcDump, loading save game, waiting until trigger occurred (30 seconds), end game, restart again. Are there any (free) tools which allow recording and replaying keyboard/mouse input for this task ? Or is the common way to code this directly into your game ?

So, how to capture the stacktrace ? When I start the game with ProcDump (option -e) enabled, I will get a minidump with the stacktrace where the exception occurred, right ?

Other tips/tricks/tools ?

So, what happened to god games ?

28 April 2015 - 12:00 AM

Over the last two decades god games almost vanished completely, but why ? I loved all the old god games like populus or DK, but similar to RTS games which have a hard time too, god games just seemed to disappeared.


Is it, that they are too complex, that they are hybrid of several other game genres ? That they are difficult to port to console (like RTS games) ? That they were never really successful, thought they have a loyal fan community ? No modding community ? To boring ? No competive multiplayer community ?


When regarding RTS games, then there are at least still some big names around (eg SC2), but what about god games ?


What do you think ?

The Test Corner (idea)

17 April 2015 - 12:47 AM

Just a thought...

Lately I must think about how to get your indie game as hobby-no-name developer tested. My experiences with players who test your game are rather poor. ~4000 downloads => ~50 comments => ~15 tester => ~3 who gives useful feedback.

But I think, that I'm not alone, that many hobby devs seek testers, so what about testing each others game. I know, as devs we don't have much time, still we are forced to test our own games all the time and we develop a tunnel vision over time. So, with some clear, simple rules it should be possible to test each others game and give some useful feedback. Maybe not representative for a larger player community, but atleast
an other view.

A major issue of this approach would be 'But, how do I prevent that developer X steals all my unique ideas ?'. Well, I would want to avoid something like a NDA or some other legal process. Most will be covered by copyright and the potential license your game already have. If you want to avoid that a certain idea is not used by others, then either disable this part in your test-build or don't ask for testing. Think about a public beta restricted to a few dev-testers.

A game testing project could look like this:

General requirements:
- Your game can be downloaded without barriers (no registration, eg. use dropbox links).
- Your game should not require compilation or other uncommon kind of preparations.

- The tester don't need to sign a NDA.
- You should be the owner of the game and game content.
- The tester should not talk about the game in the public, and he should respect copyright and given licenses.
- As tester you should describe your own game in this thread.

Game: Xyz
Download/Contact: PM me to get in contact and a download link
Requirements: Windows, dedicated GPU(<6 years old), just install it, maybe you need to install DirectX, if not already installed (see readme).
Gametype: strategy game much like X or Y
Expectation: Please install and play the game for ~1-2 hours and give me some feedback.
Focus: please focus on the general gameplay and game feeling. Feels it right, do you like it, what is boring, what is fun ?
Offer: I will test your game for ~1-2 hours and give you feedback.
Preferred games: I like FPS,strategy,turn based games, I never played casual games, I can test only on PC.

Opinions ?