Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
icecoldduke

Darklight Arena on IcedTech

Recommended Posts

Hey,

 

Today I want to introduce Darklight Arena. Darklight Arena is a new arena shooter using my custom fork of Doom 3 Vanilla called IcedTech. I want to give special thanks to Doggo-San who has been working on the Linux port of IcedTech.

 

The bot you see in the video is using my ported Quake 3 arena bot code, that was refactored to use racast navmesh instead of AAS, but let's back up a bit.

 

The goal of IcedTech is to provide a useable codebase for people that want to develop a brand new game from scratch. The engine has a lot unique features:

  • Virtual Texturing
  • Recast NavMesh(AAS and all Doom 3 AI code has been removed).
  • Weapon Code is native and no longer in DoomScript.
  • Doom 3 BFG code integration.
  • Reflection Probe System
  • Lots of Radiant front end bits moved to .NET.
  • PBR Shaders
  • Shadow Mapping(stencil shadows removed).
  • 64bit-only.
  • And lots more!

 

The flagship game on IcedTech is called Darklight Arena. Think Doom 3 mixed with Quake 3 Arena. I have a lot of new art implemented, new multiplayer features implemented(remember how bare bones Doom 3 multiplayer was?). Right now we have one level, DM1 from Quake 1(used from the GPL map release from John Remereo, and re-lit by me). The weapons I'm currently to get in for a playable demo, and are there but need a significant amount of tweaking to match the feel of Q3A:

  • Machinegun
  • Rocket Launcher
  • Plasma Gun
  • Shotgun

 

I wanted to quickly give a shout out to the Xonotic and OpenArena team. A good portion of our audio and our music is from those projects(used under GPLv3). Thanks guys for developing a fantastic GPL arena project, this project wouldn't be in its current form without there hard work. 

 

Anyway take a look at the video. Any feedback(good or bad) is welcome, and if you looking to maybe join the development team, join us on Discord!

https://discordapp.com/channels/488393111014342656/488393111014342659

 

Source Code:

https://github.com/jmarshall23/IcedTech

Edited by icecoldduke

Share this post


Link to post

I hope Lei Lei likes this.

 

As for me? I like it too, very much so. We could use a more modern Quake 3 take without referring to Champions or Quake Live in terms of visual demands and system specs, so Darklight Arena seems natural fit.

 

With that said, take a look at @kristus's Doombringer which is also an arena shooter, but on Darkplaces. Share some thoughts together, despite the obvious differences both projects have!
 

 

Share this post


Link to post
4 hours ago, Redneckerz said:

I hope Lei Lei likes this.

 

As for me? I like it too, very much so. We could use a more modern Quake 3 take without referring to Champions or Quake Live in terms of visual demands and system specs, so Darklight Arena seems natural fit.

 

With that said, take a look at @kristus's Doombringer which is also an arena shooter, but on Darkplaces. Share some thoughts together, despite the obvious differences both projects have!

 

Thanks for that :).

 

One of the things in Doombringer that I really like is the movement bits. In Darklight Arena I've done some modifications to the player movement, but I think I need to make the player a bit faster and add double jump. If you'd like to talk more and share some thoughts on I'm always on Discord. 

 

The big thing win I think for Darklight Arena over Quake Champions is the ability to add custom content. The map editor is built right into the game, and has been heavily modified to be more usable(DarkRadiant is also a option as well). The only visual bit that isn't showing in the editor realtime preview at the moment is the reflection probes. 

 

Edited by icecoldduke

Share this post


Link to post

Quite a few people filed a bug report related to the weapons looking blocky and low resolution. That was a bug in the virtual texture feedback buffer that has been fixed. 

image1.png

 

vtimage1.png

Share this post


Link to post

Doing some relight work in the map, a long with a switch over to another texture pack(xcsv high res texture pack for Q3A). Also made a lot of under the hood virtual texture system changes as well. 

522126315_unknown(1).png.4e87834dd714e6616c1ad568f9e94df6.png

Edited by icecoldduke

Share this post


Link to post

Just got GPU skinning working. Before holding the shotgun would drop the framerate to 29fps, now its at 60. 

 

 

 

Edited by icecoldduke

Share this post


Link to post

Here's a video showing off the performance gains of GPU skinning. I also turn on debug views for virtual texturing and navmesh to show off some of the tech in IcedTech.

 

 

Share this post


Link to post

This video shows destructable wall work(bits of geometry that blow off when you shoot a wall) using the new client entity system(i.e. entities that aren't replicated, this system did not exist in Doom 3). Each bit that comes off uses idPhysics so it bounces around the world properly.

Share this post


Link to post

Fixed a lot of bugs with the Q3A bot integration(keep in mind IcedTech is idTech 4 based). Added a lot of new multiplayer bits. Shows our load times(3 seconds from cold start!). And alot more!

Share this post


Link to post

I've been blocking out a new map, it's still in the block out stages, but since the above video I've added SSAO(from RBDoom3BFG), bloom and completely removed the portal culling system.

 

 

Share this post


Link to post

So I removed the entire particle system that was in Doom 3 and I'm replacing it with my custom pipeline, were you basically render out a particle simulation in blender, and export it to the engine. The actual particle rendering needs work, but this pipeline is really easy to use compared to the stock Doom 3 particle pipeline, and the simulations look a lot better. 

 

 

Edited by icecoldduke

Share this post


Link to post

More particle system work, a lot more properties particle properties can be exported to the engine. Rocket Trails, explosions, Gibs and more!

Share this post


Link to post

I suggest fixing those overlapping brushes, the flickering faces look absolutely terrible and distract from the stuff you are trying to show.

Share this post


Link to post
9 hours ago, andrewj said:

I suggest fixing those overlapping brushes, the flickering faces look absolutely terrible and distract from the stuff you are trying to show.

Thank you for the great feedback and I completely agree :)

Share this post


Link to post

I've been heavily working on the editor for Darklight Arena. Here's a video showing off some of the new features in IceStudio including the game tab preview(this same feature exists in idStudio in Rage, Unity and UE4). There are a lot more features, such as a huge portion of the editor moved to C#(Radiant.NET) that I did a few months back.

 

Share this post


Link to post

Is the editor part of the engine (like in Doom 3) or a separate program?

 

I have had this misfortune to poke around the innards of the NetRadiant editor for Q3A, and it is some of the most awful code that I have ever seen.  I want to add a few features and fix a crash bug I'm getting, but damn there is some nasty shit going in there, and I just don't wanna touch it.

Share this post


Link to post
5 hours ago, andrewj said:

Is the editor part of the engine (like in Doom 3) or a separate program?

 

I have had this misfortune to poke around the innards of the NetRadiant editor for Q3A, and it is some of the most awful code that I have ever seen.  I want to add a few features and fix a crash bug I'm getting, but damn there is some nasty shit going in there, and I just don't wanna touch it.

Yes iceStudio is a heavily modified version of DoomEdit running on my Radiant.NET platform. Icestudio is built into the game and is not a separate program. At this point only a few dialogs haven’t been converted over to c#, once that’s done I can rip out MFC entirely for the editor and it would be cross platform ready. 
 

This would be the first time the built in editor is cross platform. 

Share this post


Link to post

 Moved the winforms to the Metro Framework. Moved the inspector dialog(the dialog bottom left) to C#, and moved all the windows to split containers. Again this is the in game editor, previously called DoomEdit.

icestudio4.png

Share this post


Link to post

More progress: Got a new player model working with animations, completely removed the DoomScript player animation system, and replaced it with a native version. Also MayaImport now allows 3 to n poly triangles(previously all meshes had to be triangulated).

darklightarena.png

Share this post


Link to post

This video shows more of DoomEdit moved to Radiant.NET, new animation system, and new player model(with animations). I also added ImGui, that's the bit thats rendering the frame stats.

Share this post


Link to post

New sky portal system in Darklight Arena. Entire maps can be loaded as a sky portal. This will allow artists to create more dynamic looking skies. This sky is made up of terrain and a skydome. This new addition was made easier because of the new idRenderEntity and idRenderLight system and the new sky portal system.

Share this post


Link to post

I like the aesthetic of the map, it looks really cool.  For DM I prefer a simpler/cleaner look, but that is just my personal preference.

 

The flickering faces are ugly -- is it really so hard to fix them?  I would never show off a map with such glaring flaws.

 

The gameplay of the map suffers from symmetry syndrome, imo a good map should never be perfectly symmetrical as a whole, it feels a bit cheap I guess.  Try to do something different on each side, even a height difference (one side low, one side high) can be much more interesting to navigate and play in.

Share this post


Link to post

I rewrote all of the network code in idTech 4, and switched everything over to client/server. This is a test of that code, with the dedicated server running in my AWS instance in Oregon, and I'm playing in LA. Ping is approx 35ms.

Share this post


Link to post

I'm switching IcedTech to use MD6Mesh files, the same mesh format used in Rage. Since there aren't any exports for MD6, I've started to write one. I'm able to export FBX files to MD6Mesh and import it into Rage.

 

 

Share this post


Link to post

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
×