Sign in to follow this  
  • entries
    235
  • comments
    509
  • views
    172055

Tower Chase

Sign in to follow this  

105 views

Yesterday I worked on the tower level. I created an ivy decal, which adds a nice touch and some variety. Later on I will have to break up some of the stone, add some scratches, etc. I also added a stairway to one of the towers and tweaked it until it lined up right and was navigable. Unfortunately, I did still find some issues in the navigation system. The enemy was able to follow me across the bridge from one tower to another, and also partway down the stairs before leaping to his demise. This week I need to fix the last of these issues with the system.



The large river seen from above raised some visual issues with the liquid shadows, which I was able to fix with a combination of code fixes to the liquid system, as well as some art tweaks.



Soon, I'll be attempting to integrate the Novodex physics engine into the game, to see if it is more stable than my home-grown solution. I may leave the character control with my system, as it is working great with no issues - only the weapons are giving me trouble at this point.

Editor-wise, I fixed a bug with the force-size option that will make it much easier to get objects to line up nicely.





Journal-wise, it's been pretty dead around here lately. If there are any questions you have about the engine, techniques, journal or the game, feel free to ask them here.
Sign in to follow this  


11 Comments


Recommended Comments

Well, regarding the lack of recent comments: My guess is that people realized that saying "Wow" in every journal entry might not be the kind of feedback/comments you're expecting [grin]. That's certainly the way it is for me.

One thing, though. Do you plan to make changes to the top-down view? I feel like it hides a lot of the beauty of the architecture and characters. i.e. There are a lot less details to notice when looking from the top all the time.

Share this comment


Link to comment
I have two comments:

1) I STILL think it'd be better to redo the reflection and Fresnel effect
2) Yeah, if you could make it a *little* bit isometric, that'd be great.

Share this comment


Link to comment
Great feedback. Actually, the view is not supposed to be straight top down. After reading your feedback, I looked at my camera settings, and it turned out that the camera offset was being ignored in my code.

Looks like I disabled that code by mistake at some point.

Here is a setting more similar to what we plan to use :



Here is a more dramatic setting :

Share this comment


Link to comment
I've got a question, I was going to email you it but here it I'll fill up your journal space instead :)

I was trying to perf my game last night and I got fed up with pix so I downloaded NVPerfHUD and found a GDC session by the man and the legend Sim Dietrich in audio format. (Side note: I'm kind of disapointed this year that nvidia didn't put as much video's of gdc on their site as they did last year).

In the audio track you mentioned how you first layed down the diffuse texture then rendered the geometry again with the decals blending together then copy it offscreen. Rinse and repeat for the normal + decal. Did I get this right, and can you go a little more into your deffered shading model?

I've got to get our game working on a min spec geforce 3 card(ps1.1) to enter it into the 4 elements contest here on gamedev. It would be nice to get this type of architecture into our game

Thanks,
Dave Neubelt

Share this comment


Link to comment
Sim, I have read in your previous entries (it may have been the first one) that your engine scales very well to lower end hardware. What type of performance does your current engine/game achieve on gf3 level hardware?

I am asking because I am currently trying to optimize some of my rendering routines and would like to compare. Your visual quality is much higher than mine (for the moment :) ! ), but I would like to compare the performance.

Also, do you use any scripting at all? I have begun integrating lua and wondered what your perspective is on using a canned language.

Keep up the good work!

Share this comment


Link to comment
Wow, the adjusted camera angle looks amazing! (not that it didn't before).

Great work! Your entrys are always an interesting read.

- Dan

Share this comment


Link to comment
You know, I haven't tried it on an older card in a while. Last time I tried I was getting ~40 fps.

I will have to do a series of articles or journal updates on the deferred shading system, but yes, it sounds like you have got it down. You just use the back buffer to composite your diffuse textures, then copy them offscreen, and then composite your normal map textures.

It works really well for the decals, which are a really fast & simple way to spice up the levels. For speed, I put all decals of the same texture that pass a frustum check in the same dynamic vb draw call.

Share this comment


Link to comment
Quote:
You just use the back buffer to composite your diffuse textures, then copy them offscreen, and then composite your normal map textures.


You copy them off screen onto a texture. This gives you two textures laying around in memory. What is the process of putting them back into the scene? My guess is you render the diffuse texture on a full screen quad, enable additive blending and then render another full screen quad with the normal texture. Is this correct? Is there anything else you do before adding them together?

Also, what is the advantage of this approach then simply rendering using a multipass frame buffer blend.

Share this comment


Link to comment
I tried to find a .ppt deck I put together that goes through it, but I don't have it handy. I'll post it somewhere if I find it later on.

The idea is to end up with 1 screen-sized texture that has your scene's blended diffuse info, another one with all of the normal info, and then the back buffer, which gets the lighting rendered into it.

1) Render Diffuse map of main world geometry to back buffer. Write Z also to z buffer.

2) Turn off Z writes.

3) If I did terrain or multi-layer diffuse, I could do it now.

4) Alpha blend any decals into this diffuse back buffer.

5) StretchRect() this offscreen to a back-buffer sized texture. This allows AA to work, whereas simply rendering the whole scene to a texture would defeat AA.

6) Draw normal map of main world geometry into back buffer. No need to write Z or clear the screen first.

7) Again multi-layers of normal maps would go here.

8) Normal-maps of decals are alpha blended in to the back buffer.

9) StretchRect this to another texture.

10) Render ambient light & global reflections into back buffer, using both of the diffuse & normal textures, as well as each material's constants for bumpiness, diffuse color, glossiness, etc.

11) Do shadows into dest alpha, and then draw light on top, adding in to the current back buffer.



Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now