Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411423 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 18, 2024, 02:56:30 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsRTG - The Ray-Traced Game (Puzzle / Platformer)
Pages: 1 [2] 3 4 ... 16
Print
Author Topic: RTG - The Ray-Traced Game (Puzzle / Platformer)  (Read 35804 times)
ChaoticEdge
Level 0
**


View Profile WWW
« Reply #20 on: August 24, 2020, 08:58:17 PM »

Looks great! Have you thought of using the GPU for "first hit" optimisations? Let the rasteriser quickly calculate the first hit, and the CPU can concentrate on reflected/refracted rays.
Logged

vdapps
Level 5
*****


Head against wall since 2013


View Profile WWW
« Reply #21 on: August 25, 2020, 01:37:55 AM »

Looks great! Have you thought of using the GPU for "first hit" optimisations? Let the rasteriser quickly calculate the first hit, and the CPU can concentrate on reflected/refracted rays.

Thx! In fact, I have something similar prepared. First hit optimization however not on GPU, but also on CPU (just much faster). Currently, algorithm is very academic, so even first hit is computed with ray vs geometry computation (slow). This I wanted to change to have first hit rendered with SW based rasterizer, which will output directly pointers (or indices), so ray-tracing algorithm can take over quickly to do color/shadow/reflection/refraction computation.

I have such SW rasterizer prepared aside, with everything needed (clipping + scan-line rasterization with depth buffer). Only thing needed is change from outputting colors to outputting pointers/indices. And this is the reason I don't want to do it on GPU. With GPU, I am worried that I'll not be able to have control over any possible GPU/driver configuration, so my output framebuffer will not be messed up with some filtering, anti-aliasing or whatever. When outputting pointers/indices, it can be fatal and very prone to errors/crashes. With CPU I have 100% control over my framebuffer, so I can output there what I want, without worrying that it'll be changed by something which is out of my control.

Anyway, I'm focused on Universe Quest project now, however RTG is still live as backup project. When I'll want to take a break from UQ, or I'll just feel that I want to change to ray-tracing again, I can resume works anytime as it's based on same engine, side-by-side in my repo. Only 'speciality' of RTG is this ray-tracing in C++.
Logged

Sp1ke
Level 0
***


Mike


View Profile WWW
« Reply #22 on: September 17, 2020, 09:51:58 AM »

Looks great! Have you thought of using the GPU for "first hit" optimisations? Let the rasteriser quickly calculate the first hit, and the CPU can concentrate on reflected/refracted rays.

Thx! In fact, I have something similar prepared. First hit optimization however not on GPU, but also on CPU (just much faster). Currently, algorithm is very academic, so even first hit is computed with ray vs geometry computation (slow). This I wanted to change to have first hit rendered with SW based rasterizer, which will output directly pointers (or indices), so ray-tracing algorithm can take over quickly to do color/shadow/reflection/refraction computation.

I have such SW rasterizer prepared aside, with everything needed (clipping + scan-line rasterization with depth buffer). Only thing needed is change from outputting colors to outputting pointers/indices. And this is the reason I don't want to do it on GPU. With GPU, I am worried that I'll not be able to have control over any possible GPU/driver configuration, so my output framebuffer will not be messed up with some filtering, anti-aliasing or whatever. When outputting pointers/indices, it can be fatal and very prone to errors/crashes. With CPU I have 100% control over my framebuffer, so I can output there what I want, without worrying that it'll be changed by something which is out of my control.

Anyway, I'm focused on Universe Quest project now, however RTG is still live as backup project. When I'll want to take a break from UQ, or I'll just feel that I want to change to ray-tracing again, I can resume works anytime as it's based on same engine, side-by-side in my repo. Only 'speciality' of RTG is this ray-tracing in C++.

Looks impressive. Considering the number of objects on the screen I guess raytracing will be better than PS5 and xbox series x (what a stupid name, by the way) when they make game with 60fps 4k.(marketing bullshit anyway).
Logged

vdapps
Level 5
*****


Head against wall since 2013


View Profile WWW
« Reply #23 on: September 19, 2020, 04:47:50 PM »

Thx! I think I definitely can't match anyhow PS5 or XBX. I'm pure SW only so I must be super-low-poly and super-low-res to keep 60fps. Btw, I must say, I not even checked yet API-s for HW raytracing not in DX12 nor NVidia's native API.

As I'm now more on Universe Quest, I paused RTG a bit, but I don't want stop works on it. I had some brainstorming session about scaling down project, so SW ray-tracing principle will be still there, but game will be just less ambitious than my original plan (regarding story and action part).
Logged

vdapps
Level 5
*****


Head against wall since 2013


View Profile WWW
« Reply #24 on: September 29, 2020, 07:47:49 AM »

-= Devlog #7 =-

I'm happy to announce that development of RTG is resumed Cool I just had to scale down my original ambitions. Cry

All levels made until now had static camera (as can be seen in previous animations). So this time I focused on camera movement.

For that I made bigger test level, exceeding one single screen, to test on it. I did some camera smoothing, so camera is lagging a bit behind player but overall impression should be smoother.

Camera movement and smoothing:


Logged

JobLeonard
Level 10
*****



View Profile
« Reply #25 on: September 29, 2020, 08:14:20 AM »

Nice update as always!

What kind of downscaling?
Logged
vdapps
Level 5
*****


Head against wall since 2013


View Profile WWW
« Reply #26 on: September 29, 2020, 08:32:18 AM »

Thx! Originally, I wanted to give it some deeper story (spoken through those terminals you can see in animations. Also terminals had to be much more interactive - something like in Talos Principle). I planned levels / action parts, adapted to this story. However scale of work needed for that was just going out of my hands for one-man part-time project.

However, I didn't want to abandon idea of the game made with SW ray-tracing as I really like it. So now it will be more like "ordinary" puzzler / platformer, where in every level you'll have some challenges, be it solving puzzles or action (jumping through moving platforms, etc.). Basic idea : using ray-tracing through lights, shadows and reflections will be still there. Wink

However, if my progress will be OK, MAYBE I will scratch the surface of the story just by allowing player to read terminals. So the environment will have some sense.
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #27 on: September 29, 2020, 08:56:24 AM »

Sounds like a plan. Start with what is manageable, add things later
Logged
Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #28 on: September 29, 2020, 11:00:15 AM »

Nice, I hope the reduced scope works well for you!
Logged

vdapps
Level 5
*****


Head against wall since 2013


View Profile WWW
« Reply #29 on: October 19, 2020, 09:12:46 AM »

After Universe Quest update, now there's turn for RTG.

Meanwhile, created page on itch.io for the game, where I will keep DevLog as well, even if more brief one (itch.io has size limit of 3MB per picture or animated gif/png, so I can certainly make better posts here).

If you would like to follow >> https://vdapps.itch.io/
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #30 on: October 19, 2020, 09:36:42 AM »

Done, looking forward to see where you'll take this Smiley
Logged
vdapps
Level 5
*****


Head against wall since 2013


View Profile WWW
« Reply #31 on: October 19, 2020, 09:52:16 AM »

Thx! And I'm looking forward for your comments, which are well founded and inspirational! Coffee
Logged

vdapps
Level 5
*****


Head against wall since 2013


View Profile WWW
« Reply #32 on: October 27, 2020, 01:37:13 PM »

-= Devlog #8 =-

Hi All!

The last bit of work on RTG was in implementing proper box vs box collisions. Before, actor was casting only some points against environment, so it was easy to jump through ceiling with head or stuck in the environment. It was ok for showcases but not for final game. New collisions are solving that. Also, there will be dynamic boxes and lights in game, on which gravity will apply, and you'll be able to carry them or throw them. Proper box vs box collisions is solving this part as well.

For this showcase animation, apart of this collisions, I added also a tiny bit of reflections on floor and some vertical walls. I didn't want to be over-aggressive with them, even if reflections are natural for ray-tracing. I have yet to find a way, how to include reflections in-game in some "natural" way, not just deliberately placing them, because I have them in algorithm.

And last thing: for the first time I used WEBP for animation. It saves a lot of bandwidth! (APNG converted to WEBP: 10MB to 2MB on 90% quality. There is some quality loss, but hey, anyway). WEBP should be supported in all major browsers, except for Safari on OS X (there will be support in Safari, but only starting from OS X Big Sur). Anyway, WEBP is still relatively new thing. Please, if someone of you has troubles with animation playing, let me know, together with your setup. In worst case, I'll revert back to APNG to be more compatible.

Box vs box collisions showcase:
« Last Edit: October 27, 2020, 02:15:37 PM by vdapps » Logged

JobLeonard
Level 10
*****



View Profile
« Reply #33 on: October 28, 2020, 01:05:38 AM »

The point of light above the falling boxes is a nice touch
Logged
oahda
Level 10
*****



View Profile
« Reply #34 on: October 28, 2020, 04:30:48 AM »

Just read through this thread, hadn't seen it before. So cool! RT is interesting in itself, but a game that makes use of it like this is even better. Kiss Looking forward to seeing more!
Logged

vdapps
Level 5
*****


Head against wall since 2013


View Profile WWW
« Reply #35 on: October 28, 2020, 09:34:05 AM »

Thank you both! Smiley I'm impatient to implement more of it, where RT effects will be nicely visible. Well, hello there!
Logged

vdapps
Level 5
*****


Head against wall since 2013


View Profile WWW
« Reply #36 on: November 06, 2020, 02:47:57 PM »

After Universe Quest update now it's time to move forward with RTG a bit. Today, I quickly prepared RTG webpage. Nothing super polished, but I think, the game deserves to have one. Smiley

https://vdapps.net/rtg
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #37 on: November 07, 2020, 04:26:32 AM »

Nice! Lightweight and to the point Smiley
Logged
oahda
Level 10
*****



View Profile
« Reply #38 on: November 07, 2020, 06:22:22 AM »

Good to have! Gomez
Logged

vdapps
Level 5
*****


Head against wall since 2013


View Profile WWW
« Reply #39 on: November 07, 2020, 01:27:02 PM »

Thank you two! Smiley Yeah, I went with simplicity for the web. Only what I would like to improve is webpage background which is really like first screenshot and quick filter in XnView.

I guess that something naturally will pop-up while developing which will be nicer to use as background.
Logged

Pages: 1 [2] 3 4 ... 16
Print
Jump to:  

Theme orange-lt created by panic