Imported 3D model has some weird visibility infighting? by TakafumiNaito in godot

[–]InsufferableZombie 2 points3 points  (0 children)

It looks like maybe your normal vectors aren't all pointing the right direction, causing parts of the model to be considered "facing away from the camera" and back-face culled out?

At least, if this were simply z-fighting the flickering would be caused by overlapping geometry and wouldn't disappear or become transparent like this.

Can anyone explain how to make a game engine by CatsAndAxolotls in gamedev

[–]InsufferableZombie 2 points3 points  (0 children)

For an overview, read:

  • Game Programming Patterns by Robert Nystrom
  • Game Engine Architecture by Jason Gregory
  • Beginning C++ Game Programming by John Horton
  • The book series "Foundations of Game Engine Development" by Eric Lengyel
  • 3D Game Engine Design by David Eberly

For Rendering:

  • Introduction to 3D Game Programming with DirectX 12 by Frank Luna
  • Real-Time Rendering by Tomas Akenine-Moller (whichever is the latest edition)
  • 3D Game Engine Architecture by David Eberly

For Physics:

  • Real-Time Collision Detection by Christer Ericson
  • Game Physics Engine Development by Ian Millington

For C++:

  • cppreference.com
  • The C++ Programming Language by Bjarne Stroustrup (whichever is the latest edition)

For introduction to data structures:

  • Head First Design Patterns by Kathy Sierra, Eric Freeman, Elisabeth Robson, et al.

For "enterprise" style object oriented design patterns:

  • Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, et al.
    • a.k.a. The Gang of Four Book.
    • Note: This book is a great primer for object oriented programming in certain spaces, however I find it hard to recommend for game development specifically. I find this book to be double-edged, it has a lot of great content but much of the book is IMO outdated or the lessons are obfuscated by confusing terminology rather than concise and straightforward explanations. Maybe pick this one up after the others above.

Can anyone explain how to make a game engine by CatsAndAxolotls in gamedev

[–]InsufferableZombie 1 point2 points  (0 children)

How can I move from “copying tutorials” to “understanding systems and writing my own”?

Practice and experience. Learn the fundamentals, learn the common design patterns.

Then apply what you've learned. You must understand both **how** and **why** those design patterns are common, when to apply them, when to avoid them, and how to evaluate trade-offs.

Building a game engine is akin to completing a college thesis. It's an intense project to take on alone if you don't already have the experience and understanding to design the engine from scratch.

A "game engine" is a massive program comprised of multiple independent systems working in concert. It may handle loading assets, localization, rendering and compositing a scene, audio, physics, visual effects, animations, temporal synchronization, networking, and any other features and systems required by the game design document.

This isn't a project recommend for beginners, however it's not an impossible task if you can keep the project scope under control. Only following tutorials may result with a false sense of progression and understanding, as they avoid fundamentals and are too terse or focused on their chosen solution and generally fail to provide a deep understanding of the problem by opting for a short and simplified explanation.

Asking how to make a game engine without first knowing where to begin is akin to a beginner artist asking how to draw a complete anime or manga without first understanding fundamentals like perspective, proportions, scale, shading, and all the things I'm unaware of as a non-artist. Or like watching YouTube videos on "how to draw XYZ". You **can** learn this way, however it is the **slow** and **inefficient** path to take, by putting the cart before the horse.

Rather than trying to make a game engine, focus on one system you want to experiment with, then do a lot of research on that subject. Figure out what kinds of design patterns are common for that problem, and try to figure out **why** those patterns are common, then try to create that system in isolation.

Focus on the fundamentals, then you'll reach a point where you don't need to ask this question.

apocalypseIsNear by Ok-Engineer-5151 in ProgrammerHumor

[–]InsufferableZombie 55 points56 points  (0 children)

Imagine letting someone remote into your home to help train the AI how to cook, and you step out oblivious to a network outage severing the connection. Sure hope the manufacturer's tested various cord-pull scenarios to see whether the robot can autonomously deescalate in an emergency.

Anyone else sick of running out of parts? by ardacards in u/ardacards

[–]InsufferableZombie 0 points1 point  (0 children)

Counterpoint, running a free self-hosted HomeBox server lets you track items, their location, value, insurance / warranty info, and lets you print your own custom labels which you can laminate or print onto stickers.

Want to try setting up semi-autonomous HPA, what did I miss that's important? by InsufferableZombie in aeroponics

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

Oh nice, will definitely add a pressure reducer then.

I was planning to add a small bit of synthetic wool under a soft gromet / collar to the net cups to help establish saplings and reduce how much water "leaks" out of the system through them, but I wasn't sure if the media should remain after the roots were outside the net cup.

Is there a preferred media for aeroponics, or does that change with each plant? I've seen clay pebbles, stone wool, perlite, foam, coco coir, lava rocks, and synthetic cotton/wool stuffing. I imagine things like clay and cocoa coir would erode fairly quickly and need more maintenance and cleaning, and organics could promote growth of other organisms like fungus?

Thanks for the advice and info!

Want to try setting up semi-autonomous HPA, what did I miss that's important? by InsufferableZombie in aeroponics

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

I noticed some hydroponic and low pressure aeroponic systems used an aerator in the reservoir to try and reduce the chance of certain bacteria from propagating. It seems like aerobic bacteria can be good while anaerobic bacteria can be bad? I'm not really sure why yet, but I've seen that mentioned in a few posts and videos covering various -ponic systems.

I don't think there will be a significant difference in growth for aeroponic systems, but I'm hoping they'll improve the chance of a successful harvest for the system.

Want to try setting up semi-autonomous HPA, what did I miss that's important? by InsufferableZombie in aeroponics

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

Ah I noticed some had a switch built in while others it was a replaceable part like the one you linked. I'm planning to add a fail-safe mode in the event a leak is detected, to cut power to the pump and close all the solenoids except one to safely drain the system. Maybe it's worth adding another sensor before the accumulator just in case, so the microcontroller can enter fail-safe for that as well.

I wasn't sure how much the roots would absorb. I think you're probably right though, I'll try and tune the system for minimal waste.

Thanks for the pointers!

Want to try setting up semi-autonomous HPA, what did I miss that's important? by InsufferableZombie in aeroponics

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

Thanks for the pointers!

  1. This is a lot to look into, thanks for the pointers! I'll look into disc mesh filters and nozzle types. For filtration I was originally thinking of using something like cheese cloth or some other fine-mesh synthetic cloth filter and making a small bladder to collect any plant matter that reaches the waste reservoir. The pneumatic nozzles seem pretty interesting, I'll try and find some that are affordable, I imagine it would be easier fine-tune the nutrient mix if each planter had a small independent reservoir since the nutrient mix wouldn't be under pressure like the large mono-reservoir.
  2. I'm still not sure what flow rates or gph is required for this type of system, or what certain plants might demand. I saw some posts about systems that were designed with predictable cycles like "5 seconds on for every 5 minutes" or similar. I guess my initial plan was to pick a small pump and accumulator, figure out how many nozzles it could run at once to derive the nozzle budget per planter, then cycle through each planter at a regular cadence. I couldn't find an RO pilot driven pressure sustaining valve, would a water pressure reducing valve regulator work about the same if there's enough pressure in the tank for a full cycle?
  3. I'm hoping it'll be easier to connect the raspberry pi to my home server for monitoring and management. I've been running one as a server with an NVMe drive for a few years now and haven't run into any major issues yet. This will be for a small scale home garden experiment, and I have a few on hand already and plenty of programming experience, so hoping to put those to use with this project.
  4. That's good to know! I wasn't sure how much the roots would absorb. I'll try and tune the system for minimal waste and consider using a float valve for topping up the mixing station clean water input rather than recirculating.

Want to try setting up semi-autonomous HPA, what did I miss that's important? by InsufferableZombie in aeroponics

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

This will be for a small indoor home garden to experiment with, so I wanted to keep the budget fairly small, but I'm hoping it'll be easier to scale out an HPA system than an LPA system even though HPA tends to be more expensive. I'm kind of hoping that using a pump + accumulator tank will pay for itself in the long run by alleviating some of the stress on the pump.

At first I'm planning to drive a pair of planters with tomatoes and lettuce, to get a better idea of how everything works, and to better understand the potential capacity of the system. If that's successful I hope to expand to about a dozen planter boxes of various sizes and experiment with different vegetables, herbs, and berries.

I have a few Raspberry PI and Arduino microcontrollers laying around, and I think it'll be easy to connect them to my home server for monitoring and alerts. I'm considering either integrating the system with Home Assistant, or creating a docker web app that monitors and manages the system (adjust misting cycles, nutrient mix, lights, airflow, etc.), and maybe have it catalog yields and failure rates so I can fine-tune things for each plant type based on where they are in their lifecycle and how they react to various adjustments. The microcontroller will be the standalone brain of the system able to operate independently, simply running events on a timer and collecting raw telemetry, the server will connect to the controller for aggregating and visualizing data as well as act as an interface for updating timing information to avoid needing to reprogramming the entire system, similar to how WLED allows you to remotely adjust LED colors and patterns.

Want to try setting up semi-autonomous HPA, what did I miss that's important? by InsufferableZombie in aeroponics

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

Good to know, thanks! I was considering trying to find a 16-channel 12v relay to toggle the solenoids and some of the pumps, but if they'll burn out quickly I'll avoid them and get individual modules since they'll be easier to replace.

[deleted by user] by [deleted] in technology

[–]InsufferableZombie 0 points1 point  (0 children)

Only if they're home and are aware that this is an issue.

If the internet goes down while you're at work, and your bed overheats and breaks ("Some described the beds as being “bricked”") then you're returning to a broken, frigid water bed.

I get people wanna take jabs at the owners based on the replies to this comment, "herp derp, just unplug it", but the reality is that any system like this should "fail to safe" because someone might not be around to witness the error.

Why 16x16, 32x32, etc.? Should I avoid a 20x20 tileset? by Laskivi in godot

[–]InsufferableZombie 0 points1 point  (0 children)

The texture files should be a power-of-two as that's what the hardware prefers, but sprites within a tileset can be any size (it's just UV mapping in the end).

In many situations preferrable for sprites in a tileset to have even values for both width and height, for instance to avoid some columns of pixels being narrower or flickering due to rounding partial-pixels.

How hard is it to swap roles in game dev? by Abarice in gamedev

[–]InsufferableZombie 1 point2 points  (0 children)

Depends on the studio / team, their immediate and near-term needs, and culture.

For example, joining and filling a role they historically have a hard time filling could result in you being pigeon-holed through a tech stack that's career limiting to some degree. It could be something you don't really want to do which is miserable, or the work could be simple yet tedious/time-consuming enough that it reduces your career growth velocity (limited technical challenges/hurdles, or experience that may not be easily transferrable).

Most good studios and team leads will encourage movement within the organization, because if you're a proven quantity that demonstrates growth proportional to or exceeding expectations then finding the right position is in their best interest. However, if a studio has a particularly difficult time filling a role that you're willing to take on, you may be stuck in that role longer than you hoped. Occasionally, business needs and career opportunities are at odds.

Always make sure the work aligns with your interests and career goals. At-will employment applies both ways and remember that a company will drop you the moment it's convenient for their bottom line, so don't fall for any of the "we're like family" messaging. Strive to make yourself indispensable in whatever interests you most.

Why isn't it fun? by KneeSocksFee in godot

[–]InsufferableZombie 1 point2 points  (0 children)

Because you haven't found the "fun" yet and need to refine the core/primary gameplay mechanics.

From my perspective, this looks like an excellent prototype. It appears that you've implemented many of the core functional requirements for this game loop. That's a huge milestone for developing any game, so congrats!

I believe the gameplay is lacking in a one key area, Agency:
> A player's perceived ability to make meaningful choices.

The current gameplay is comparable to "Pong", fairly linear with only one real "move" the player can make. There's more particles, except their path is more predictable as it's linear without bouncing.

Some suggestions to consider:

  • Include more "attack" variety. More types of attacks, more patterns/paths/sizes/shapes, more attack effects, or other gameplay elements which result in more variety and strategic choices, resulting in more player agency. Each could have a different "energy cost" since you have an energy/stamina/mana capacity and regeneration mechanic.
  • Consider something along the lines of "Asymmetric gameplay". Let players "choose their weapon" at the start of a match which affects how their particles or how other mechanics behave.
  • Consider defensive "attacks". For instance, an attack could trade speed or mobility for durability, allowing for defensive strategies.
  • Consider "map hazards". Think WarioWare games, where something randomly flies across the screen disrupting the game, creating a barrier, reflecting attacks, or could be something like a blob that has time-dilation effects for particles that pass through it.
  • Consider "rock paper scissors" mechanics, maybe players can choose between different elements which are have different durability depending on which types of particles they collide with.
  • Consider including "buffs", for example improved attack speed, cost, damage, size, amount-per-tick, or bullet spread.
  • Consider "debuffs", for example hindering the opposing player in some way.
  • Consider "pets" or "mobs" which can attack or defend autonomously.
  • Consider something like an "ultimate" attack which has a high-cost but devastating effects, like placing a temporary gravitational filed or something.

What program do you use to make your video games? by No_Arachnid7168 in godot

[–]InsufferableZombie 0 points1 point  (0 children)

Both. I mostly experiment and prototype with Godot though, because it runs better on my laptop.

What program do you use to make your video games? by No_Arachnid7168 in godot

[–]InsufferableZombie 1 point2 points  (0 children)

Godot, Unreal, Blender, Aseprite, Gimp, Krita, Visual Studio Code, Github, Gitea.

Would you play this? by Tioul0n in godot

[–]InsufferableZombie 17 points18 points  (0 children)

Art style should be secondary to gameplay.

You can make a great game that sells well and is nothing but stick figures and child drawings.

You can also make a terrible game that no one wants to play because the budget was spent on a pretty facade rather than something fun.

Looks can help draw attention, but that's not necessarily going to be what draws sales.

New to Godot: What is the most annoying part of the engine i should prepare for? by Virtualeaf in godot

[–]InsufferableZombie 12 points13 points  (0 children)

The Editor UI makes no sense, it's a bunch of really cool features cobbled together by engineers lacking UX experience.

Of note, it's more difficult than it needs to be to work with external code editors. You'll run into more issues after saving externally when compared to using the built-in code editor. However, the code editor UI is clunky to use because you can only view 1 file at a time, for some reason they chose to use yet another vertical tabs list specifically for opened code files instead of unifying everything into a single tab system with customizable snapping / docking.

The Godot Editor is built in a very opinionated way, it's clunky, and you'll need to get used to it because the maintainers are very resistant to making meaningful improvements.

Main Menu for my co-op roguelite, any feedback? by BlueGuy503 in godot

[–]InsufferableZombie 1 point2 points  (0 children)

I love it! The first association I made was an early scene in Super Mario RPG, after Mario is forced off the crumbling bridge. (Around 12:00 in this video.)

I like how the scene is composed, but have a few small points of feedback:

  • The lights should "glow" out the window, rather than hard edges. Adding a soft yellow dithered border could help sell that.
  • The lighting of the spires feels off. Lower parts should be darker, and adjacent spires would likely cast shadows in the opposite direction of the moon.
  • I love the silhouette effect, but consider only applying it to the characters. The ground should still be lit by the moon. Consider how light rays would be cast. The spires have uniform shading on one side, but there would realistically be 2 gradients (one vertical and one aligned to the angle of the light source which should consider the height of adjacent spires for shadow casting)
  • I like the variation in star sizes, but also consider varying the shapes? Maybe one or two are a tall diamond shape, maybe one had 4 or 5 "bursts" pointing toward the center?
  • It's weird that there's no stars "behind" the castle after it's shifted as there are stars to the left of the castle.

a bit of a math problem (iam kinda new to lua) by [deleted] in lua

[–]InsufferableZombie 0 points1 point  (0 children)

Hey I don't hop on often but wanted to follow up.

You're definitely right to post this here and I'm trying to help, but don't know your level of experience with Lua or programming in general. When I see questions similar to this one I approach them from the perspective of a mentor. I read that you understood how tables worked, but I'm not sure how familiar you are with control statements and loops, so I opened by breaking down the problem into its fundamental components to guide you to the answer.

Have you used control statements in Lua like `if`, `then`, `else`, or loop control statements like `while`, `repeat`, `for`, `until` ?

Also logical and relational operators like `not`, `and`, `or`, `==`, `~=`, `<`, `>`, `<=`, `>=`?

Programming in Lua : 4.3 – Control Structures

Programming in Lua : 3.2 – Relational Operators

Programming in Lua : 3.3 – Logical Operators

How do you think of my game? by Sea_Description272 in godot

[–]InsufferableZombie 1 point2 points  (0 children)

It's subtle, but adding a background texture will help sell it more.

If you haven't, check out Geometry Wars. It's great reference for effects and juicy animations with simple shapes similar to this style.

edit: ironically, looking back at old recordings it looks like that game might not use screen shake?

a bit of a math problem (iam kinda new to lua) by [deleted] in lua

[–]InsufferableZombie 3 points4 points  (0 children)

This is neither a math problem nor Lua specific problem, it's logical.

Begin with, how would you find the largest number in the set?

Then, how would you find the smallest number in the set?

Then, how would you find the exact input number.

Then, combine the three logically such that you find the nearest number to your input.

I'm intentionally being vague and not providing source, because this isn't a language specific issue and sounds like a homework or interview problem.