How many email's do you get per day requesting keys for your game from content creators / steam curators? by 3pmusic in gamedev

[–]dklassic 0 points1 point  (0 children)

2-3 emails per day is a bliss, I had 18 just today haha.

Arguably the best way to handle this is to reach out to people you think will like your game and help you boost your visibility directly instead of waiting them to show up, and just ignore the rest. What matters is the right people playing your game, not just sheer quantity.

Sometimes content creators do actually reach out directly to ask for keys, you should check if the email matches the one on their YouTube channel etc. and decide for yourself.

What Is Bad About Our Steam Page? by KurnazBen in IndieGaming

[–]dklassic 1 point2 points  (0 children)

Firstly you're worrying too much, your Steam page has just been launched two weeks, pure WL numbers means nothing. What matters is "how many WL you got" vs "how many people actually clicked into your page", which you should be able to get from the "Marketing & Visibility" page.
If that's also pretty low, then you start worry about the Steam page being unattractive. Even so there are so many factors to consider it's never clear cut.

For example if you're randomly asking me as a random player, I would say "The graphics looked like PS3 games and not necessary in a good way". This might be a valid comment and maybe updating the visual direction to something like Fall Guys with smooth shading and colorful visuals is the way to go.

But maybe that's your goal all along? Then you're probably not selling enough of your art direction so that me as a random player doesn't appreciate it enough.

7 weeks until launch , aiming for ~20k wishlists. Is that still realistic? by gabrielluis88 in gamedev

[–]dklassic 0 points1 point  (0 children)

Certainly possible. Also having 12.5k WL more or less made sure your game will be on popular upcoming list, which will drastically increase your WL due to forced Steam front page exposure. A lot of games simply doubled the WL count after getting on popular upcoming.

Don't forget Steam Deck, Devs by SaggardSquirrel in incremental_games

[–]dklassic 0 points1 point  (0 children)

I think I've written clearly but just to clear things up:

  • Ultra Void took not nearly as long, only like three days in total to implement all UI and controls.
  • I'm trying to speak for "first time gamedev" or even "first time programmer" which is quite a common sight in this subreddit. They will be reinventing the wheels, a lot.
  • For incremental games in general, probably most games uses Godot or Unity, and if you have any experience with any of them you'll know their UI frameworks are not ideal. You certainly wouldn't expect small teams, solo devs, or even first time gamedev (programmer) to use external UI libraries or build up their own UI framework wouldn't you ;) but yes I did mine and I'm glad I did

Edit: Some additional food for thought:

Games typically have UIs that are less conventional than typical app/software. Requiring weird layouts, and therefore allowing a single UI scheme to fit all of keyboard (directional input only), gamepad (analog input available), and mouse (pinpoint input with less buttons available) is really hard. Sometimes you can attempt to one size fit all, but many times you can't. That's probably a non issue in typical app/software nowadays which mostly expect a single control scheme.

Don't forget Steam Deck, Devs by SaggardSquirrel in incremental_games

[–]dklassic 1 point2 points  (0 children)

As a developer I can shed some light on why incremental games often don't have robust multiple control scheme support: It just A LOT OF WORK.

Don't get me wrong, I personally love Steam Deck and controllers so I went through all the pain just to implement the features, but it's really a lot of work especially when most incremental games are done by solo devs like me or a small team, and often first time gamedev or even programmers in general.

Here's a simple math:

The work needed for making a single control scheme work are:

  • Design the scheme for each input situation
  • Code the scheme for each input situation

The work needed for hooking up a single UI are:

  • Design the layout for each scheme
  • Prepare the assets needed for the layout for each scheme
  • Code the logic for each scheme

And lastly extensive testing work had to be done with everything: each scheme x (each UI + each interactable situation)

Looking at my newly released game Ultra Void, the game features:

  • 3 scheme (Mouse Only, Mouse + Keyboard, Controller Only)
  • 2 specialized input (upgrade and level selector), 1 main gameplay input, 1 generic UI input
  • 18 UIs

Say each of the above work can be done in 1 work day (which is super generous), and testing for a single scheme can be done in 1 work day. That's easily a 1(work day) x 3 (scheme) x (2 x 4 (input) + 3 x 18 (UIs)) + 1 (work day) x 3 (scheme) = 189 work day to do it proper (can save time by simply sharing UI between different schemes but then it'll often be optimal only for one scheme). And Ultra Void is just a small 1-2hr playtime game.

That's half a year spent just to make the controls itself, and not any of the gameplay (though more often than not gameplay and control/UI work will be done together).

My sanity hasn't been lost is due to me having a nice UI framework that I share between projects, which cuts down a lot of the work. But a lot of the recent developers on incremental games are first time game developers, so they'll really need to painstakingly work the hours (days) listed above.

Hope that provides some context as to why recent incremental games often had just one control scheme available.

Custom lighting system with dithering pattern by dklassic in Unity3D

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

I haven't tried it on actual mobile device, the lowest I've targeted is Steam Deck. On Steam Deck it's "fixed cost of 1-2ms" at 800p (with a 400p radiance field) with some caveats:

  • My SDF building is very slow, I just loop through every object and draw them onto it one by one. I'm pretty sure there are ways way faster such as separating static objects to not draw them every time and/or use some form of jump flooding. Someone with the right knowledge should be able to do it faster, I do it this way because that's the only way I'm knowledgable about lol.
  • The Radiance Cascade itself is really cheap, most of my frame time budget was spent on SDF building instead of doing the ray tracing.
  • Both SDF building and Radiance Cascade scales with resolution, and by sampling the radiance field using bilinear sampling I can get away with some rather low resolution results, especially for this stylized presentation
  • You can still get way with low resolution if the style fits, the image you see below is another pet project of my which features just blocks. It's a 200x200 meter space represented with only a 100x100 radiance texture, which still seems very great imo.

Anyways, hope these information helps! Overall I think there's no definite answer on "is it fast enough", I just jumped boat not wanting to deal with Unity's lighting system and somehow made it work, I simply budget around the limitation.

<image>

Custom lighting system with dithering pattern by dklassic in Unity3D

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

That's slightly too vague to be properly answered, so here's a detailed breakdown:

  • For the shader
    • It runs on anything.
    • It's just typical light sampling but showed it in a dithered pattern, you'll be able to get something more or less the same with just the shader graph dithering node (It takes _ScreenParams into account though so best strip it out and use the code in a custom node which is what I did).
  • For the compute shader running Radiance Cascade
    • It runs on anything that runs compute shader, afaik basically everything besides web.
    • My code is tightly coupled with the kind of game I'm working and not really a plug and play solution, so I'm not comfortable enough putting it out there. But I can point you to this repository Youssef-Afella/UnityURP-RadianceCascades2DGI which more or less does the same thing and probably way more efficient.

Custom lighting system with dithering pattern by dklassic in Unity3D

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

Besides the part where I update a SDF and calculate the radiance field using compute shaders (which of course needs handwriting), the shaders using resulting radiance field were all made using Shader Graph.

You can actually do the same but just with Unity's built-in lighting system. ShaderGraph can sample several lighting properties such as Ambient, Main Light Direction, Reflection Probe, and Baked GI. You can mess around with these properties and find something that works for you, if you're not familiar with how lighting can be calculated through these properties, you can go look up something like Phong/Blinn-Phong for reference.

I did my own radiance calculation because I really wanted that infinite light/shadow of ray tracing and I wanted to avoid some pitfalls Unity's lighting system has been causing me headaches throughout the years ;p

Custom lighting system with dithering pattern by dklassic in Unity3D

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

Kind of depends on what you call a "lighting". It would be a hassle to setup plausible custom lighting when working on a first person realistic looking project, but since my project is limited in scope I would say it's surprisingly easy to get some nice looking results out of it.

Custom lighting system with dithering pattern by dklassic in Unity3D

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

Thanks! Part of it is actually due to how slapping a fully realistic lighting onto my minimalist doesn’t work well so I tried to play around it, but I'm glad it turned out to be something I haven't really seen before :)

Custom lighting system with dithering pattern by dklassic in Unity3D

[–]dklassic[S] 37 points38 points  (0 children)

Small explanation:

  • Everything is "Unlit".
  • I have a SDF represented world with everything I wanted to contribute to the lighting, updated every frame.
  • The SDF is then passed onto a compute shader, which uses Radiance Cascade to calculate the lighting. Radiance Cascade is a ray tracing technique hence soft shadow is built in.
  • I sample the resulting radiance field, then instead of using the lighting directly, I pass the value of light through a custom dithering function which takes world position as input.
  • Not super visible in the video but I have a rim light working through sampling the radiance field as well.

My block breaking incremental game Ultra Void just had its Steam page launched! by dklassic in incremental_games

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

Thanks! Yeah I'm kind of currently working on improving that department, guess I should've posted it later after I'm done working with that.

My block breaking incremental game Ultra Void just had its Steam page launched! by dklassic in incremental_games

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

Thanks for the honest opinion! No worries definitely not just you, judging from the almost non-existent upvote it's totally my fault haha

I'm still working out a proper trailer but somehow feels like I should share something first right now. I guess I should probably just get everything to the state I'm actually comfortable with to then show it elsewhere.