PDA

View Full Version : 2006 PGD Annual: Stage 5 feedback



Huehnerschaender
24-04-2006, 10:54 AM
How is the judging going?

Only 13 days left....

Greetings,
Dirk

Eric
24-04-2006, 12:06 PM
How is the judging going?

Three left to go for me, plus a question to WILL on where to draw the line for goal completion.

I've got a fair amount of comments on bugs/issues ready for all the entries however, so I may publish those before the scoring (minus goal completion remarks).

Huehnerschaender
24-04-2006, 12:17 PM
Perfect...

The last two weeks will be hard enough... I am afraid I won't have enough time if the hints/bugs/reports of the judges contain too much to handle when they are published a few days before the deadline...

Good work Eric. Can't wait to see the report (to order my prio-list a bit).

Greetings,
Dirk

Eric
24-04-2006, 01:21 PM
Posted comments for all entries. If you have comments on comments, or more specific questions, or tests to be done, shoot. 8)

Goal completion scores (and associated comments) not in just yet, pending goal clarifications, but hopefully ready very soon.

edit: Goal scores are in.

aidave
24-04-2006, 03:28 PM
Thanks Eric,

Not sure how to make the mouse smoother in Blocked,
as it plays well on the machines I've tried.

We have a "sensitivity X" setting in the controls file.
It is default 1 and can be set to lower (for example 0.5)
That is multiplied against the mouse movement to make it slower/faster.

Problem is, when I play, its just how I like it, so I dont know what to change! ;)

ps. If the shard gets stuck, you can use a budger to get it out. Pushing is optional!

:right:

Eric
24-04-2006, 04:12 PM
Not sure how to make the mouse smoother in Blocked,
as it plays well on the machines I've tried.

I've been playing it at 800x600 for the last test run, your default being 1280x1024, if sensitivity is somehow related to screen resolution (if only indirectly via the MS sensitivity setting), that may explains things (there are as many position along X as there are pixels). I'll give it a try on at another resolution to see if things change.


We have a "sensitivity X" setting in the controls file.
It is default 1 and can be set to lower (for example 0.5)
That is multiplied against the mouse movement to make it slower/faster.

Mouse smoothing is sometimes done with a mobile average of mouse position, like in


smoothedMousePos.X := smoothedMousePos.X * ratio + currentMousePos.X * (1-ratio) * mouseScalingX;
smoothedMousePos.Y := smoothedMousePos.Y * ratio + currentMousePos.Y * (1-ratio) * mouseScalingY;

and doing that at a fixed rate (like 100 Hz) with an "appropriate" ratio.


ps. If the shard gets stuck, you can use a budger to get it out. Pushing is optional!

I tried using the budge spell, but it didn't seem to catch the shard, is there some particular way to achieve it?

technomage
24-04-2006, 04:28 PM
How is the judging going?

Only 13 days left....

Greetings,
Dirk

Not bad, managed to get through 70% of the entries. Will hopefully finish the rest of in the next day or so.

I will try to do as Eric has done and post comments before scores.

aidave
24-04-2006, 04:52 PM
I tried using the budge spell, but it didn't seem to catch the shard, is there some particular way to achieve it?

The budge spell is very important to the game,
make sure it isnt going thru terrain,
and has a direct line from your hand to the item you are trying to catch.

I'll try the rest of your advice for this stage, thanks.

I recommend against using 800x600, as the HUD gets too cluttered.
1024x768 or 1200x1024 is the best.
Hopefully it runs fast enough, its designed for p4 3ghz

cheers
dave
8)

AthenaOfDelphi
24-04-2006, 07:29 PM
Hi Eric,

Thanks for the feedback.



The combination of mouse-based character orientation and key-board based movement results in the character often walking backward (couldn't turn off mousetele as the console didn't seem to be active anymore, so I don't know if that's still the case with mousetele off).


The console is still active, its just the key has changed. ESC exits to the menu. The console is now activated with the ` key. I have since found that this could be a problem on some keyboards, so its likely to change again before the next deadline. This change was stated in the documentation.

As for the orientation, that is a feature. The player sprite looks to the mouse for targetting when firing, so when you run, if the mouse is behind, you'll run backwards. The mouse can also be used for movement, in which case the sprite will face forward when running.



Enemies take a lot of hits to take down, an "autofire while mouse down" might help. They also seem to have a problem following the player when the player goes downward (they stop to search), but no problem when he goes right, left, or upward.


The state machine that controls enemies isn't great, but they will 'see' you if you are standing/moving in the field of view which is approximately 180 deg. If they lose you, they will stop and perform a basic search (look around them)... in the finished game, its planned that they will do more (like perform patrols, sentry duty etc.).



When they overlap/touch/attack the player, the game slows down (desired?) noticeably, until the player sprite no longer overlaps.


Its not desired... its an after effect of the whole hud being redrawn when the players health changes (the basic enemies sap your health when they touch you)... this will be changing for the final deadline.

Unfortunately, we're in the middle of a rewrite... the engine thats been used for the deadlines until now just isn't up to the job, so I'm hoping to have Mark II finished for the final deadline. So far, its looking good.

Traveler
24-04-2006, 07:58 PM
Thanks for the comments Eric!

Your point about not having a new map is correct. I dont plan on adding more maps in the competition version of this game, but instead increase the hitpoints of enemies with each wave (=level). (much like in Space Invaders.) As far as I can tell, rules dont specify the actual representation of a new level.

With the final stage the map will increase in size to allow for a visual representation of a village and a more varied road for the enemies to walk on. I hope this course is allow otherwise I can't complete the first point of the final stage either (not within the time left that is)

Huehnerschaender
24-04-2006, 11:54 PM
Hi Eric!
Thank you very much for the comments. That's what I wanted to know. Things that felt "bad" to you while playing my game. Now I have some questions about "the judges judgement".


Fullscreen initialization sequence first changes resolution (I see my desktop at a different resolution), then blacks the screen.

Will this influence judging? Is this annoying or somewhat looking unprofessional? Should I spent time on it?


Windowed mode isn't functionnal (the game captures the mouse).

I know that the game captures the mouse, but imagine playing it without that "feature". MS Word in the back, Tanx in the front.... You are in a hurry to kill an enemy... clicking one pixel beneath the window, Tanx vanishes, Word appears in the front... you die because the enemy got you.

This is an action game (even if it doesn't look like it in stage 5). What should I do? Prevent windowed mode or let the user be a victim of a pixel exact mouse aiming?
As a programmer I think it's correct to let the mouse glide through the visible windows.
As a player I think, if my game is on top I want to play. I can't play if the game vanishes to the back if I misplace the mouse, so I woun't use windowed mode. I thought of using windowed mode for easy switching through active tasks without changing screen resolution (alt+tab), taking a look at other programs while playing etc. but not to play only while mouse is in the window area... this would not work satisfying. Please give me a hint how you as a judge would like it. It's not a real problem to change it, but I'm afraid that playability would be worse.


There is no option to select screen resolution (was maybe a bit too high for my screen here, got only 75Hz and text was quite small).
Yep, I know.... 800x600 is already working. 1280x1024 I am on... but I don't know if I have the time to finish it perfectly until the end of the contest.


Game is also quite dark by default (have to bump up monitor brightness).
It was my intention to make it a little darker than "sunlight". But I found out, that it is as I intended on my monitors, and darker on others.. I will try to fix this. But I didn't take further a look at it now...


When you win/die, the action required is a mouse click, if you were clicking a lot, you'll go to next level/respawn before you have realized it.
Changing.... This was just a programmers test to see the player dying etc. Stage 6 goals say that I am in need of adding an ending scene (and so a game over scene too).


Trees flicker when they are stacked (one occurence is right where you spawn in the first level).
Already fixed.

Again, thanks Eric!

Greetings,
Dirk

aidave
25-04-2006, 02:18 AM
I know that the game captures the mouse, but imagine playing it without that "feature". MS Word in the back, Tanx in the front.... You are in a hurry to kill an enemy... clicking one pixel beneath the window, Tanx vanishes, Word appears in the front... you die because the enemy got you.

You can pause your game if the user isnt playing.

Eric
25-04-2006, 09:46 AM
Mass reply :)

To aidave


The budge spell is very important to the game, make sure it isnt going thru terrain, and has a direct line from your hand to the item you are trying to catch.

After a few trials I've been able to "hook" the budge to the shard by standing right on top of it, however, more often than not, I wouldn't be able to "pull" the shard with it, like if it were stuck into the ground (when that happens, I found the only way to get the shard moving again was to repeatedly bump into it until it got "unstuck").


1024x768 or 1200x1024 is the best.

Tried it, there is more screen estate, but the mouse isn't smooth still: when you move the mouse slowly f.i., the view will rotate in slow steps (one step each time the cursor would move by one pixel I guess).

To AthenaOfDelphi


The console is now activated with the ` key. I have since found that this could be a problem on some keyboards

This is the key I tried (it's labelled with an exponent '2' here, but I've seen enough games use it to recognize it), though I guess I'm one one of the keyboards with the "problem" :P
I've had good success using GetAsyncKeyState to detect it's being pressed (ie. with virtual key code rather than key character).


the field of view which is approximately 180 deg. If they lose you, they will stop and perform a basic search (look around them)

The impression I had is that the orientation of their field of view was "fixed", like if instead of looking in the direction they're walking, they were looking "upward" (when not in search mode).

To Traveler


As far as I can tell, rules dont specify the actual representation of a new level.

For this stage, I considered a "level" as being a different "map", as the enemy waves you have aren't too different from say, enemy waves in a scrolling shooter (of which you can have many in the same level), and all other entries had something close to that.

For the next stage, maybe WILL or Savage can clarify the goal to define what exactly constitues a "level".

To Huehnerschaender


Will this influence judging? Is this annoying or somewhat looking unprofessional? Should I spent time on it?

The main risk would be if the user has other applications that would react to the screen resolution change, but not identify it as some other app going fullscreen because they receive a "paint" message. Not of utmost importance, but may not be too complex to fix and would look cleaner IMO (and may speedup game start).


I know that the game captures the mouse, but imagine playing it without that "feature". MS Word in the back, Tanx in the front.... You are in a hurry to kill an enemy.

As suggested, pausing the game would be a user-friendly solution to that. When selecting 'windowed', you usually want to be able to click on other things - if only to move the game window around your desktop 8)


1280x1024 I am on...

Be aware 1280x1024 suffers from a slightly "distorted" aspect ratio when not viewed on current-generation 19" flat panels, as its aspect ratio is 1.25 vs 1.33 of the usual 4/3 display of CRTs and other panels.


But I found out, that it is as I intended on my monitors, and darker on others.. I will try to fix this. But I didn't take further a look at it now...

It's a bit like with aspect ratios, screens can have wildly different intensity nowadays, across models or even across settings, from LCDs that have "bright darks" to those TN panels where everything below RGB$202020 is the same uniform "black"... talk about gamma correction hell :roll:

savage
25-04-2006, 11:30 AM
I know that the game captures the mouse, but imagine playing it without that "feature".

In Windowed mode, games should behave like other Windows applications.
I often play RTSes in Windowed mode because when you are building up your army there is usually a lot of waiting around for things to be created before the action starts. I might surf or chat while this is happening. If the mouse was captured I would be forced to endure the building process.

When the form loses focus ( Deactivate event ), you can pause the game. Remember to pause your timer as well otherwise you may end up with strange results once you restart.

technomage
25-04-2006, 07:22 PM
All my comments and scores are in. Well done people. :)

For those of you still to implement sound in you games dont underestimate it's importance. It is important that soounds match actions. It can cause some disorientation when things done "match up", so don't leave it to the last minute.

I am impressed by the entries I have seen so far. Yuo have all done some great work in the limited time. Keep it up.

:D

Huehnerschaender
25-04-2006, 07:44 PM
Thank you very much for the reports Dean and Eric! This helps us all to make senseful things in the left time.



Good entry, running out of cannon ammo was a bit of a problem.

I already changed gun ammo to unlimited, using heat now as a limitation. If gun is overheated, you have to wait a little time before you can shoot again. Also added a gun "functionality". Spacebar switches between ground and air mode.



Also for the sake of realism I think it might be nice to the enemy to be unaffected by cannon fire from our tank, but that depends on how realistic you want if to be.

I don't understand this... maybe it's because I am no native english speaker ^^ Can you explain it again please? As far as I understand this sentence, the enemys should not get damage from my cannon.... huh? :shock:

Greetings,
Dirk

Traveler
25-04-2006, 07:44 PM
Thanks for that!

I imagine these are going to be 12 very loooong days.

Huehnerschaender
25-04-2006, 08:46 PM
As suggested, pausing the game would be a user-friendly solution to that. When selecting 'windowed', you usually want to be able to click on other things - if only to move the game window around your desktop

As I supposed, this absolutely doesn't work for my game. Gamecursor is "independend" from Windows mouse cursor. I move the mous ingame using my own calculations. So if I turn the turret with mouse, my ingame cursor points to the place I want to shoot. The Windows cursor is off the game screen in most cases. When firing with mouseclick, the game looses focus.
Shortly said, you can't play it this way.

I think about a solution that pressing ESC (Pause game/Options screen) enables the windows mouse again, because then I use a 2D cursor which I can point to the Windows cursor position. Ingame I have a 3D cursor, using it's own coordinates which doesn't match to windows cursor.

Would this solution be ok for you?

technomage
25-04-2006, 09:06 PM
Also for the sake of realism I think it might be nice to the enemy to be unaffected by cannon fire from our tank, but that depends on how realistic you want if to be.

I don't understand this... maybe it's because I am no native english speaker ^^ Can you explain it again please? As far as I understand this sentence, the enemys should not get damage from my cannon.... huh? :shock:



Sorry my mistake, I suggest that the machine gun on the tank does not harm other tanks, but can harm the machine gun posts and helicopters etc. the main reason for this is that most modern tanks are very well protected against machine gun fire. This is just a thought, and it would make for some interesting levels.... : :D

aidave
25-04-2006, 09:08 PM
After a few trials I've been able to "hook" the budge to the shard by standing right on top of it, however, more often than not, I wouldn't be able to "pull" the shard with it, like if it were stuck into the ground (when that happens, I found the only way to get the shard moving again was to repeatedly bump into it until it got "unstuck").

Try spacebar to lift objects off the ground, else land friction causes objects to stick.


Tried it, there is more screen estate, but the mouse isn't smooth still: when you move the mouse slowly f.i., the view will rotate in slow steps (one step each time the cursor would move by one pixel I guess).

The tutorial level has a quirk that in the first ten seconds the mouse is sticky.
The physics is overwhelming the engine until the tutorial castle settles.

I'm not sure if thats whats causing your problem tho!

Huehnerschaender
25-04-2006, 09:55 PM
Sorry my mistake, I suggest that the machine gun on the tank does not harm other tanks, but can harm the machine gun posts and helicopters etc. the main reason for this is that most modern tanks are very well protected against machine gun fire. This is just a thought, and it would make for some interesting levels.... : :D

Ah ok, I understand...

The thing is, if I don't let the player cause damage to all enemys with the basic weapon, he can find himself defenseless in the level when running out of additional ammo.
So I decided to let the gun make damage to all enemys, but the damage varys on the kind of the enemy. Turrets get down quite fast with gun, tanks need much longer to shoot at. Fighting tank style bosses with only the gun is senseless though... :lol:
But you will need it fighting flying enemys, cause once they are in the air, the gun air mode is the only thing which can bring them back to ground.

Maybe I will do some intensive tests after the compo, how "fair" the game will be, making the gun unusable against tanks...

Eric
26-04-2006, 07:33 AM
I think about a solution that pressing ESC (Pause game/Options screen) enables the windows mouse again

ESC and Pause keys could make a decent compromise.

Huehnerschaender
26-04-2006, 07:57 AM
ESC and Pause keys could make a decent compromise.

I already implemented it yesterday :wink:

michalis
29-04-2006, 11:06 PM
Hi all. Some announcement, question and replies to judges notes for stage 5:

1. First of all, preview of my game is available on http://www.camelot.homedns.org/~michalis/castle.php. Everyone is welcome to test. This contains only 2 first levels, 2 more levels and new creatures will be added in final game (but they are not in finished state right now), and some opening intro and closing sequence will be added. Everything else will probably stay the way it is --- deadline is coming close.

2. Can I assume that the judges will download / install OpenAL on their own ? Instructions are here http://www.camelot.homedns.org/~michalis/openal_notes.php#section_install

Or should I e.g. include OpenAL installer for Windows in my game archive ?

3. Replies to judges comments for stage 5:



In the menu, you can select with the mouse, but you can't use the mouse to validate the question dialogs.


Simplest "OK" dialogs now can be dismissed by mouse click anywhere within the dialog box. "Yes"/"No" and other dialogs will have to be still answered by keys --- no time before the 7th May to close this issue correctly (by drawing real clickable buttons for dialogs).



In the keyboard configuration dialog, it would be preferable if the previous key assignment was just erased (after a yes/no) [...]


Good idea, done.



Mouse look would be a great help to climbing the stairs for those that aren't accustomed to keyboard-based upward/downward/look.


Mouse look was requested by both Eric and Dean and it was sort of planned... So it's done now. By default left/right keys are now assigned to strafe left/right (instead of turn left/right, as they used to), since assigning them to strafes is more useful if someone uses mouse look.

Also flying and swimming feels less awkward, as you fly upwards/downloads just by pressing forward/backward key while looking up/down. Which means that you only need to hold hands over forward/backward keys to fly in full 3D space.



Sometimes, the player camera "banks" (inclines on the side), apparently when walking on inclines (like near the pond on the outside), though not always.


Yes, this was a little effect (that should be activated only when you fall down from high / steep hill) that got a little "out of control" :) Fixed now.

Huehnerschaender
30-04-2006, 09:43 AM
Hi Michalis,

first, thank you very much to let us test your entry.

Unfortunately, I was not able to play it.

First my specs:

P4 3Ghz, 1GB Ram, ATI X800 Pro (256 MB Ram), Windows XP, latest ATI drivers.

Title screen came up. Menu works fine.
But then, I started the game. I waited 10 minutes (!) before I had to turn off the computer by hardware power switch (nothing else was possible, no task manager, nothing).

The after the reboot, I gave it a second try, because I activated shadows and you display a warning when doing this. So I started the game with disabled shadows.

The loading sequence took 5 minutes(!) loading creatures.

Then the game appeared. It was impossible to steer for me. I moved the mouse one millimeter, which was enough to look from sky onto the ground. Much too sensitive mouselook as it seems. After I died without seeing something :) I pressed escape as mentioned on the screen. Screen turned black and computer rebooted!

Then I gave up.

Hope this helps in some way.

Greetings,
Dirk

Traveler
30-04-2006, 10:10 AM
Funny how Hue and I allways seem to post roughly at the same time. :)
Anyway,.. I've tried you game as well and it ran fairly well on my system. I didn't experience any of loading problems. Mouse controls were very fast for me as well. But I was able to correct it with the mouse control options in the menu. Something odd there as every changable option is well above 1.0 at first, but as soon as you change it, it becomes a value between 0.1 and 1.0.

Other than that the game worked great. The boss takes a while to kill though. It appears as if nothing is happening when you hit it, but eventually it died anyway. A sound or some kind or a visible indication that you've hit it (bloodstains?) might help. Also after some time I noticed that its very easy to hit him without getting hit yourself. As soon as it attempts to hit you, simply walk a few steps back and he misses. Perhaps if you make his attack a bit faster, it'll become a bit more difficult.

Very nice work all in all though!

Huehnerschaender
30-04-2006, 10:27 AM
Hehe Traveler... seems as if we are some kind of soulbound ^^

I am trying out the game on my laptop now. All I can say at the moment is, that again I am stuck on the loading screen for 5 minutes now. Still waiting and drinking coffee ^^

What are you doing while loading Michalis? What takes so long to laod?

btw. The laptop also has an ATI video card (Radeon 9000 mobility). Maybe there is a problem with ATI cards?

Traveler, how long took it on your machine to load the level? What kind of video card do you have?

I comment further when the level starts... 7 mins now...

Huehnerschaender
30-04-2006, 10:31 AM
*ZZZZZzzzzz.......* :lol:

It's kinda patience game I guess :lol: :whistle:


Still loading....

Huehnerschaender
30-04-2006, 10:36 AM
Meanwhile I post the specs of the laptop:

Centrino 1,7 Ghz, 512 MB Ram, ATI Radeon 9000 Mobility...

Still loading....

Don't want to spam here, but I am bored... just want to mention, that the progress bar just moved a step! So the game is still loading :D 14:43 now... so 21 minutes loading now!

Traveler
30-04-2006, 10:40 AM
Traveler, how long took it on your machine to load the level? What kind of video card do you have?

Machine specs are pretty much the same as yours, except I use a GeForce 6800 GT.
Loading time was like 10 seconds or something. Not anywhere near the seven minutes you're reporting in any case.

I'm going to try my laptop as well, it has a ATI x700 128mb card, and see how that works out.

Huehnerschaender
30-04-2006, 10:45 AM
Yeah, would be nice. That may help Michalis find the problem... my laptop is loading for 22 minutes now! Anyone can beat this?

Traveler
30-04-2006, 10:50 AM
Hmm, it seems like there are some problems with ATI cards as mine is not able to get past the loading creatures page as well :(

Huehnerschaender
30-04-2006, 11:06 AM
Just be patient!

I just played it ^^

It needed about 30 minutes to load. After that you can restart levels very quick without another waiting time. But you really need to do something on this Michalis!

Now I can give feedback to the game.
Once it was loaded it worked fine to me.

It was a little unclear how to leave the first level, I went upstairs and was "caught" in the fog, seeing nothing. I just tried to run further into it (about 10 seconds), seeing nothing and suddenly the level was finished.

Within the castle I really like the look of the rounded walls!

The enemys in the game seem to be too easy. I never died once I managed the controls.

the enemys seem a little "robotic", but if you made them yourself this is ok. I know how hard it is to bring realistic motion into models.
Maybe some texture would be nice! Or is it another problem of my videocards that they are untextured (the ghosts were textured!)?

I did not need the flying scrolls. What are they for?

I played through the game in less than 5 minutes (and it was my first time). Maybe you should make it a little harder.

Overall a nice entry in my opinion! Good luck for stage 6!

Traveler
30-04-2006, 11:19 AM
Ok, after 20 minutes it was finally finished loading.
Unfortunately, the game was not very playable due to a very, very low fps.

I've added a screenshot with some artifacts as well.
http://www.gameprogrammer.net/pics/outside/castlescreenshot.jpg

Something else I noticed is that changed controls are not loaded properly again when restarting the game. I think you are converting values incorrectly.

michalis
30-04-2006, 05:12 PM
First of all, thanks for testing my game ! Now, to address the issues (BTW should we move this to some other topic on this forum?):



But then, I started the game. I waited 10 minutes (!) before I had to turn off the computer by hardware power switch (nothing else was possible, no task manager, nothing).

The after the reboot, I gave it a second try, because I activated shadows and you display a warning when doing this. So I started the game with disabled shadows.

The loading sequence took 5 minutes(!) loading creatures.

Then the game appeared. It was impossible to steer for me. I moved the mouse one millimeter, which was enough to look from sky onto the ground. Much too sensitive mouselook as it seems. After I died without seeing something :) I pressed escape as mentioned on the screen. Screen turned black and computer rebooted!


My game shouldn't be even able to block your task manager, or reboot your computer. Two things come to mind: 1. You have 256 MB memory, while the game practically requires 512 MB (currently loaded game takes up about 260 MB, summing it up with other system processes means that you definitely need > 256 MB). This can explain such ridiculous long loading times. 2. ATI Radeon-specific problems. More on this later.

As for screen going black and rebooting Windows, I guess that I can blame only Windows and ATI drivers for performing poorly on an overloaded system. But in any case you wouldn't be able to play anyway --- you would get awfully low FPS.

On my current system, the whole loading time is 16 seconds. Most of these as spend within "Loading creatures". 16 seconds is still long, but it's done only once per running the game. So if you do "New Game", then die, then do "New Game" again, "Loading creatures" will not be triggered again and the game will load instantly --- you noticed it in later post.



Mouse controls were very fast for me as well. But I was able to correct it with the mouse control options in the menu. Something odd there as every changable option is well above 1.0 at first, but as soon as you change it, it becomes a value between 0.1 and 1.0.


By default "Mouse horizontal sensitivity" and "Mouse vertical sensitivity" should be 0.09, and their allowed range is between 0.01 and 3.0. If you initially had something bigger (you can test it by deleting castle.conf file and starting the game again) then this explains why mouse control was too fast initially, and this means that I have some problem in loading values from config file.



It appears as if nothing is happening when you hit it, but eventually it died anyway. A sound or some kind or a visible indication that you've hit it (bloodstains?) might help.


Yes, blood is planned. I can only hope that I manage to implement it within the time.



I am trying out the game on my laptop now. All I can say at the moment is, that again I am stuck on the loading screen for 5 minutes now. Still waiting and drinking coffee ^^

What are you doing while loading Michalis? What takes so long to laod?

btw. The laptop also has an ATI video card (Radeon 9000 mobility). Maybe there is a problem with ATI cards?


It seems so... Traveler's screenshots comparing radeon and geforce confirm this. And since your laptop has 512 MB memory, the memory can't be the problem this time. That's alarming --- I will have to find somewhere some computer with ATI Radeon card and test my game there. Until now I tested it only on various nVidia cards --- that's what I have and all my friends have... But the game should be absolutely portable to every OpenGL implementation, it doesn't even use too many OpenGL extensions, and none of them are nVidia-specific.

What I'm doing while loading ? The most (time- and memory-) consuming process there is "Loading creatures" when creature's animations are prepared. This means loading VRML files, creating intermediate animation frames by interpolating between two models, and then creating a display list for each animation frame. The last part, "creating a display list for each animation frame", is the place where your graphic card comes to play, and I guess that there is some problem.

Maybe ATI Radeon is not able to create too many display list ? That's the only explanation that comes to my mind. I uploaded 0.5.6 version on http://www.camelot.homedns.org/~michalis/castle.php, it checks all glGenLists results (something that I often forgot to do) and if the OpenGL can't allocate more display lists, you should see error box like "Exception EOpenGLNoMoreDisplayLists : No more OpenGL display lists available ....". If I can ask you to spend more time testing my entry,
1. could you download and try this new version, 0.5.6 ?
2. The second thing: 0.5.6 allows you to change "Creature animation smoothness", this should reduce "Loading creatures" time and the amount of display lists needed. Can you check if reducing this to minimum helps ?



I went upstairs and was "caught" in the fog, seeing nothing. I just tried to run further into it (about 10 seconds), seeing nothing and suddenly the level was finished.


You mean the "black fog" inside the gate ? Once you enter it, you should be transferred to the next level. The fact that game seemingly stopped there for 10 seconds could be caused by the same problems with Radeon.



The enemys in the game seem to be too easy. I never died once I managed the controls.


Things should get more difficult in the next levels. If time will allow I'll try to make the first levels also more difficult.



the enemys seem a little "robotic", but if you made them yourself this is ok. I know how hard it is to bring realistic motion into models.


Alien and werewolf models were downloaded from internet but I animated them myself. Yeah, I'm not entirely satisfied with it either...



Maybe some texture would be nice! Or is it another problem of my videocards that they are untextured (the ghosts were textured!)?


Hmm, ghost is not textured actually :) Alien and werewolf are also not textured. My engine allows me to texture them freely, but I just couldn't texture alien and werewolf right. New creatures on next levels should be textured.



I did not need the flying scrolls. What are they for?


You don't need them in the first 2 levels. But you can play with them and see how flying works, that's their sole purpose :)



I've added a screenshot with some artifacts as well.


This clearly shows problems with blending and alpha-testing of 2D controls on Radeon. Hmmm..



Something else I noticed is that changed controls are not loaded properly again when restarting the game. I think you are converting values incorrectly.


Once you change the keys assignment, it should stay that way. They are saved in config file. Can you describe exactly which control you changed, from/to what value, and how was it incorrect ? If the controls are not properly restored after game restart, then I could also use the copy of your castle.conf file.

Summing it up, great thanks guys for putting work into testing my entry. And if you have time, I would appreciate testing 0.5.6 version, and playing with "Creature animation smoothness" --- maybe this will explain some problems with Radeon. (I say "if you have time", since I understand that you have your own game entries and time is running short for all of us :). Once again, many thanks. I'll try to contact my friends today, maybe someone wil be able to let me test it on Radeon. Update: I just got one report that on Linux with Radeon it works OK. No Windows, though.

Huehnerschaender
30-04-2006, 05:49 PM
1. You have 256 MB memory, while the game practically requires 512 MB (currently loaded game takes up about 260 MB, summing it up with other system processes means that you definitely need > 256 MB). This can explain such ridiculous long loading times.

2. ATI Radeon-specific problems. More on this later.


I think point 2 is the case. I have 1 GigaByte Ram, not 256 MB (which is the Ram of my video card)



By default "Mouse horizontal sensitivity" and "Mouse vertical sensitivity" should be 0.09, and their allowed range is between 0.01 and 3.0. If you initially had something bigger (you can test it by deleting castle.conf file and starting the game again) then this explains why mouse control was too fast initially, and this means that I have some problem in loading values from config file.

I guess you have a problem converting, because the initial value is not set to 0.09, but 9.0! :shock:


Yes, blood is planned. I can only hope that I manage to implement it within the time.


Hope so, too ^^


It seems so... Traveler's screenshots comparing radeon and geforce confirm this. And since your laptop has 512 MB memory, the memory can't be the problem this time. That's alarming --- I will have to find somewhere some computer with ATI Radeon card and test my game there. Until now I tested it only on various nVidia cards --- that's what I have and all my friends have... But the game should be absolutely portable to every OpenGL implementation, it doesn't even use too many OpenGL extensions, and none of them are nVidia-specific.

What I'm doing while loading ? The most (time- and memory-) consuming process there is "Loading creatures" when creature's animations are prepared. This means loading VRML files, creating intermediate animation frames by interpolating between two models, and then creating a display list for each animation frame. The last part, "creating a display list for each animation frame", is the place where your graphic card comes to play, and I guess that there is some problem.

Maybe ATI Radeon is not able to create too many display list ? That's the only explanation that comes to my mind. I uploaded 0.5.6 version on http://www.camelot.homedns.org/~michalis/castle.php, it checks all glGenLists results (something that I often forgot to do) and if the OpenGL can't allocate more display lists, you should see error box like "Exception EOpenGLNoMoreDisplayLists : No more OpenGL display lists available ....". If I can ask you to spend more time testing my entry,
1. could you download and try this new version, 0.5.6 ?
2. The second thing: 0.5.6 allows you to change "Creature animation smoothness", this should reduce "Loading creatures" time and the amount of display lists needed. Can you check if reducing this to minimum helps ?

I hope I find the time to test it again... I will download it now and see if I find the time this evening to play around with the new setting.


You mean the "black fog" inside the gate ? Once you enter it, you should be transferred to the next level. The fact that game seemingly stopped there for 10 seconds could be caused by the same problems with Radeon.
No, I mean fog! Grey fog, as you can see on the first screenshot from Traveler. Thats the way it looks at my laptop, but I don't have transparency issues, so I thought thats the way it should look like. I didn't even see a gate!


You don't need them in the first 2 levels. But you can play with them and see how flying works, that's their sole purpose :)

Ah, ok :)

Hopefully I can upload a new beta version of my game today, too.

Greetings,
Dirk

Huehnerschaender
30-04-2006, 06:22 PM
Ok, played with the new setting:

It definately decreases loading time. Set smoothness to 5 and loading time was about 8 seconds.


Now here are screenies from the level exit in first level:

From the distance it looks like this:
http://www.dino-it.de/screen4.jpg

When you walk up the stairs it looks like this:
http://www.dino-it.de/screen5.jpg

When you walk further upwards you don't see anything but grey.

Then, the next is (my mouse issue), when game is loaded (no matter what I setup in the options before), the mouse sensitivy is set to this:

http://www.dino-it.de/screen3.jpg

And finally switching task (Alt+Tab) craps graphics when switching back to your game:
http://www.dino-it.de/screen2.jpg

Hope this helps.

WILL
30-04-2006, 06:51 PM
Hi michalis: My ATI Radeon XPRESS is fairly new. I tried to Create a new game and found the progress bar taking a very long time aswell. But not until about halfway through the process. Then thats where it started to take a while.

I also got some funky popup from the program about not being able to go to 800x600, but it would try to continue anyway...? Very odd.

I also noticed one of my programs 'Peer Guardian 2' complaining (22+ popups) about uncaught exceptions I thought THAT was interesting because I've never seen PG2 act that way ever. Maybe that'll give you some clues.


Here is my laptop's hardware specs:

Toshiba Satellite M70
CPU: Intel Celeron M 1.6GHz w/ 512 MB RAM
Video: ATI Radeon XPRESS 200M (/w 64 MB texture memory) Delphi3D GLInfo database (http://www.delphi3d.net/hardware/viewreport.php?report=1597)
Screen: 1280x800(max) widescreen
Audio: Realtek AC97

savage
30-04-2006, 06:54 PM
I've added a screenshot with some artifacts as well.
http://www.gameprogrammer.net/pics/outside/castlescreenshot.jpg


This sort of transparency issue ( in the left image ) is also what I am seeing with my Radeon IGP on my laptop.

aidave
30-04-2006, 11:13 PM
The Castle game worked fine for me.

michalis
30-04-2006, 11:45 PM
Thank you all for the feedback! It's obvious now that I have some critical problems with Radeon:
- Loading time (creating display lists for animations) is ridicuously long.
- Volumetric fog somehow gets applied to upper rock parts.
- 2d controls problems --- sword should be with alpha-test, item slots' borders should be with blending. But on Radeon screenshots they all look as if they were drawn "just like that", covering things underneath.
- Switching task (Alt+Tab) craps graphics when switching back to game (although this is known to happen on older Windowses (98 and like) with crappy graphic drivers, it definitely should not happen on XP with latest ATI drivers).

Traveler's screenshot from geforce 6800gt also shows artifact when rendering life indicator --- it should be rendered with blending (like on Huehnerschaender screenshot), while on Traveler's screenshots it shows white background underneath.

There's also the problem with wrong mouse sensitivity, it seems that the mouse sensitivity values get assigned completely wrong. Sometimes it gets 9.0, sometimes it gets some ridiculous large value (though it's not MaxSingle). I understand now that this was also meant by Traveler in "Something else I noticed is that changed controls are not loaded properly again when restarting the game. I think you are converting values incorrectly.". This is very strange, because these values are actually changed only when reading them from config file, or setting them to default, or moving the slider in the menu. And converting is done using the plain StrToFloat / FloatToStr routines. And, needless to say, I don't experience these problems --- neither on Linux nor on Windows (XP and 2000 Prof). So they may indicate some memory corruption.

Sadly, none of these problems are reproduceable on my 2 computers at home... Fixing this will have to wait for tomorrow or Thursday, when I may be able to test on different machines, some of them hopefully with Radeon. Unless someone has time to actually debug and see what's going on. For starters, compile the game in debug mode (make DEBUG=t build-win32), FPC 2.0.2 is required, then you can add some Writelns to see what's going on. Or use gdb, or just Lazarus (I just added appropriate files into the source project to load the project from Lazarus IDE, this will be included in next release, if someone is interested in it now --- let me know).

Oh, and I just tested the game on Mesa (i.e. standard Linux software OpenGL implementation, no NVidia OpenGL) and the game runs correctly (it's awfully unacceptably slow, but runs :). I was hoping to maybe reproduce some Radeon problems with Mesa, but I guess it's not that easy.



I also got some funky popup from the program about not being able to go to 800x600, but it would try to continue anyway...? Very odd.


The dialog box should say "Can't change display settings to 800x600. Will continue in windowed mode."

This is valid if your laptop screen cannot be resized to 800x600. When the game starts it tries to go to fullscreen 800x600, if that fails it runs in windowed mode. You can turn "Allow screen resize on startup" to "No" to disable this message on each startup. (I guess that I should automatically set this to "No" after it fails for the 1st time ? Done.).



I also noticed one of my programs 'Peer Guardian 2' complaining (22+ popups) about uncaught exceptions I thought THAT was interesting because I've never seen PG2 act that way ever. Maybe that'll give you some clues.


Uhm, I'm clueless ? :) You mean errors occur in 'Peer Guardian 2' ? This may mean that my game somehow drained your system's resources, which shouldn't happen since you have perfectly good CPU, RAM and graphic card... But seeing all the other problems occuring with Radeon, this *can* be a consequence of them...

WILL
01-05-2006, 12:00 AM
I also got some funky popup from the program about not being able to go to 800x600, but it would try to continue anyway...? Very odd.


The dialog box should say "Can't change display settings to 800x600. Will continue in windowed mode."

This is valid if your laptop screen cannot be resized to 800x600. When the game starts it tries to go to fullscreen 800x600, if that fails it runs in windowed mode. You can turn "Allow screen resize on startup" to "No" to disable this message on each startup. (I guess that I should automatically set this to "No" after it fails for the 1st time ? Done.).

That'll probably do it. :) The game ran in full screen however (at least from what I saw) so maybe it just did not detect that my screen could go 800x600 somehow? Seems unlikely, but other games can go 800x600 fullscreen quite readily. My standard desktop res is 1280x800, but I play games that go both 1024x768 and 800x600.




I also noticed one of my programs 'Peer Guardian 2' complaining (22+ popups) about uncaught exceptions I thought THAT was interesting because I've never seen PG2 act that way ever. Maybe that'll give you some clues.


Uhm, I'm clueless ? :) You mean errors occur in 'Peer Guardian 2' ? This may mean that my game somehow drained your system's resources, which shouldn't happen since you have perfectly good CPU, RAM and graphic card... But seeing all the other problems occuring with Radeon, this *can* be a consequence of them...

'Peer Guardian 2' is a networking tool that blocks bad IPs from Spyware, Government, Ad and such systems when using Peer-2-Peer apps. Why this program would complain while trying to load a level is beyond me, but it does. :? Very odd indeed. Perhaps you are trying to directly access hardware interupts that don't exist in a Radeon and in doing so just slow down the system's resources handling all these interupt calls? Just an idea... What kind of OpenGL headers or library are you using?

michalis
01-05-2006, 12:29 AM
Perhaps you are trying to directly access hardware interupts that don't exist in a Radeon and in doing so just slow down the system's resources handling all these interupt calls? Just an idea... What kind of OpenGL headers or library are you using?

Gosh, no, I don't do any dirty hardware tricks :) Especially since the game is portable to both Windows and Linux/FreeBSD. Whole graphic is done in plain OpenGL, with some popular (not specific to any particular producer) extensions (like EXT_fog_coord and like --- things that are supported on both Radeon and GeForce).

My OpenGL header was started from old Mike Lischke's OpenGL12 (it was quite modified since then, for FPC, Linux etc.). That's the same source that is used in e.g. GLScene. You can find my unit is castle's sources in file source/units/opengl/openglh.pas

Although most of the base code can be also compiled with USE_GL_GLU_UNITS, and then standard FPC gl, glu, glext headers will be used --- my intention is to drop my OpenGLh unit and switch entirely to using FPC's gl, glu, glext units at some point (but for now I stick to my OpenGLh unit as it's tested). Initially I didn't use OpenGL headers provided with FPC because they had problems, but it's fixed in FPC since a long time now.

Chebmaster
23-05-2006, 11:47 AM
there is "Loading creatures" when creature's animations are prepared. This means loading VRML files, creating intermediate animation frames by interpolating between two models, and then creating a display list for each animation frame.
You are crazy. The normal people interpolate the animation on the fly. ATI cards, probably, are unable to cope with using the display lists the way they were not designed to.

How many polygons your monsters have and *what* are you trying to accelerate by using display lists?

michalis
23-05-2006, 02:50 PM
there is "Loading creatures" when creature's animations are prepared. This means loading VRML files, creating intermediate animation frames by interpolating between two models, and then creating a display list for each animation frame.

You are crazy. The normal people interpolate the animation on the fly. ATI cards, probably, are unable to cope with using the display lists the way they were not designed to.

How many polygons your monsters have and *what* are you trying to accelerate by using display lists?

Interpolating on the fly is good when you have really low-poly models and they are constructed of a few parts that are constant, and are simply transformed differently in each animation frame. In such case I will use only one display list, not create display list for each animation frame, so I handle this case efficiently.

However, when models have more triangles and animation means deforming the mesh (actually, it can mean deforming anything --- you can e.g. change things such as materials during animation), interpolating the things on the fly is not doable --- it would take too long. So vertices must be precalculated, and then each animation frame is stored in a separate display list. Display lists are needed so that every vertex (this includes it's normal vector, possibly material setting, possibly texture coord etc.) is already stored in precalculated state. I could replace using display lists with other OpenGL buffers, but it would lead to the same situation anyway --- the vertices have to be stored along with their information.

How many vertices do my models have ? As far as I remember the largest one that is animated using deforming has 4200 vertices. Tests shown that it needs about 16 * 5 display lists. So that's 80 * 4200 vertices info in display lists. That's *not* something that the OpenGL implementation shouldn't be capable of handling, and NVidia shows this, as all the animations of this model took about 20 MB memory. That's pretty acceptable (and note that this the largest creature, others have 2000 or 500 vertices). All creature animations eat 130 MB memory with NVidia (I'm speaking here about latest version on my page, 0.6.3). So, as you see, these are not some terrible counts.

IOW, it's true that my models use more vertices than in usual FPSes and they are sometimes animated using more complex method. I *know* that this is the cause of my problems :) But the fact is that the memory (and loading time) overhead is perfectly acceptable on NVidia cards. And calculating how much memory the vertices should take, the overhead *should* be acceptable. So the only question is, what do I do wrong that the overhead on Radeon is so large ? Possibly Radeon is trying to immediately pull all these display list info into some resource-limited area on the card.