[ON HOLD] Bumi: Real-Time Day/Night & Weather

Sprites, textures, sounds, code, and other resources belong here. Share and share-alike!
Forum rules
Before posting your Resource, please make sure you can answer YES to any of the following questions:
  • Is the resource ENTIRELY my own work?
  • If no to the previous one, do I have permission from the original author?
  • If no to the previous one, did I put a reasonable amount of work into the resource myself, such that the changes are noticeably different from the source that I could take credit for them?
If you answered no to all three, maybe you should consider taking your stuff somewhere other than the Resources forum.

Consult the Resource/Request Posting Guidelines for more information.

Please don't put requests here! They have their own forum --> here. Thank you!

Re: Real-time day/night and weather engine

Postby YukiHerz » Sat Oct 10, 2015 9:38 pm

That's good enough i guess, still pretty damn awesome.
User avatar
YukiHerz
Always there, always bored.
 
Joined: 02 Dec 2013
Location: Where corruption is redefined daily.
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: Intel (Modern GZDoom)

Re: Real-time day/night and weather engine

Postby FireFish » Mon Oct 12, 2015 3:05 pm

Amazing video. It is kind of funny too, as this is running in an engine derived from the Doom engine. It kind of proves how far it (the engine) has been expanded upon. Its also kind of incorrect to state that this is the Doom engine at all as mentioned in some (banned) posts in this thread.

i cant stop thinking about GTA 2 when watching the video, its almost as if it is...GTA 2 in a first person perspective. :3:
FireFish
 
Joined: 27 Feb 2015
Location: your screen

Re: Real-time day/night and weather engine

Postby Fox666 » Tue Oct 13, 2015 10:54 am

This is really cool. I hope it gets more development. :)
User avatar
Fox666
 
Joined: 24 Feb 2011

Re: Real-time day/night and weather engine

Postby Dynamo » Tue Oct 13, 2015 5:48 pm

Glad to see you're still working on this :) definitely one of the better projects around imo
User avatar
Dynamo
It's a jungle out there.
 
Joined: 07 Jun 2008
Location: Lygon Street, Carlton

Re: Real-time day/night and weather engine

Postby SenteyHunter » Fri Oct 16, 2015 5:36 pm

Good to see you again working on this :D
User avatar
SenteyHunter
Blast 'em
 
Joined: 04 Apr 2014
Location: Space

Re: Real-time day/night and weather engine

Postby Oberron » Fri Nov 06, 2015 11:36 am

Pardon me for reviving the thread, but the weather and lens flare looks so cool. Kind of a early 2000's feel to it.
User avatar
Oberron
After hours.
 
Joined: 02 Aug 2015
Location: Czech Republic
Discord: BlaringCoder395#1725
Twitch ID: Adam_Deme
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: ATI/AMD (Modern GZDoom)

Re: Real-time day/night and weather engine

Postby Nash » Sat Jan 16, 2016 9:56 am

Upcoming features before I release version 0.9 BETA:

- Fog and haze Done!
- Seasons Done!
- Snowing during winter
- Seasonal texture swap (level textures that change appearance depending on season, in real-time) Done!
- Stars in the sky Done!


Only 1 item remains in the task list. This weather system has come a long way, code-wise, since I made this thread in 2014. Code has been drastically changed and improved upon. I've switched compilers from acc.exe to gdcc-acc.exe and coding this has been so much more fun and easier, and I can write stuff much cleaner because I no longer have to hack around with acc.exe's limitations. The precipitation system also does not lag as much as it used to now, meaning rainy weathers won't butcher your frame rate too much. I will use the same system to spawn and render snow flakes.

I've also made tremendous improvements on how things are setup so that you, as a mapper, do not need to be too careful of too many restrictions on how the system is setup. It used to be that you had to setup special linedef scripts, assign some tags that you had to memorize, and other nonsense, to make the weather system work correctly in your maps. Almost all of that stuff cruft is gone now. My eventual goal would be to allow you to just make your map, copy and paste the template skybox anywhere into your level and it will just work™.

Anyway, the final task (falling snow), and documentation, should be done in a few days.

I want to talk about my plans to release the open source as beta. It will stay in beta because there are currently 2 engine features that prevent me from declaring this as complete:

1) GZDoom flat sprites

In the video demo from 2014, the clouds seen in it are models (flat planes) rendered with the "Shaded" render style. This lets me draw clouds that can have smooth transparency, but the catch here is - it only supports 1 colour. So the cloud textures are really just a huge blob of white with varying transparency. I cannot colourize the clouds because the darker a colour is, the more transparent it will get (so I can't do black clouds, for example). This has nothing to do with alpha (more on that in the next paragraph).

With flat sprites, I could render the clouds as a normal sprite, with rich colours and full alpha, and then make them flat. It looks so much better than the previous "shaded model" technique. I will put up a comparison image sometime soon so that it's easier to see the differences.

tl/dr: clouds will look uglier in the beta release

2) Visibility filtering

Rain (and eventually snow) is constantly spawned around the player's position, instead of all over the entire map, and is attached to the player so that it follows the camera. This technique is more practical than simply spamming the entire level with precipitation sprites because it would introduce massive lag and STILL wouldn't look good anyway especially if the player moves fast. The downside to this technique is that, every player can see this mass of precipitation move around other players. If there were 2 players in-game, I could see player 2's rain sprites, and they could see mine. To combat this, visibility filtering is needed so that I can limit the visibility of the sprites to ONLY the player the sprites "belong" to.

tl/dr: rain and snow will look like crap in multiplayer in the beta release

And in case it wasn't obvious... I am currently developing these with custom home-made GZDoom builds. The issues I talked about can easily be disabled for official GZDoom builds and swiftly re-enabled when GZDoom officially implements flat sprites and visibility filtering.

That's all I have for now. I'm excited to let this bad boy out and hopefully it will be helpful to everyone in some way!
User avatar
Nash
Twitter/Facebook/Youtube: nashmuhandes
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Twitch ID: nashmuhandes
Github ID: nashmuhandes

Re: Real-time day/night and weather engine

Postby kodi » Sat Jan 16, 2016 11:28 am

On the topic of precipitation- do you or someone else happen to know/make an educated guess whether having droplets with NOINTERACTION (set into motion by ThrustThing(Z) rather than gravity) and spawning the splash as a hitscan puff delayed by distance would be less CPU intensive than normal projectile collision?
User avatar
kodi
Proscrastinator
 
 
 
Joined: 06 May 2013

Re: Real-time day/night and weather engine

Postby Nash » Sat Jan 16, 2016 11:48 am

I did not know exactly how much (or if it at all) does it improve performance but the rain drops currently do have +NOINTERACTION. This unfortunately made it unable to detect the water level for some reason, therefore not being able to spawn splashes when the rain collides on top of 3D water, so I made it so that the rain splashes actually have nothing to do with collision - they just spawn around the the player and at the player's Z height and separately from the rain drops. This gives it a chance to trace down to the real sector's Z height so that splashes don't form in mid-air, and also check water level (the splashes don't have +NOINTERACTION because if they do then it'd be back to square 1). The splashes have a lower spawn chance than the rain drops so hopefully that would have helped with performance. Although I can't really say unless this gets more testing from people with differing hardware.
User avatar
Nash
Twitter/Facebook/Youtube: nashmuhandes
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Twitch ID: nashmuhandes
Github ID: nashmuhandes

Re: Real-time day/night and weather engine

Postby Nash » Sun Jan 17, 2016 1:51 am



Guess what happened? I couldn't sleep and spontaneously implemented this dynamic sound dampening system! The rain and thunder sounds will get dynamically low passed depending on how far you are from the exterior. This isn't scripted, it totally works in real-time and with any kind of map!

What's hilarious is that I wasn't even planning on working on this particular feature so soon! It was an idea I dropped in a single-line comment... reminded myself that eventually I would figure out how to do this but I never even thought of this or even tried to think how it would be done until I actually started to do it today. Sleep deprivation may have played a huge factor in implementing this.

So, bonus feature for y'all that I didn't even expect to make, yay!
User avatar
Nash
Twitter/Facebook/Youtube: nashmuhandes
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Twitch ID: nashmuhandes
Github ID: nashmuhandes

Re: Real-time day/night and weather engine

Postby Nash » Sun Jan 17, 2016 1:50 pm

Image

- Fog and haze Done!
- Seasons Done!
- Snowing during winter Done!
- Seasonal texture swap (level textures that change appearance depending on season, in real-time) Done!
- Stars in the sky Done!

ALL DONE!

Just need to prepare the docs and the devkit, and fix a multiplayer sound bug only discovered 10 minutes ago, and... this would be good to go!

Kept you waiting, huh?
User avatar
Nash
Twitter/Facebook/Youtube: nashmuhandes
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Twitch ID: nashmuhandes
Github ID: nashmuhandes

Re: Real-time day/night & weather engine [source+beta immine

Postby Ozymandias81 » Sun Jan 17, 2016 1:58 pm

Drooling.
User avatar
Ozymandias81
Doom is a State of Mind... Out of Control.
 
Joined: 04 Jul 2013
Location: Mount Olympus, Mars
Github ID: Ozymandias81
Operating System: Windows Vista/7/2008 64-bit
Graphics Processor: nVidia with Vulkan support

Re: Real-time day/night & weather engine [source+beta immine

Postby grouchbag » Sun Jan 17, 2016 5:22 pm

I second the drooling, only add WOW! as well.
User avatar
grouchbag
 
Joined: 06 Dec 2012

Re: Bumi: Real-time day/night & weather

Postby Reinchard2 » Mon Jan 18, 2016 7:21 am

I can't even imagine the amount of work that you do with all this things. That's something incerdible and I can't wait when you finally comes out with beta, so I check this thread from 2014 hoping to see download link. Your work inspired me to create another city-themed level.
Reinchard2
 
Joined: 21 Sep 2007
Location: Poland - Bytom

Re: Bumi: Real-time day/night & weather

Postby JunkerKun » Mon Jan 18, 2016 8:06 am

Neat! I wonder if there will be survival simulators on GZDoom now...
Also, I don't know if this is a proper question, but... how is the dynamic weapon shifting done here?
JunkerKun
 
Joined: 05 Aug 2015

PreviousNext

Return to Resources

Who is online

Users browsing this forum: No registered users and 1 guest