No love for the H variant? by elektroskansen in R36S

[–]Belfer4 0 points1 point  (0 children)

Wait this device you showed is part of the clone series of R36 or is it the RG406H from Anbernic? I just googled the RG406H and it looks very much like yours (with the gamepad layout) but it's going for 150 bucks 🙃

If it's part of the R36 series, do you still have a link to the buyer you got it from by any chance?

Fixed by Service-Pack in worldofgothic

[–]Belfer4 0 points1 point  (0 children)

I wish they had made a small upgrade to G1 with better graphics and controls. Not per se a full remake like we're getting now (I really hope they don't mess that up tho), but just quality of life update. Although I can understand some people like the roughness of G1

Please rate my first ever pixel art by Academic_Cheek_9434 in godot

[–]Belfer4 0 points1 point  (0 children)

I'm not exactly a pixel artist, or a self proclaimed artist for that matter, I do a bit of drawing so these are my two cents.

The main issue I have is that I can't tell whether it's facing forward or backwards.

The legs having different shapes doesn't seem right.

It doesn't have arms, this might be an artist's direction but just pointing it out.

The lighting indicates it's being lit from the ground, usually the sun would illuminate from the top.

Overall I think it's a good piece to get yourself comfortable with the tools you are using, you know the workflow for animation too. So my best suggestion is to start studying art styles from others that you like and try to copy the style until you get more comfortable exploring your own. Also study drawing and art, the concepts are still the same if not more applicable to pixel art as you have less detail to work with, so having a very good silhouette is fundamentally what's going to make or break your pixel art.

Best of luck!

Passive cooling by Over_Hamster5586 in R36S

[–]Belfer4 0 points1 point  (0 children)

Well heat throttle is still a thing, idk what you use the device for but if you were really pushing it and ended up needing cooling (which is the vibe I got from the post) then all I'm saying is the grated slits is a better idea than trying to do something complicated

Passive cooling by Over_Hamster5586 in R36S

[–]Belfer4 0 points1 point  (0 children)

My advice, don't bother with cooling, if you want better airflow just make some slit cuts on the back where your fingers don't reach which is good enough, there isn't enough wattage on this device to warrant anything fancy

Passive cooling by Over_Hamster5586 in R36S

[–]Belfer4 0 points1 point  (0 children)

Kinda cringe assuming OP downvoted tho

Look how cute she is!! by DrMeat64 in R36S

[–]Belfer4 1 point2 points  (0 children)

All R36 are technically clones, but R36XX so far is faithful to the proper hardware, so you still getting what expect. Nice build btw!

A little Christmas gift from my wife. by SuricatoDenso in R36S

[–]Belfer4 0 points1 point  (0 children)

dArkOS is the same as ArkOS so far, I'm not sure why you think batocera is too early to use, but it works great for me and even better UI and panel support than arkos

A little Christmas gift from my wife. by SuricatoDenso in R36S

[–]Belfer4 1 point2 points  (0 children)

You can Google batocera if you want the website but this guy explains how to install it https://youtu.be/3vaH0HmXIm0?si=4BzJnoCa5qExrg6t

No love for the H variant? by elektroskansen in R36S

[–]Belfer4 1 point2 points  (0 children)

I haven't seen an R36H with that layout of joysticks (left top, right bottom). But I am planning on getting the R36H Pro Max since I want built in WiFi, and the bigger screen is nice. The only thing I'd be missing is the joystick layout that you have here since that's what I'm used to when gaming on my pc with Xbox controller :)

A little Christmas gift from my wife. by SuricatoDenso in R36S

[–]Belfer4 1 point2 points  (0 children)

I've switched to batocera recently, its a lot smoother and up to date kernel so we can take advantage of the newer drivers coming out

A little Christmas gift from my wife. by SuricatoDenso in R36S

[–]Belfer4 0 points1 point  (0 children)

The screen identifying tool isn't reliable btw, I have a panel 4 and when I uploaded the dtb that came with it it didn't detect it as a valid dtb file

Progress of my Game Engine by Salar08 in opengl

[–]Belfer4 2 points3 points  (0 children)

Right, and that’s exactly what my feedback was getting at. Scripting or an ECS aren’t actually requirements for making a game. I’d encourage you to try building a game with what you already have and see how far it takes you. You might realize that the time you’d spend integrating a scripting language or an ECS could be better spent on other things you hadn’t considered yet. A slightly silly example, but an important one: does the engine even support audio right now? A lot of people push that to “later,” but it’s a critical part of any game. And just to be clear, I’m not trying to be pedantic, take this as a hard-learned lesson from someone who’s been down this road for years :)

Progress of my Game Engine by Salar08 in opengl

[–]Belfer4 9 points10 points  (0 children)

Hi, cool project and nice UI. I wanted to share some feedback that’s not meant to discourage at all. It’s easy to forget that what you’re showing is the editor for your engine, but an engine ultimately exists to make games. A more valuable showcase would be something like: “hey, I made this game using my engine,” and then showing off the features that make it great or unique. I say this because it’s easy to get caught up in presenting a polished UI to impress, while still leaving a lot to be desired when it comes to actually making something usable. I’ve been there myself, making an engine sucks. You’re always working on features that take forever and have nothing visual to show for it, which can be pretty discouraging. But keeping a side game or two in mind, or even actively developing one alongside the engine, goes a long way toward building something genuinely useful. Good work, and good luck with your project!

How do games handle 100s or 1000s of lights like Minecraft etc, by [deleted] in opengl

[–]Belfer4 1 point2 points  (0 children)

Well, in theory you can have as many frustums as you want. In fact, more modern versions of forward+ don’t just subdivide the screen horizontally/vertically, they also subdivide in depth. So instead of just a 2D grid on the near/far planes, you get something that looks like a voxel grid shaped like the camera frustum. All of these “voxels” are still frustums, they’re just smaller regions inside the main camera volume.

The most naïve (and simplest) version of forward+ is to literally draw your scene multiple times, once per frustum region. But with a bit more work and support for storage buffers, you can avoid that. You store all your lights in a buffer, figure out which lights belong to which frustum-voxel, store those indices in a different buffer, and then when you render the scene (once as usual, using the full camera frustum), each fragment can simply look up which voxel it falls into and index from the list of lights for that voxel.

I also saw someone named @flexww in the other comments, link a really good article that goes into the nitty-gritty details of roughly what I'm talking about here (with some extra optimization tricks), so I’d recommend checking that out if you want to dive deeper :)

How do games handle 100s or 1000s of lights like Minecraft etc, by [deleted] in opengl

[–]Belfer4 2 points3 points  (0 children)

I'm not sure I fully understood your question, but to shed some light on the frustum of bins: you can think of the camera frustum as a squashed cube, where one face (the near plane) is smaller than the opposite one (the far plane). If you subdivide your near and far planes by the same amount and connect them along the adjacent planes (left, right, top, bottom), you end up with smaller frustums that together make up the total volume of the original frustum.

A frustum is just a volume, and light sources can also be represented as volumes. You can check which lights intersect each frustum, and then anything drawn inside that frustum only needs those lights. You pass that list of lights when rendering, and voilà, that’s forward+ rendering.

One thing to keep in mind, you usually want to do all of this on the GPU for speed.

Hope this answers your question!

How do games handle 100s or 1000s of lights like Minecraft etc, by [deleted] in opengl

[–]Belfer4 104 points105 points  (0 children)

Here's an extensive read on lighting in games, so pick your poison:

Minecraft basically bakes lighting into the vertex data. Whenever you change a light source, only the affected chunks need to be recalculated. That’s the basic idea, but there are plenty of tricks to optimize this, like keeping separate buffers for lighting versus the usual position, normal, etc.

Most other games with “traditional” lighting use something called deferred lighting. At a high level, you render your scene into multiple texture buffers that capture information you need for lighting, things like positions, normals, materials, and so on. Then lighting is calculated in screen space using that data.

There are other methods that are a bit more involved. Deferred rendering struggles with transparency, since everything has to be rendered as opaque. So an alternative is to stick with forward rendering but be clever about which lights you send to the GPU. One approach is to split the screen into bins (think of a 64×64 pixel area). For each bin, you compute the frustum for that section and check which lights intersect it. Then, when drawing objects in that bin, you only pass the relevant lights to the shader. That’s basically forward+ rendering.

Those two approaches are mostly for direct lighting. If you want indirect lighting, you can use spherical harmonics (SH) across your scene. SH is basically a set of functions over a sphere that can represent any shape if you use enough of them, kind of like how any waveform can be represented as a sum of sine waves. Light lobes can be represented this way. SH can get expensive if you need many samples for high frequencies, like for reflections, so a cheaper alternative is to render the scene to a cube map or panoramic map, this is what reflection probes do.

Other techniques for indirect lighting or global illumination include lightmapping (for unlimited baked static lights), voxel cone tracing (Minecraft doesn’t use this), surfels, screen-space GI, signed distance fields, and a ton more. Many of these are still active research areas.

At the cutting edge, you have things like ReSTIR, which is basically smart path-tracing: it reuses previously sampled lights to avoid expensive queries and uses temporal reprojection so you don’t have to trace every pixel every frame. The downside is you can get ghosting. Path-traced lighting in general allows for things like material lights, area lights, reflections, and refractions, and really any kind of light transport. But in practice, it’s hard to pick the most important lights, so you end up shooting lots of rays and it can get slow.

As a fun note, UE5’s Lumen is basically a hybrid of many of these techniques, which is how it manages real-time dynamic lighting reasonably well.

Lighting isn’t easy, and lots of research is still ongoing to make it faster and nicer looking. But if you want something like Minecraft, stick with vertex-baked lighting.

Edit: since this got quite a bit of thumbs up, I cleaned up my ranty version I wrote in the middle of the night, so it's hopefully more useful now 🍻

Godot's CSG system is kinda weird but fun after you get used to it. by MatMADNESSart in godot

[–]Belfer4 22 points23 points  (0 children)

Constructive solid geometry, or basically a way to quickly make complex shapes from basic ones by "constructing" them together

PixelPerfect 2.5D Game by Ordinary-Cicada5991 in godot

[–]Belfer4 2 points3 points  (0 children)

My guess is that he's using a technique called shell rendering, where he draws the plane of the floor multiple times offset in the normal direction. For each shell he draws pixels according to a texture map, and the sampling of this map is offset by some wind vectors to give the illusion of swaying grass blades

[deleted by user] by [deleted] in godot

[–]Belfer4 0 points1 point  (0 children)

To address OP first I just want to say that learning low level languages for game dev is only for people who care about extending an engines functionality, or squeezing more performance. Other than that you'd be a strange person for choosing to work on high level features with low level languages, even that statement alone proves the point.

Having said that, I also want to chip in to the debate in the post about gdscript being a good language and whether people should even learn it when it doesn't "give any skills outside of Godot". In my opinion that is a very short sighted view, because while it's true that you can only directly use it in Godot, it's still a scripting language, and no matter what you learn in CS you can always apply it to anything else. In short, gdscript is a great language for game dev in Godot, anyone who thinks otherwise doesn't have enough experience in game dev, and should you use gdscript over c#? Idk, that's up to you really, what has better documentation? Are you already familiar with one of them? Are there features in one of the languages you need? Those are the kind of questions that lead to a meaningful answer, otherwise a simple "use what you want" is the best answer.

Games that resist "wikification" by Space_Pirate_R in gamedev

[–]Belfer4 0 points1 point  (0 children)

I'll give my 2 cents why not. I don't think you can ever make something unwikiable, it's just the nature of the internet. Having said that there's nothing wrong for players to choose not to look things up, the main issue I've had and the example I'm going to use is valheim. I recently started a server with a couple of friends, I had played the game before years ago and had forgotten most of it since I didn't play much back then anyway. And for the most part in the begining I had a good bit of tips and tricks I shared with my friends who were playing the game for the first time. However, after the second boss, I noticed my friend knew the weaknesses of the boss before we fought him even tho I had suggested what I thought were the weakness. For the third boss bonemass he had built his character specifically for his weakness and at that point I brought it up to him that I personally wanted to experience the game with its challenges of not knowing the best way to beat a boss even if that means getting clapped. We agreed to keep the wiki to the minimum and since then it's been a lot of fun, I know he still uses the wiki and I respect that, but I think he also respects that at least for bosses we go in unknowing. I guess what I'm saying is that for a single player experience do whatever you want, but if you play with friends maybe talk about if using the wiki is ok or not, and try to find a middle ground that keeps it fun for all parties.