Please login or register.

Login with username, password and session length
Advanced search  


Latest WME version: WME 1.9.1 (January 1st, 2010) - download

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Derrek3D

Pages: 1 [2] 3 4 ... 6
Technical forum / Sound problem in Theora again...
« on: February 08, 2008, 02:52:37 PM »

I have a problem with sound in a Theora video. It's a 720x540 video clip that used to play beautifully in full screen using Game.PlayTheora(). The problems started when I added sound to this video. After adding the sound, the FPS in the engine drop to 1 at the beginning of the video and it becomes extremely choppy. Later on, the FPS goes up to some 200 and the video plays pretty well till the end. Aside from that problem, the audio is never heard at all. The same video (with the sound) plays great in VLC, I should add.

The process I used to add the sound to the video is as follows: I loaded the uncompressed video to VirtualDub, added the audio as Uncompressed PCM and then I used ffmpeg2theora on the resulting video for the final conversion to Theora.

Can anyone tell what am I doing wrong?


Technical forum / Re: DirectX and Game Explorer Integration
« on: February 08, 2008, 02:47:47 PM »
Yes, I'm using the Direct3D 9. The error message says it can't find D3DX9_34.dll.

Technical forum / DirectX and Game Explorer Integration
« on: February 08, 2008, 02:12:04 PM »

I have a problem with the installation of my game and I need some help. I'm using Inno Setup to create a setup for my game and I add the following line at the end of my setup script to register the game in Vista's Game Explorer:

Code: [Select]
Filename: "{app}\Game.exe"; Parameters: "-gameexplorer add"

The problem is that if I don't have the proper version of DirectX installed on the machine, this line causes WME to display an error regarding the missing DirectX dll. I'm well aware of the DirectX problem and I even prepared a game launcher to help the user install DirectX if it is missing, but the game launcher is designed to run when the user runs the game and not during the installation process.

Is DirectX needed during the Game Explorer registration? If it is not, then why does WME display that error message even if the "-gameexplorer add" parameter is used?

The same goes for the following line:

Code: [Select]
Filename: "{app}\Game.exe"; Parameters: "-gameexplorer remove"

I get the DirectX error message when I uninstall the game if DirectX is not installed.


Technical forum / Re: Disk Access
« on: February 03, 2008, 06:21:35 PM »
Thank you for the detailed explanations. I posted a request regarding these issues here:

Feature requests, suggestions / Preloading
« on: February 03, 2008, 06:19:39 PM »
After struggling for days with a stuttering scene (see this thread:, I now believe that there isn't anything I can do right now to make it work properly so all I can do now is make this request.

What I need is the ability to preload everything to memory and then play everything from memory with no further disk access after the scene finishes loading. I'm talking about images, sprites, cursors, music, sounds, speech, 3D actor attachments, and everything else that might cause disk access during the scene.

Right now there are a few things in particular that break my scene: sounds, speech, 3D actor attachments, and at times, changing the cursor.

Also, right now I can't start particle emitters with many particles in mid-scene because the scene freezes until all particles have been read from disk. A heavy rain emitter with 1000 particles, for example, visibly freezes the scene as it accesses the disk for every single particle.

Anyway, I hope you'll consider this request.

Technical forum / Re: Disk Access
« on: January 29, 2008, 01:41:08 PM »
Well it shouldn't, unless the particle emitter is destroyed in the meantime.
I checked and rechecked and as far as I can tell, the emitter is not destroyed during the scene's lifetime. I also went digging even deeper and I found two strange findings using Process Monitor:

a. If my emitter has one call to AddSprite() (i.e. the emitter should use one image for its particles), the number of times that the particle png file is read from the disk is closely related to the MaxParticles attribute of my emitter. If I set this attribute to 10, for example, I get few reads of that png and if I set it 100, I get a *lot* of reads. It's the same png for all particles so I thought reading it over and over for each particle or more could be a bug although I can't be sure.

b. If my emitter has two calls to AddSprite() (i.e. the emitter should use two random images for its particles), both png files keep being read non-stop. As if when the emitter loads one png, it loses the other and then needs to read it again. Unlike when calling AddSprite() only once, this behavior remains for as long as the scene is running.

Before the sound can be played, it needs to be initialized (this means mainly initializing the Vorbis decoder and allocating the sound buffer). LoadSound() does this initialization without actually playing the sound.
I understand, but isn't there any way to load the sound file to memory and play it from there? Is there a design reason for this? I mean, why stream 10K or even 100K files and cause a performance hit if they are small enough to be kept in memory? Can this be an official request?

You can preload the graphics and you can pre-initialize the sound. That's about it.
I asked in another thread but since it's related I'll say it here as well. What about speech lines? They are ogg files just like any other sound file but I can't preload them? Will my scene stutter each and every time my actor says anything?
And what about preloading other stuff? For example, if I call Game.SetCursor("Cursor1.sprite"), then I call Game.SetCursor("Cursor2.sprite") and then I call again Game.SetCursor("Cursor1.sprite"). Will Cursor1.sprite be read again from disk or is it kept loaded in memory from my first call to Game.SetCursor("Cursor1.sprite")?

Technical forum / Re: Disk Access
« on: January 28, 2008, 06:23:33 PM »
Hmmm... A few more questions then, if you don't mind...

1. I use particle emitters and call AddSprite() to add png files as the particle images and Process Monitor reports that they are being read over and over. Does it make any sense?

2. If all sounds are streamed from the hard drive, what is the LoadSound() method for? I thought its all purpose was to preload a sound file so that the loading from disk won't occur during the scene.

3. A more general question, isn't there any way to preload everything to memory at scene startup? Loading during the scene itself is causing my scene to stutter. How can I avoid this?

Technical forum / Disk Access
« on: January 28, 2008, 01:33:42 PM »
Since I'm having some slowdowns in my game, I ran Process Monitor to see how my game accesses the file system and now that I've checked, I'm not sure how to interpret the results. I'm not sure why, but Process Monitor reports excessive disk access when my scene is running. Sprite images are being loaded over and over again and so are sounds (although I've taken care to use LoadSound() and then PlaySound() with no parameters on all occasions). Particle images are being read non-stop over and over.

Has anyone encounter this issue before? Is the Process Monitor report wrong in some way? Am I doing something wrong in my game that causes this?

My goal is to load everything the scene needs at scene startup and then stop accessing the file system completely for the remainder of the scene.

Technical forum / Speech Preload
« on: January 23, 2008, 02:22:27 PM »

I have one scene that is very heavy on animation and particles and I take special care in that scene not to load anything from file while this scene is running. Even if I load a small file (e.g.  an ogg sound file), sometimes I can see the particles stutter for a short moment. This is, of course, why the LoadSound(Filename) method exists in the first place but I wanted to ask about speech now. I use Talk() with a string table ID and I would like to add speech sound files in the speech directory to be played automatically by the Talk() method. Will I experience the same slowdown that I experience if I use PlaySound(Filename)? If so, how can I go around this? Will I have to write my own Talk method and use LoadSound(Filename) and PlaySound() to play the speech lines while combining it with the original Talk() method? Is there any preload of speech sound files that I don't know of?

Technical forum / Re: 3D Shadows & Objects
« on: January 20, 2008, 11:52:33 AM »
I believe the problem is the same one that is discussed in this thread: I had a very similar problem myself.

Technical forum / Re: Hidden Geometry and Performance
« on: January 02, 2008, 02:05:04 PM »
We're currently doing exactly that. We're simplifying the detailed objects while leaving their outline intact. For now, we've managed to gain back 12 of the 30 lost FPS. I hope we'd reach even better results soon. Thanks for the advice and the support.

Technical forum / Re: Problem with stencil shadows
« on: January 02, 2008, 01:55:40 PM »
Well, I'm really not sure I managed to explain the problem very well... I'll try a different approach.

Let's say you have a road in the scene (the floor) and the road has a sidewalk next to it and both the road and the sidewalk receive shadows. Now when the actor casts its shadow on the road/sidewalk you see the actor's shadow on the road up until it reaches the sidewalk and then you see only the shadow that is cast on the sidewalk. The shadow that should have been there on the road below the sidewalk is correctly hidden. Now what happens when it's not the floor vs. an object but instead it's an object vs. another object? What happens when one shadow-receiving object should have (realistically) obstructed another shadow-receiving object from receiving a shadow? As it is now, I can see both shadows at the same time - the correct shadow on the obstructing object and also the incorrect shadow on the obstructed object. Is this by design or am I reporting a bug here?

Technical forum / Problem with stencil shadows
« on: January 02, 2008, 12:06:14 PM »
I need some help in solving a problem I have with stencil shadows that is somehow hard to explain. In order to simplify the problem imagine a room with a floor and one big shadow-receiving wall. The actor steps near the wall and the shadow is correctly mapped on the floor and on the wall. Up until now everything is ok. Now place a small waist-high shadow-receiving object in front of the wall. Now when the actor steps near the wall, the shadow is mapped on the floor, on the wall (behind the object) and also on the object itself, creating a very unrealistic effect of two shadows with only one light source.

Any idea why this happens and any ways of overcoming the problem?

Technical forum / Re: Hidden Geometry and Performance
« on: December 30, 2007, 02:37:43 PM »
Well, it's just a test for now. The overall geometry is fairly simple but I have three objects in it that are about 2000 polygons each. In fact I took these three objects straight from the actual 3D scene that was used for the rendering of the background image. I know that it's not good practice to do that but I have a problem in this scene that the actor walks behind these objects and if I place simplified objects instead of the original detailed ones, their outlines don't perfectly match their equivalent rendered images and it's clearly visible in the game that the actor is obstructed by something transparent. Also, if the simplified and the detailed objects don't match perfectly, the shadow on the objects look weird because it either doesn't cover the entire object or falls also on the air near the object.

Bottom line, I don't know how to make the shadow look accurate when it falls on objects without using the original detailed 3D objects. Any ideas?

Technical forum / Re: Hidden Geometry and Performance
« on: December 30, 2007, 10:31:45 AM »
Derrek, just out of curiosity, what is your hidden geometry and your character polycounts?
and what are your test PC specs?
The geometry is something like 7000 polys and the actor has some 4800. My system is a Pentium 4 3GHz with 1GB RAM and a GeForce 7600 GT GPU running Windows XP. Do these numbers make any sense or are they too high/low (I'm referring to the polycounts and FPS)?

Pages: 1 [2] 3 4 ... 6

Page created in 0.032 seconds with 23 queries.