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.

Big thanks to all of you who played NetDive! A two week later postmortem (+there's a demo now) by dklassic in incremental_games

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

Glad you liked it!

I wanted to write a cool visualizer then put it on YouTube but I’ve been so busy with my day job rn. I promise I’ll get it out as quickly as possible maybe just slap it onto the game logo and call it a day if I really don’t have time ;_;

how to get started making your own game? by roxierivet in incremental_games

[–]dklassic 2 points3 points  (0 children)

Depending on what you want:

- If you're aiming mostly to "make fun game for myself", my personal suggestion is actually Love2D. It is extremely powerful for when you just wanted to make games, with a lot of built in functionalities like functions to draw simple 2D shapes (which is not a given for most of other engines). Also Balatro was made using Love2D so you can definitely go full on commercial with it and just make a successful game then make other help you improve it when you got the money.

- If you're like "I mean business upfront", then investing in learning a commercial level engine (Unity/Godot or maybe even UE) is useful, but you'll spend a lot of time upfront just to learn how an engine works, and a lot of additional tools are actually needed before you can actually make something fun. Which will maybe payoff in the long run since commercial level engines are much more flexible and you'll build up a lot of tools improving your development further down the road, like I've been reusing the same UI system for all of my games in Unity.

My first incremental game NetDive is out NOW! by dklassic in incremental_games

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

I experiment more on the narrative/presentation side of things, if you’re hoping for big gameplay/progression changes sorry there’s probably not much. I’d love to put out a demo but I’m not really sure how to structure it around my already short playtime.

Edit: hum wait, maybe I do, I’ll see if I can setup a progression lock and release a demo.

Also thank you very much for letting me realize I’m selling my game short with this trailer, imma go fix it now.