Horde3D

Next-Generation Graphics Engine
It is currently 16.06.2024, 06:46

All times are UTC + 1 hour




Post new topic Reply to topic  [ 28 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: 23.07.2008, 22:44 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
Congratulations on what you have achieved so far! I like especially the first image ("Toothy"). Are you using rim lighting for the characters?

The second image is still lacking a bit atmosphere but I think that's mainly because of the lighting that you still want to tweak.

Well, if I were in your team ;) and had some time left and no more important things to do, I would try to experiment a bit with post processing effects. Some HDR could be cool, maybe also some depth of field or color correction. Another nice thing on which I would spend a day or two is screen space ambient occlusion (there is much shader code on the net already). The really interesting stuff, if you can spend a few days for some research, is to get some simple screen space global illumination like here (http://drkappa.blogspot.com/2008/07/ssgi.html). Since you are doing deferred shading this should be possible. Well, but probably you should better spend your time on the really important stuff :)


Top
 Profile  
Reply with quote  
PostPosted: 24.07.2008, 00:20 
Offline

Joined: 22.05.2008, 18:30
Posts: 37
Yea, one of our artists ( Indecisive ) wrote the rim-light shader that is used on Kohi ( the blue character. )

Our main problem at the moment is we're throwing so much at the screen that our graphics cards are choking a bit, so we need to optimise things a LOT just now, to the point that I'm actually re-adding the forward rendering pipeline just incase.
We've kinda spent a bit too long hanging on for better graphics cards and praying that everything will be alright that we haven't had a great deal of time playtesting or writing gameplay code ( having the thing run below 10fps makes it somewhat difficult to test things like this - we have nVidia 6600s at the moment, which should be going to 8500s soon ), so we may have cornered ourselves a bit :(

That said, we still have enough time to dig ourselves out the hole we're in, if we plan very carefully what we'll be doing the next couple of weeks and stick to it... we'll manage though :)


Top
 Profile  
Reply with quote  
PostPosted: 24.07.2008, 19:11 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
Do you have an idea what is slowing your game down? Are you using shadows for all your deferred lights? How many shadow splits are you using per light and what is the shadow map size? Do you have too many polygons or overly complex shaders? Try to enable texture compression, that would speed things up if you are bandwidth limited. One quick trick for gameplay testing until the code is more optimized could be to disable all shadows. And did you already try to enable occlusion culling?

As stated in another thread, the deferred shading implementation could quite easily be optimized using 8 bit targets and reconstructing fragment position from depth (google for this). Furthermore, Horde is currently not very optimized for indoor scenes. A portal system would work wonders here and would not be so hard to write. One hacky solution that could work for you in a quick way is to emulate a portal system in your scripts. Create some simple sector geometry (maybe AABBs) and store a (hardcoded) list of all lights / larger objects that are not visible from that sector. You can then check in which sector you are and deactivate these objects using your script. Better would be a clean portal implementation in the engine of course but probably you won't have the time for that. I think there is also a chance to improve the occlusion culling by discarding lights that are completely occluded. If I remember correctly this is not yet done.


Top
 Profile  
Reply with quote  
PostPosted: 25.07.2008, 17:02 
Offline

Joined: 22.05.2008, 18:30
Posts: 37
The levels themselves were overly massive.. we scaled everything down by ten and had a big speed increase just from that.
Occlusion Culling is enabled (well, it is now.. I thought it was default till I checked!) along with texture compression but we're still crunching somewhere.. we're not quite sure what.. taking the shaders out do help a lot but when it can still drop under 50fps when all we're doing is rendering straight pixel data from the textures with zero lighting and shadowing, we might be crunching with just the polygon data.

Light wise.. both levels have 7 lights, all casting shadows, with shadow map sizes of 1024, ShadowMapCount set to 3, ShadowSplitLambda of 0.9 and the ShadowMapBias set as 0.001... and we get 15-20fps in deferred shading on Toothy, with 5fps on Factory Section 1... we can change the lights more or less on the fly without compiling, so we can properly experiment with this when we go over the lights for a second time as they were all put in to just light up the level ( as is the case in Factory Section 1. )

Amusingly, the Portal system you suggested is what we're doing for which spawn point to come back to, and I was going to link the lights to it as well.. as the level is one giant mesh, however, using something like setNodeActivation to turn chunks of geometry on and off depending upon which zone you're in, could be a bit of a pain... so if it does come to that, we might shout at the artists to split the meshes up into sections, and see if we get a speed increase there.

Lachlan's implemented a ghosting shader ( so you can see your characters through level geometry ), as well as the particles.. which we're pretty sure aren't exactly the most optimised way of doing them, so this could be having an ill effect on the framerate too... but we've done what Lachlan calls "QuickAndUglyRendering" which does what I've just said of rendering the exact texture pixel data to the screen with nothing else, to enable us to get the gameplay done and finished.

With just over two weeks left, any quick hack we can do is going in :mrgreen: but we can atleast get the rest of the gameplay scripting done very quickly now.. hopefully have the vast majority done for Monday, and then go about getting the graphics back up to par again :)


Top
 Profile  
Reply with quote  
PostPosted: 30.07.2008, 17:05 
Offline

Joined: 22.05.2008, 18:30
Posts: 37
We now have our one minute gameplay trailer - a 35mb MPEG file - which you can grab here : http://www.stuckieworld.co.uk/files/Video3.mpg :)

We've unfortunately just had to cut a number of things out not long afterwards, but with just ten days left, we pretty much had to!

Hope you like it :)


Top
 Profile  
Reply with quote  
PostPosted: 03.08.2008, 02:03 
Offline

Joined: 26.03.2008, 02:58
Posts: 160
Wow this is really cool!!! Congratulations on your project. We have to get some screenshots to showcase on horde3d's wiki image gallery. Maybe do a post-mortem with you guys about your project and the experience of working with Horde3D. Post that on the wiki and add a link to gamedev ;)


Top
 Profile  
Reply with quote  
PostPosted: 16.08.2008, 11:19 
Offline

Joined: 22.05.2008, 18:30
Posts: 37
We're now finished Dare and Protoplay!

We had a lot of industry people running around at Protoplay and really loving our graphics, which thanks to Horde, were cleanly rendered on-screen for all to see :) Unfortunately, we had to default back to a forward shading pipeline, but it was a miracle we got something in the end ( I was coding a fair chunk of the game on the bus ride to Protoplay! )

Unfortunately, we did not win a main Dare prize - however, we DID come second in the amBX prize! So our game will be used as an example of using amBX when demonstrating games :) it'll also be used by Dare for various promotional things, so here's hoping we've managed to garner up some industry interest for Horde!

After a bit of rest, I'm going to clean up some of the code that we did over the ten weeks, and write up some tutorials and possibly a quick post-mortem on how we got on with integrating Horde in our engine.

Overall though, it really was an amazing - all be it exhausting - experience to produce a game in ten weeks, and I have to seriously thank everyone here for all the help you have given us - especially marciano, as without the help he gave us near the end, we'd probably not have made it.

Thank You All,
Steven "Stuckie" Campbell


The demo will be up soon! Don't worry! ;) But you will need two gamepads ( preferably PS2 pads with a USB converter like we used ) and someone else to play with, as it's strictly a two-player game!


Top
 Profile  
Reply with quote  
PostPosted: 16.08.2008, 21:02 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
Congratulations for the second amBX price and your finished game. I like your overall artistic style, it looks quite refreshing.

Ten weeks for making a game and having to code parts of the engine is really a challenge. I can still recall the last weeks of our Aerosion project before the deadline. It were long and sometimes straining nights but it was always fun. I hope you won't make the same mistake that we did in not releasing a demo or at least a polished high res video. Well, ok, at least our graphics subsystem is public now :)

I must also say that I appreciate a lot that you were one of the first teams to use Horde for a complete game, or at least a fully playable prototype. Of course there is always some risk to use something that has not yet proven its stability in a dozen of projects. So my respect that you dared ;) to take that challenge, especially with a fixed deadline in mind. This testifies to the confidence in your own skills as a team. We already got some feedback in our discussions, but I would look forward to see in more detail how Horde worked out for you. Constructive criticism is always welcome and an important step to come closer to our goal of having one of the highest quality graphics engines in all aspects.

And...Don't forget to take your recreation time :)


Top
 Profile  
Reply with quote  
PostPosted: 28.09.2008, 02:31 
Offline

Joined: 22.05.2008, 18:30
Posts: 37
Apologies for taking so long to get everything organised!

I've updated my website with a host of information on Plight of The Weedunks, including the all important download link ;)

http://www.stuckiegamez.co.uk/index.php ... e-weedunks

You *WILL* require TWO gamepads in order to play as it is strictly a two-player only game.
Which gamepads you use really don't matter, as I've opened up the engine enough for people to edit the button configs... but we used PS2 Pads with a USB converter.

I suggest reading at least the bottom of the page, which Jonny wrote as it gives instructions on what goes on in the game, with the controls as well. There's readme files within the ( 150mb! ) 7zip archive detailing how to fiddle with it to try get the game to run on as wide a range of hardware as was possible.

There was _one_ crash bug which I fixed during the Protoplay event.
There is still _one_ intermittent bug where Lua gets it's Horde handles confused, and random bits of geometry get deleted, or attached to the wrong thing. The physics mesh still exists however, so in the case of disappearing geometry, if you take a leap of faith, the physics mesh still exists!
As this is a Lua list problem, there's not much I can do save from re-writing the list implementation again and I'm not quite sure I'm allowed to do that just now.

I cannot release the source code to the game, but I can release the converter source ( which I'm in the process of updating my code to Beta2 and writing a guide on what I did in the first place to help others add extra bits to it! ) so if anyone needs that immediately, let me know and I'll throw it up as is. It's somewhat nasty though, and I'd prefer to fix it up and tutorialise it before releasing if that's alright :)

I should probably get a few more ingame screenshots and pick the best one to shove on the Wiki gallery!

Anyway, enjoy :)
Comments are welcome!

And again, I apologise for taking so long, and for the HUGE download!

--edit--
Helps if I put a link up, doesn't it? ;)


Top
 Profile  
Reply with quote  
PostPosted: 08.10.2008, 23:48 
Offline

Joined: 26.03.2008, 02:58
Posts: 160
Thanks for the update :)


Top
 Profile  
Reply with quote  
PostPosted: 19.10.2015, 21:27 
Offline

Joined: 22.05.2008, 18:30
Posts: 37
Hello!

It's been a while, but I've just uncovered all the source to Plight of the Weedunks again.. and before it gets lost to bit rot entirely, thought I'd stuff it up on GitHub.
You can grab it here: https://github.com/stuckie/plightoftheweedunks

I make no promises of it compiling against anything recent.. but I was pleasantly surprised to see the Linux binaries still work ( tested about 20 minutes ago on Debian 8.1 AMD64 no less! ) and only had to grab the relevant i386 versions of ODE, SDL, SDL_mixer and SDL_image.
The CodeBlocks project also did load up in the current CodeBlocks and did attempt to compile.. but it ran into issues due to the included SDL and ODE relying on 32bit and my system being 64bit, and was more wanting to get it archived in it's untouched state before adding any extra bugs and breaking things.
The source is from the last version that was on display at Dare to be Digital's Protoplay exhibition back in 2008; minus amBX stuff so Philips don't hunt me down! :mrgreen:

It may be useful to see how we bound Horde out to Lua, or married up ODE with Horde and Lua...
Or how a group of 2 programmers, 2 artists and a producer/level designer managed to make a game in 8 weeks from scratch.
Either way, it was fun, and I hope the project helps someone at least :)


Top
 Profile  
Reply with quote  
PostPosted: 19.10.2015, 23:08 
Offline
Tool Developer

Joined: 13.11.2007, 11:07
Posts: 1150
Location: Germany
Thanks for the contribution


Top
 Profile  
Reply with quote  
PostPosted: 24.12.2023, 00:41 
Offline

Joined: 02.01.2017, 02:59
Posts: 23
stuckie wrote:
Hello!

It's been a while, but I've just uncovered all the source to Plight of the Weedunks again.. and before it gets lost to bit rot entirely, thought I'd stuff it up on GitHub.
You can grab it here: https://github.com/stuckie/plightoftheweedunks

I make no promises of it compiling against anything recent.. but I was pleasantly surprised to see the Linux binaries still work ( tested about 20 minutes ago on Debian 8.1 AMD64 no less! ) and only had to grab the relevant i386 versions of ODE, SDL, SDL_mixer and SDL_image.
The CodeBlocks project also did load up in the current CodeBlocks and did attempt to compile.. but it ran into issues due to the included SDL and ODE relying on 32bit and my system being 64bit, and was more wanting to get it archived in it's untouched state before adding any extra bugs and breaking things.
The source is from the last version that was on display at Dare to be Digital's Protoplay exhibition back in 2008; minus amBX stuff so Philips don't hunt me down! :mrgreen:

It may be useful to see how we bound Horde out to Lua, or married up ODE with Horde and Lua...
Or how a group of 2 programmers, 2 artists and a producer/level designer managed to make a game in 8 weeks from scratch.
Either way, it was fun, and I hope the project helps someone at least :)


Thanks for sharing, Horde3D code/examples is very scares lol


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 28 posts ]  Go to page Previous  1, 2

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group