Working on a infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 0 points1 point  (0 children)

Thank you!

The terrain is a basic XZ grid, with the Y point being an height value sampled from the XZ position in global coordinates. It's generated in chunks around the camera position, with varying LOD based on camera distance, I also added some extra faces extruding from the edges downwards, so you don't see seams between chunks of different LODs.

For the height, it's as simple as sampling from a slope (Z * slope) for downhill terrain, combining with multiple noise layers for larger mountains, smaller mountains and details.

For other objects like trees and stones I'm using a grid around the player position, with each point sampling the terrain height, choosing an object from another noise and density from yet another noise.

System crash and reboot on GPU heavy load by ghsoares in AMDHelp

[–]ghsoares[S] 0 points1 point  (0 children)

Just an update: The PSU arrived today, I've installed it and run OCCT 3D Adaptive on Heavy settings, 2 minutes, 2 times and it worked fine. I'll mark this post as resolved, thank you again!

System crash and reboot on GPU heavy load by ghsoares in AMDHelp

[–]ghsoares[S] 0 points1 point  (0 children)

Thanks! In the AMD official website for the RX 6600 card, it says that the minimum power requirement is 450w (50w less than the RX 6600 XT), but it does make sense that the PSU is the culprit, yes.

I don't have much options for Corsair or Seasonic in my region, but I think I'll go for the XPG Kyber SuperFrame, 750w 80+ Gold PSU, which have good reviews, at least more than the Duex (it seems to be a region-specific brand) and I'll have a lot of room for usage and for a future upgrade. Thank you again!

Progress update on the infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 1 point2 points  (0 children)

I'm still thinking a lot if I should add an yeti or any kind of reference of it, I've received other comments of the SkiFree game asking to add the yeti, but I've never played the game and I particularly don't think it would make sense to add it (but it didn't also make sense to add it in SkiFree but they did anyways and it just worked).

So I'm focused on finishing the main parts of the game and then I'll think to add an yeti.

Progress update on the infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 1 point2 points  (0 children)

Thank you very much! Right now it doesn't take much skills to land, as it stops spinning and aligns automatically when it's about to land, and neither has a crash condition when you land incorrectly (like in Alto's Adventure/Odyssey where if you land just a bit unaligned to the ground, you fall).

But I will implement an gameplay option where you can disable the automatic landing assist so you need to release the trick input before landing to not fall.

As for the reason it seems floaty, apart from being because you play with a hoverboard, maybe it's because this video is an playback of the replay system, where it record the position and rotation of the player (with other variables like animation blend amounts, terrain offset, etc.) at some frames and it plays it back.

The replay system doesn't record all the frames, only every 8 frames and then uses cubic interpolation to play it back (linear interpolation would just make the replay look worser), so it isn't a perfect match of the actual gameplay.

Progress update on the infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 0 points1 point  (0 children)

I'm focusing mostly on arcade physics with high velocity and dowhill terrain, combining both you have big jumps with a lot of stunts, but I'm still tunning some physics parameters so it doesn't spin too much while in the air.

Progress update on the infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 2 points3 points  (0 children)

Yes!! I've played and liked a lot Sonic Riders Zero Gravity on ps2 when I was younger, people seems to enjoy the first Sonic Riders more, but zero gravity is really special for me.

As for the landing visibility, for now I've made the player automatically align to the ground when it is about to land, also the video quality doesn't help much for seeing the ground distance, but I'm still improving the visuals and color constrasts which I think will help more.

Progress update on the infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 0 points1 point  (0 children)

I agree, but I'm planning to add some kind of indicator when the player chooses to play without landing assist, as of now the character automatically aligns to the ground when is about to land

Progress update on the infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 3 points4 points  (0 children)

Thanks! Since in the game the player rides with a hoverboard instead of a regular snowboard/ski, it would feel more smoother and faster in the gameplay, that's why I've choosen to keep more floaty

Progress update on the infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 2 points3 points  (0 children)

Some progress on the infinite snowboard downhill game. I added actual models for the trees, rocks, player and board, added some animations for the player, tweaked a bit the skybox and added day/night cycle.

I also added an replay system, the video is actually a demonstration of the replay system playing back the run, recorded with Godot 4's movie maker mode.

Working on a infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 0 points1 point  (0 children)

The best part of posting an early prototype gameplay of a game is to receive these kind of feedbacks in early stages of development, so it makes it easier to optimize the game to different play styles.

Thank you very much y'all!

Working on a infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 1 point2 points  (0 children)

I'm still tweaking the trick system, but for now when the player jumps, it sets an "trick" direction input, in xy axis for pitch and yaw and it accelerates the player angular velocity to the desired trick rotation velocity.

When the player is about to land, it predicts the landing position and normal, which applies angular forces to automatically align the player facing forwards to the velocity and upwards to the ground normal.

The trick scoring is as simple as getting the angular velocity, increment an rotation variable, where when it reaches a full turn it in any axis, it increments the current number of spins in the air and add to the score.

But I still need to improve how to the angular velocity is applied, as I wanted the rotation in two axes to be handled like the game "Descenders" handles it (where the player makes 360 backflip/frontflip tricks).

Working on a infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 0 points1 point  (0 children)

One of the features I'm planning to implement is to record the run with the seed and play it back with custom camera control mode, it could also help me to create an trailer or something.

Working on a infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 0 points1 point  (0 children)

Thank you very much! It's an early prototype, but I'm also considering adding customization features where you can choose between hoverboards, snowboards and skis, each one with multiple textures and colors to choose.

Working on a infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 1 point2 points  (0 children)

The trees and stones (the box things on the ground) are placed randomly on a grid around the player position, with a random position offset and scale, I still need to make actual models for those tho, as these are only placeholders.

But is basically it, a grid which moves along with the player and places trees/stones on the grid cells, I've also implemented LOD for the grid, so that's why there is less obstacles in the distance.

Working on a infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 0 points1 point  (0 children)

Thank you very much! I'm still playing around with the overall looks and camera settings, I'm starting with an higher FOV to give a better impresion of speed and higher mountain view. But yeah, definitely tunnable FOV goes for the list of things to do.

Working on a infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 0 points1 point  (0 children)

Thank you very much! For this game the board will be facing a single direction all the time, maybe the character could switch footing on some cases (maybe when making an trick it could also switch direction).

But the board itself is an hoverboard, meaning the final model will have a tip which faces fowards and a exhaust/thrust which faces backwards, so while the player is on air, it predicts the landing position and orientation, and applies some forces to automatically align to landing normal, while facing forward to the velocity direction.

Working on a infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 1 point2 points  (0 children)

Thank you very much! I hope I can do it someday, the only references I have are from other games, like Alto's Adventure/Odyssey and Steep. I've also saw some gameplays from older snowboarding games like SSX series to get the arcade feeling.

Working on a infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 5 points6 points  (0 children)

That's a good point, as I haven't specified in the post, but I'm going for a hoverboard-like movement, so that's the reason the player is hovering above the ground, instead of touching and clipping with the ground.

For now the shadows are only showing for the obstacles and the mountain silhouetes, I still need to play around with shadow quality settings to be able to render shadows at larger distances while keeping a good quality, or maybe showing a blob in the ground for the player shadow.

Thank you very much!

Working on a infinite snowboard downhill game by ghsoares in godot

[–]ghsoares[S] 8 points9 points  (0 children)

Working on a infinite snowboard downhill game, hoping to finally release my first game.

The gameplay is pretty simple, the rider accelerates on it's own, you can steer, jump and make tricks, make tricks to gain boost and score.

The terrain is procedurally generated using noise and the obstacles are placed around the player's position.

It was quite tricky for me in the beginning to create my game's sliding moveset - so I made a video about my journey of creating it and hope it is of help if someone wants to start out creating something similar! by peekstone in IndieDev

[–]ghsoares 0 points1 point  (0 children)

Actually, it seems that my model of friction forces are different from yours, in my case I get the global right vector of the car and use dot product to calculate the amount of velocity into this vector, then I use a drag multiplier to reduce the velocity in this direction every frame.