Andy

Andy

@anba.dev

Indie #gamedev from Germany Working on VELKYN, an OPEN WORLD action-adventure game Wishlist: https://store.steampowered.com/app/2728320/VELKYN/ YouTube: https://www.youtube.com/@endeetree

724 followers175 following520 posts

I swear, optimizing for Steam Frame Standalone really shows just how spoiled we are with our RTX graphics cards. It's really fun to chase after the next performance milestone.

That said, I'm also gaining a better understanding of why modern games often run like crap these days. Our modern GPUs are so forgiving of all the nonsense we throw into our game scenes.

My Steam Frame standalone build is currently running at 120+ fps thanks to days of optimization and foveated rendering. I’ve learned so much about shaders!

120% render scale 2.5 km² of terrain Thousands of trees and hundreds of thousands of terrain details (foliage, pebbles, twigs) Particle effects such as mist or swarms of butterflies Multiple enemies and simple combat logic Real-time voice recognition

I saw a post the other day suggesting that the initial Steam game submission fee be significantly increased to reduce the “slop”. At first, I thought that was a lousy idea. A lot of indie devs don’t have the money to cover those costs. 🧵 ...

But now that I’ve seen the “slop” at Next Fest, I actually think the idea is pretty good. The thing is, do you have confidence in your game? On Steam, you get the fee refunded once you’ve generated enough revenue. That’s why I don’t think a higher fee is a bad thing.

I don’t know if it’s the best solution, but I really appreciate the Steam Storefront as a dev and as a gamer and hope it doesn’t go to the dogs. One more thing: This post isn’t about AI. Slop has always existed... it’s just that AI accelerates the whole process immensely.

Night and day

Andy@anba.dev

Looks like foveated rendering wasn't enabled the whole time, lol! I hope this provides another nice performance boost!

Looks like foveated rendering wasn't enabled the whole time, lol! I hope this provides another nice performance boost!

My Steam Frame standalone build is now running consistently at a steady 72 fps. I'm sure I can achieve a steady 90 fps with just a few tweaks. Maybe I can even get it up to 120 fps soon? 😅

Andy@anba.dev

I've now hit 72 fps for the first time on Steam Frame Standalone. Not consistently yet. The biggest improvement so far: I've replaced all foliage shaders from asset packs with simple custom shaders.

I've now hit 72 fps for the first time on Steam Frame Standalone. Not consistently yet. The biggest improvement so far: I've replaced all foliage shaders from asset packs with simple custom shaders.

Correction: it was 24 fps, and I'm still a loooong way from reaching a stable 72 fps. But I've already identified the most critical paths and am starting to optimize them 😅

Andy@anba.dev

I’ve now tested a second scene in a Steam Frame standalone build: a huge terrain with dense vegetation, a lot of detail meshes, simple volumetric fog, animated humanoids, and volumetric clouds. I’m blown away that it runs at 30-40+ FPS standalone. 1/2

It seems that tree distance is ignored when my terrain trees have a LOD group. It makes sense, but it took me a while to figure that out...

I’ve now tested a second scene in a Steam Frame standalone build: a huge terrain with dense vegetation, a lot of detail meshes, simple volumetric fog, animated humanoids, and volumetric clouds. I’m blown away that it runs at 30-40+ FPS standalone. 1/2

And this scene is barely optimized so far. Grass renders within 50 units, but trees still render across the entire 2 km² terrain. No imposters, just LOD. For meshes, I’m using the GPU Resident Drawer. Honestly, the performance is kind of insane.

Building my first standalone Steam Frame test build right now. I'm really curious to see how badly everything will run (my game's optimization still has a lot of room for improvement, haha) 🤣

Wow, the main menu scene runs super smoothly. Sure, it looks a little jagged here and there, but wow, i'm positively surprised!

Just commissioned a small soundtrack for my own video game for the first time. Feels good!

A quick moment of honesty: I've been working with Unity since 2017, and until last year I stuck to a strict one-project-only policy. Right now I'm at 3 projects, and it feels bad to even write that down. But ...

But if I can be reflective for a second: I'm just doing whatever I feel like working on right now, and I genuinely look forward to launching Unity every single day. And none of these projects are canceled, which I also think is a good thing :) Will drop a few infos on the projects soon!

Canceling an Adobe subscription: - The sub page loads way slower than the rest - Canceling the sub is the only option visible only by scrolling - To verify it’s a real request, I have to enter my password (again) - I get offered other services first before I can actually cancel

I know it’s totally unrealistic, but it would be so sick if Nintendo dropped a third installment of the Zelda 64 series on the Virtual Console. Same treatment as Majora’s Mask: reuse a lot of the existing logic and assets and go for a new adventure.

Spam clicking the buggy "Continue" button to purchase the Steam Controller felt wrong. I was scared they would lock me out of my account. But it worked :D

Is it weird to listen to the Nightmare Before Christmas soundtrack in April?

You can say what you want about Nintendo, but I love it so much that their games have so many accessibility options. No gatekeeping, and even players who are not familiar with video games at all can join in without getting frustrated right away.

With all the golf video games out there, I wouldn't consider making a full game just about golf. But a dungeon golf minigame in my action-adventure game? No objections, right? A quick technical and game design recap 🧵

View full thread

There are situations where the golf ball is close to a wall or obstacle. You always hit the ball in the direction you're facing. So objects between the camera and the ball are not blocking the camera and are made transparent using a dither shader.

With all the golf video games out there, I wouldn't consider making a full game just about golf. But a dungeon golf minigame in my action-adventure game? No objections, right? A quick technical and game design recap 🧵

View full thread

I'm from Germany and typical old German names are kinda a meme here. But somehow, some of these names have their own unique vibe. All shopkeepers in the game are part of an old merchant family and have first names like Albrecht or Gottfried.

For the golf minigame, the main character has a special golf outfit. But since you don't actually see the character in the minigame, just in a short cutscene, it was basically wasted work time 🤣

With all the golf video games out there, I wouldn't consider making a full game just about golf. But a dungeon golf minigame in my action-adventure game? No objections, right? A quick technical and game design recap 🧵

View full thread

Since there are occasionally some darker spots on the golf courses, the golf ball also has a weak light source. The goal was to improve visibility for the player.

The HUD is minimalist. Shot direction follows the camera's view, and the power meter only pops up when you hold the strike button.

With all the golf video games out there, I wouldn't consider making a full game just about golf. But a dungeon golf minigame in my action-adventure game? No objections, right? A quick technical and game design recap 🧵

View full thread

For the golf courses, I primarily use baked lighting cause it looks awesome and fits well. But I also add realtime lights for the torches to create dynamic shadows for the golf ball and obstacles.

In addition to the realtime lights, I'm using the third-party asset Fake Point Lights by LazyEti. This lets me project stylized, beautiful Wind Waker-like light cones with sharp edges onto the environment.

With all the golf video games out there, I wouldn't consider making a full game just about golf. But a dungeon golf minigame in my action-adventure game? No objections, right? A quick technical and game design recap 🧵

View full thread

I created the classic grass pattern using a repeating grass texture and texture layering. The second layer, a simple gray-and-white checkerboard texture, is multiplied onto the base texture with a transparency value.

Since it's a simple minigame, there are only simple obstacles. There are static barricades that players can use to their advantage or navigate around. There are also dynamic simple shape rigidbody based obstacles with spectral visuals. Moving obstacles also leave a slight trail.

With all the golf video games out there, I wouldn't consider making a full game just about golf. But a dungeon golf minigame in my action-adventure game? No objections, right? A quick technical and game design recap 🧵

When designing levels, I focused on easy readability for players, variety, and variable verticality. The shapes of the levels were all created in Blender using simple cubes and textured with triplanar texturing.

View full thread

The targeting system was a hge challenge! Here in the screenshot, we see targetable indicators (the small arrows) and the targeted indicator (the large arrow). During targeting, the character always rotates to the active target.

A small stress test with 30 active enemy instances. The performance was good, but the pathfinding with many simultaneous enemies was a real pain. Problem still exists and I need to put more work into this!

View full thread

The dodge roll does not grant invincibility frames, but it temporarily shrinks the character collider size and allows the player to move very quickly in a specific direction. Dodge rolls cost stamina!

Simple, physical enemy attacks can be parried. As the game progresses, you not only stun the enemy for a brief moment, but you can also perform a powerful counterattack.

Most attack animations are purchased animations, which in most cases have been refined using the software Cascadeur and adapted to my character.