Author Topic: Side Project - Rogue Arena  (Read 7237 times)

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2352
  • OPHD Lead Developer
    • LairWorks Entertainment
Side Project - Rogue Arena
« on: June 04, 2018, 09:18:33 PM »
Hey all -- been working on another project (sort of on the side, sort of not) called Rogue Arena with a friend of mine. It's based on the Quake 2 engine with heavy modifications especially in regard to the renderer. Wanted to post a couple of screenshots to see what you guys think of it so far. These screenshots are from a map I've been tinkering with for a day or two.

Upper Floor looking out over the terrace. Sunlight can be seen shining through the windows:


Looking down the stairs toward the foyer area from where the windows are.


Bottom floor looking upstairs.


Dynamic light interacting with the PBR materials of the floor.


Most of the focus for this project has been rebuilding the lighting system (it's now entirely dynamic) and including PBR rendering methods to produce more realistic surfaces. I've also ported most of the engine to C++, rebuilt the filesystem, the audio system and a few other things.

This is currently a work in progress with the intention of building an old-school style arena shooter. My friend Floyd is doing the design and most of the mapping, I'm doing detail brushwork in the maps and the programming.

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4955
Re: Side Project - Rogue Arena
« Reply #1 on: June 05, 2018, 12:19:42 PM »
Huh, interesting.

What exactly is involved with updating the lighting in something like this? Are you doing detailed work with the algorithms, or has that stuff already been written and you just need to plug new components the right way into an old game? I assume it has to be done in the right way so you can maintain good performance. Are there new data structures that needed to be added into the game engine?

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2352
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: Side Project - Rogue Arena
« Reply #2 on: June 05, 2018, 05:11:29 PM »
What exactly is involved with updating the lighting in something like this?

Changing from pre-baked radiosity to entirely dynamic using deferred shading techniques.

Are you doing detailed work with the algorithms, or has that stuff already been written and you just need to plug new components the right way into an old game?

It's a lighting model that's well known in 3D graphics and widely employed.

I assume it has to be done in the right way so you can maintain good performance.
Basically, yes. Mostly it includes cleaning up really shitty code.


Are there new data structures that needed to be added into the game engine?
Related to above, generally yes. idTech 2 used what's called a potentially visible set (PVS) -- basically after the map geometry was compiled, a PVS compiler would run on the data sets and build a list of potentially visible geometry from every available point in the map. This took awhile but it worked (mostly). It tended to be buggy.

At the moment I've replaced it with super basic frustum culling (e.g., just not drawing geometry that's outside the view frustum) but I want to replace it with a basic oct tree. After the BSP is compiled, the general idea is to generate a 'cube' area around the entire map and its geometry then subdivide that several times (not sure if it should be preset or based on size, etc., need to play with that a bit). From there geometry is further culled -- only geometry within octtree nodes that are in the view frustum will be tested against the view frustum and ultimately culled. It's probably not the most efficient means of doing this but when modern GPU's are capable of rendering billions of triangles per second having a few hundred (or even a few thousand) isn't going to affect performance much (or at all). The real performance hog is going to be the shaders and making them run as efficiently as possible.

I've already run into a few bottle necks related to the dynamic shadows (too many lights against too many shadow casting objects kills framerate). A simple way around this is to have accent lights not cast shadows (still allows for very good lighting on surfaces) but I'm not sure I like that solution.

I've also noticed that certain methods of building maps can greatly affect performance. I suspect this is a limitation of the BSP structure itself and I have a feeling the octtree scenegraph will help with that a lot.



I think a video would illustrate the new lighting better than screenshots:

« Last Edit: June 05, 2018, 05:58:34 PM by leeor_net »

Offline White Claw

  • Hero Member
  • *****
  • Posts: 854
Re: Side Project - Rogue Arena
« Reply #3 on: June 05, 2018, 11:20:31 PM »
Another side project?!  :o  This doesn't sound like a small one either.

Nice work. I look forward to seeing where this project heads, as well!

Offline Vagabond

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1015
Re: Side Project - Rogue Arena
« Reply #4 on: June 06, 2018, 01:10:36 AM »
Leeor,

The lighting looks really good. I'm impressed.

I'm curious what the end goal of this project is? It looks like you are trying to create a new first person shooter?

-Brett

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4955
Re: Side Project - Rogue Arena
« Reply #5 on: June 06, 2018, 07:11:29 PM »
Yeah, the lighting does look really good. That's a neat little demo level.

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2352
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: Side Project - Rogue Arena
« Reply #6 on: June 06, 2018, 08:15:37 PM »
That's my materials test level. Except for a few new ones I recently added those are all of the materials in the game with a few dynamic point lights.

I'm curious what the end goal of this project is? It looks like you are trying to create a new first person shooter?

It's intended to be an arena shooter much like Quake 3 Arena... but not Q3A. I'm just doing the programming, Floyd is doing the overall design work.

Another side project?!  :o  This doesn't sound like a small one either.

It wasn't but now that the major work is done it's now mostly a matter of designing a more friendly UI, setting up a handshake server and coding in the new weapons. Mostly they'll be tweaks of what you find in the typical Quake games. Of course the weapon models need to be replaced but we're working on that. :)

Offline Vagabond

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1015
Re: Side Project - Rogue Arena
« Reply #7 on: June 09, 2018, 01:08:57 AM »
Feel free to update us on the progress on occasion. I'd be willing to try it when it is in beta. Although I have trouble playing FPS games if they are too violent/gory.

-Brett

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2352
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: Side Project - Rogue Arena
« Reply #8 on: June 09, 2018, 05:36:58 PM »
So Brutal Doom is out of the question then. :)

This one is a bit bloody but it's about on par with Quake 2 / Quake 3 -- you have blood splatter on walls and floors and such but it's never as gory as Doom. It's basically just a fast paced arena shooter.

When I get more done I'll be sure to update this thread. :D

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4955
Re: Side Project - Rogue Arena
« Reply #9 on: June 10, 2018, 10:13:03 AM »
OMG, I just checked the trailer for Brutal Doom. That's awesome!  :D

Hah! I've never seen that before. I've got to give that a try now.


I'm not normally a violent person or anything, but there's something about the over the top nature of it all that's appealing. Kind of like the movie Machete. I bet my brother would get a big laugh out of this.


Leeor, I would have no objections if you wanted to take the gore to an extreme level. ;)

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2352
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: Side Project - Rogue Arena
« Reply #10 on: June 10, 2018, 11:05:03 AM »
Brutal Doom style? I've thought about it. :)