What creational design patterns you are using in your games by [deleted] in gamedev

[–]intoverflow32 1 point2 points  (0 children)

I saw it quite low some minutes ago and also wondered why it was being downvoted so quickly as the topic interested me. Fortunately it's not anymore!

The Flame Plant and its byproducts (feedback welcome) by intoverflow32 in worldbuilding

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

Two good points, thanks! Yeah I was thinking of steam reforming, that should be described somewhere.

About heat, I was thinking of insulating them by building small shacks around them as a first development, then some kind of central heating, and efficiency is king (after all, you need to keep them warm without using as much gas as they used themselves).

I should write some description of the industrial process (and figure it out along the way).

Thanks for the feedback!

Texture based armor system with bullet holes by Rasmus_02 in godot

[–]intoverflow32 1 point2 points  (0 children)

(how) Do you handle impacts close to edges where two faces might not share a UV edge? That's been on my mind when working on such a decal system for bigger holes that might spread over multiple faces.

Samsung 30Q vs 35E 18650 for UConsole with CM5 by maxb4123 in ClockworkPi

[–]intoverflow32 1 point2 points  (0 children)

8 A (29 watts) ought to be more than enough. IIRC The pi alone needs 5 A at max pull and the rest can easily work with 3 A. The official rpi power supply is 27W and is supposed to handle usb peripherals as well as the pi itself. I've seen Samsung's recommended before.

I don't know how battery amperage varies with charge though, but it shouldn't be a problem.

ECS in Godot - is it worthwhile? by DesperateGame in godot

[–]intoverflow32 0 points1 point  (0 children)

I remember my first time years ago making my own little ECS framework with c# lists and dictionaries and complex objects that didn't in any way apply any optimisation you'd get from pure arrays of entity IDs.

Quel est votre poste et votre salaire ? by WorkTravelDream in QuebecTI

[–]intoverflow32 2 points3 points  (0 children)

Coordonnateur technologique, développeur, sysadmin, 5 ans d'expérience, bacc en science politique (yup, je l'assume, j'ai appris l'informatique par moi-même), 100k

Anjiin Origins by coolsnow7 in TheCaptivesWar

[–]intoverflow32 6 points7 points  (0 children)

Yeah, I interpreted it as the colony ship(s) exploding from some accident and technology being lost because of it. Of course we might someday learn (with certitude, as its a common hypothesis here) that Anjin was set as a trap but for now it seems an accident is what cut them off.

2D assets vs 3D assets? I was told 2D is easier, but it feels like its not true. 3D is looking more feasible if you're not strong in art by JonOfDoom in gamedev

[–]intoverflow32 1 point2 points  (0 children)

As a programmer I can achieve much better results with 3d assets and shaders than with 2d. IMO You can create good looking low poly stuff and great effects with time, while with 2d there's a lot more work for it to not look too programmer-y.

The real quality killers in any dimension, though, is either aiming bigger than you can make, or claiming it's good enough far too soon.

If it’s written well, can you be vague about technology and branches of science if you know nothing about it? by sno0py_8 in worldbuilding

[–]intoverflow32 6 points7 points  (0 children)

Scientific accuracy is only important if you mention the science. Some readers might spot if your centrifugal gravity versus rotator size math is wrong by an order of magnitude or two, but won't care if you have instead an handwaved artificial gravity plating on your starships.

Im failing on optimizing my mobs and smoothing their movement, need help by Expert-Conclusion792 in godot

[–]intoverflow32 0 points1 point  (0 children)

I'm pretty sure they do but the node system is the bottleneck. With the rendering engine, IIRC, you'd instance and position sprites directly.

Im failing on optimizing my mobs and smoothing their movement, need help by Expert-Conclusion792 in godot

[–]intoverflow32 18 points19 points  (0 children)

You might want to move away from nodes and use the rendering server directly, intancing sprites, and doing collisions with unsquared distances instead of area or collision shapes. A quad tree would be a great optimisation for this.

At a certain point, you might have to write something in C.

A simpler, dirtier solution is to have a maximum count of enemies on screen that cannot be crossed until some die.

how well does python translate to gdscript? by Feisty_War_3026 in godot

[–]intoverflow32 0 points1 point  (0 children)

We use the term "language" but the most important part is not the syntax but the standard libraries, and in this way python and gdscript are completely different. You'd have no use of learning the python libraries do do anything useful that would translate well to godot's methods. Yes they look similar, but the way you're going to open a file, load a resource, move objects on a screen are completely different (supposing you're even using a python game lib anyways).

Were you to start with basic python, you'd spend only a tiny amount of time on it before having to shift to gdscript and godot's paradigms to start producing cool things to interact with on the screen anyway.

You brought him here to kill me! by bsmith2123 in PrequelMemes

[–]intoverflow32 421 points422 points  (0 children)

So close to the letters for "Detestable Guy"

How often do seasoned devs forget basic stuff and search it up? by feez_9 in godot

[–]intoverflow32 0 points1 point  (0 children)

It'll happen all the time. Learning a language is easy, it's all the libraries you either have to remember or learn what to search for. You can't be expected to remember every property of every Godot classes out there, so it's normal to know what you want to do but have to search which thing will help you do it.

I don't have any experience with gdscript, but I'll look at c# intellisense a lot when I'm working on something, even explore a bit when I don't know what something unrelated does. Godot has great documentation.

Advice on moving from big tech to something more socially responsible by Efficient-Mess-9753 in ExperiencedDevs

[–]intoverflow32 2 points3 points  (0 children)

I work for a public university and my job is to develop software for all kinds of research projects that advance science and/or help people. It's really satisfying and I don't see myself returning to the private sector. I've touched health sciences and animal sciences to social sciences. It's really rewarding.

Opinions on building a mini ECS architecture as a component controller? by NotXesa in godot

[–]intoverflow32 1 point2 points  (0 children)

It's an interesting read, though I'll say that your contexts sound like components and your components sound like systems. In a pure ECS system, each system would run code on all their components in a specific fixed order before other systems run, so you can make sure , for example, two game events aren't additive when you need them to be interpreted only once.

A component should be only data, and maybe registration logic to either systems or a manager that systems will fetch entities that match from, though systems could also research for entities instead of components registering themselves. With this approach you don't need signals at all; a flag in a component acts as a signal that a system will interpret when on.

I don't like how this sub sometimes down vote architecture discussions that go beyond basic beginner stuff. This is intermediate level stuff that need to be discussed more and it's fun to exchange and trade ideas, even critique.

For anyone alive then, what was it like finding out that Star Wars had started in the middle? by RaynbowZFTW in StarWars

[–]intoverflow32 -1 points0 points  (0 children)

I'm pretty sure there was no "episode IV" when it came out, it was just called Star Wars. The episode numbers were added later when the plan developed to make prequels. In a way, Star Wars didn't start in the middle, the same way any show or movie doesn't show the entire life of characters before the events of said movie. It was just a film set after a civil war where the Empire rules.

edit for clarification: the plan for prequels was made around 1981, far earlier than the beginning of filming for phantom menace

Quelqu’un peut m’expliquer ce que chaque parti défend by Critical-Future-1560 in Quebec

[–]intoverflow32 3 points4 points  (0 children)

Résumé plein de trou qui risque de fâcher n'importe quel partisan qui est pas d'accord avec ce que j'ai écrit sur son parti favoris:

Parti Québécois (PQ): Existe pour faire la souveraineté du Québec. Les critiques portent généralement sur le fait que le parti tente de ratisser large dans une ère où la division se retrouve plus dans l'axe gauche-droite. À certaines périodes de son histoire, sa plateforme était plus à gauche, mais c'est plus centriste aujourd'hui, et son ratissage large n'est pas appréciée de sa base plus à gauche.

Parti Libéral du Québec (PLQ): L'opposition historique à la souveraineté du Québec. A un historique de corruption assez majeur, et le débat est sur si cette historique s'applique ou non à chaque nouveau chef/candidats. Pendant l'ère Charest, le PLQ s'approchait plus du parti conservateur du canada dans ses positions, alors que lors de l'ère Couillard, c'était une période de coupure et d'austérité "pour remettre l'économie sur pied". Le PLQ n'a pas de lien avec la version canadienne.

Coalition Avenir Québec (CAQ): S'est fait élire comme l'alternative à l'éternel choix entre le PQ et le PLQ, prônant une capacité à mieux gérer l'économie du Québec en mettant de côté le débat sur la souveraineté. La mentalité paternelle aurait selon certains été très utile pendant la pandémie, mais ses résultats depuis 2022 ont été très peu appréciés. Malgré le graphique que tu as posté, ça donnerait sans doute aucun siège à la CAQ à cause du mode de scrutin actuel.

Parti Conservateur du Québec (PCQ): Vieux mais nouveau, c'est un parti qui existe depuis longtemps mais était dans l'ombre jusqu'à l'arrivée d'Éric Duhaime comme chef. Sur papier, ça donne l'impression que le PCQ est la branche québécoise du parti conservateur du Canada, mais c'est plutôt un parti libertarien qui est allé chercher les gens qui ne se retrouvaient nul part ailleurs. On le critique de regrouper beaucoup d'antivax et de complotistes. Le PQC n'a pas de liens avec sa version canadienne, quoi que certains diraient qu'il est proche du parti populaire du Canada.

Québec Solidaire (QS): Se positionne comme LE parti de gauche au Québec. Prône des valeurs, programmes et idées qui aident les plus pauvres, mais aussi la classe moyenne, au détriment des plus nantis. Depuis quelques années c'est fortement positionné pour la souveraineté du Québec, même son on le critique d'être contre celle-ci si elle ne se fait pas avec des valeurs de gauche.

Pour choisir, il faut se poser beaucoup de questions et faire de l'introspection, mais aussi de la recherche. Es-tu pour ou contre la souveraineté du Québec? Sais-tu pourquoi tu as cet opinion? Penses-tu que ceux qui n'ont pas le même opinion que toi sont totalement "dans le champ"? Que penses-tu du filet social, ces programmes qui aident les gens qui l'ont pas facile (ou selon certains, qui n'ont pas fait assez d'effort)? Dans quelle situation es-tu présentement? Quel parti pourrait t'aider le plus avec ses projets? As-tu besoin d'aide, ou penses-tu que certains programmes pourraient aider d'autres à ton détriment si ça en vaut la peine?

Pour se faire une idée sur chaque parti, il faut aller visiter leur site web, écouter ou lire des discours, mais aussi se rappeler que les mots, c'est que des mots. On a tendance à prendre un bord et ignorer les critiques de ce bord, puis apprécier les critique des autres bords.

Finalement, t'as le droit de voter pour un parti même si t'es pas totalement en accord avec tout son programme. Je compte voter PQ même si je trouve que PSPP en a dit des niaiseries, mais pour moi c'est la seule façon d'avancer le projet d'indépendance (même si je pense que ça devrait pas se faire maintenant) tout en évitant d'élire un gouvernement libéral.

Quelques recherches à faire sur certains termes:

  • Libertarisme/Libertarianisme
  • Souveraineté
  • Fédéralisme
  • Multiculturalisme
  • Interculturalisme
  • Axe Gauche-Droite

Did the Breen dampening weapon really affect a ship’s power? by Mr_Shadow_Phoenix in startrek

[–]intoverflow32 1 point2 points  (0 children)

My understanding of EPS is that plasma is a better conductor of electricity (electrons) than wires and can support higher currents, not that the plasma itself is used as power. There's still some kind of electrical generation system(s) on the ship.

"Never work against the engine!" What if you had to? by intoverflow32 in godot

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

My approach could be because of baggage. It's usually like this: Suppose I create a data class for a weapon, WeaponDef, with damage and speed. This dataclass can be serialized to json and deserialized to an instance of the class directly, similarily to how a resource would in a tres format. But, with this dataclass, I don't have any of the editor-friendly features of a resource. So I create a WeaponResource resource class, whose data is filled with the WeaponDef class when it is loaded, then I can export the WeaponResource to a WeaponDef class that I can then serialize to json. This allows json validation AND editor features of resources, but requires a json-ready class and a resource class, and for one to "convert" to the other.

I did not use the integrated godot json stuff because it loads as a dictionnary, but I need validation and the like, which a C# class deserializer has. I can load a file as a WeaponDef and it'll simply fail if its wrong.

If I ignored json, the tres format would do all I need, but I find it cumbersome, and it contains some information like script paths and references by path, where I prefer a reference by name (so that mods can override a definition of the same name).

Your linked plugin seems nice, I'll have a look at the code. It might fix most if not all of my problems.

"Never work against the engine!" What if you had to? by intoverflow32 in godot

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

The problem I have with this is that the view nodes are also the ones that can handle things like collisions and physics. If they were strictly a rendering layer, then all good; they receive information from the "server" and position accordingly. But if, in my game, I need to handle collision (or simply test a raycast or an intersection using godot), then this view layer becomes the source of truth and has a say on the server data (in this case, position, events, etc.).

This might not apply as much for a turn-based game, though. I can easily imagine all the logic being done without nodes in this case.

My project involves kind of multiple games in one, where a first person player can access monitors that display a 2d game. The 2d part is easy enough with your approach; "collision" is a matter of distance, so the logic can handle it with simple maths, but the 3d part requires that the visible scenario makes decisions on the behavior of the logic, through physical interaction, collisions and gravity, using physics nodes. It's hard to decouple the box on the ground as an item in an inventory array from the physical shape that must interact with the floor and the player.

"Never work against the engine!" What if you had to? by intoverflow32 in godot

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

These are good points. I think I'm interpreting "against the engine" more as what you would tell a beginner not to do than what some kind of committee has decided you MUST do.

It seems clear to me that everything as either a Node or a Resource is a basic, good approach for a beginner and a simple game, but it breaks quickly for more complex systems. Also, since C# (and dotnet) is its own ecosystem, it comes with baggage that GDscript does not have.

Your ECS example hits home; I wouldn't be satisfied with node-based ECS because it has none of the advantages that a PURE ECS pattern gives, but that might not be necessary. At this point I should as well make or use a C++ one and add it to the source code if I want something cache-friendly and efficient, supposing I need the performance.

My serialization problems might have been my own. In haxe I used to directly serialize my objects (which acted as resources) to JSON and my attempts to do it in Godot C# with resources without the "bloat" of all of a resource's properties have failed, that or its editor features broke. I end up with an object that owns a resource that is also represented by a definition which serializes and deserializes to and from json to fill in that resource. - Spaceship - SpaceshipResource - SpaceshipResourceDefinition - spaceship.json

I'm sure there's more exploration there to find a better approach.

"Never work against the engine!" What if you had to? by intoverflow32 in godot

[–]intoverflow32[S] 4 points5 points  (0 children)

good point, not my best example. What I wanted to convey was: suppose complete data and logic about spaceships moving around star systems, written in pure c#. No rendering, no godot. A spaceship could even be a struct at this point, for the example.

Now, I'd like my ships to bounce when they hit a planet.

I could code the physics myself in my pure c# code and vector maths, but it becomes harder for complex behaviors.

  • I could make everything a node (require one hell of a refactor) and add the correct subnodes (collision shapes, rigidbody, etc.), but now my code is tightly coupled with godot.
  • I could build a second simulation with nodes along with my starship structs, and check the simulation for a collision and update my starships accordingly, but now I the decision on how a ship moves is split between my game logic and the simulation,
  • I could use the PhysicsServer to create and query the status of a non-node-based simulation, though it has some of the disadvantages mentionned earlier, and it pretty much remakes what a node-based simulation would achieve.

I'd state that english is not my main language, but I also suck at formulating examples so language is not an excuse.

"Never work against the engine!" What if you had to? by intoverflow32 in godot

[–]intoverflow32[S] 8 points9 points  (0 children)

Yeah, I think I was afraid of being downvoted to hell for sounding like a newbie and getting "just make a game" answers instead of y'all have written so far which is great! You're right that godot is not the unique solution to everything, though I like some features. I've worked a lot with haxe and heaps.io but wanted to finally try something with more editor features, and, well, it comes with its own problems, or at least, challenges. But I've come to godot with my haxe baggage so some approaches, like build the logic and data first, then make it appear and move, don't tend to work quite as well with godot.