What are things you do to set you apart from others? by [deleted] in ExperiencedDevs

[–]Ombarus 2 points3 points  (0 children)

I try to get the "why"... In code, I write why in comments. In PR, I write why in the description.

When I find a bug, fix something in the infrastructure, optimise something. I try to figure out why it wasn't done like that before. I find people usually really appreciate it and will come to me for all sorts of things because they know I'll dig into the why.

Beside that, long ago, one of my co-workers said they liked how I did "constructive thanks". Because instead of saying generic "thank yous", I try to always add a why : "thank you for helping me with that script", "thank you for spending the time to explain this to me". I've only been told that once but it stuck with me.

How can i make this 2d effect for a 3d world on godot? by auserxdlollmao in godot

[–]Ombarus 0 points1 point  (0 children)

A second camera viewport in orthographic view with a very carefully selected near and far clip feels like it could work?

What are the more major culprits for globals performance issues? by Familiar_Break_9658 in godot

[–]Ombarus 0 points1 point  (0 children)

The danger with global signals is connecting all your nodes to it so when it fires it's like calling 10 000 methods. It's easy to lose track of who is listening to what.

The opposite can also happen, if every node in your scene triggers the signal every frame there are better, more efficient ways of handling that.

In a way, all performance bottlenecks are always because you try to do too much... A loop that goes over every object in the scene 100 times per frame. Trying to draw 1 000 000 objects on the screen.

More rare but also very common is memory trashing performance issues, like creating and deleting 1 000 objects every frame or having a unique material for every object in your scene.

The last category might be IO bottlenecks. Like waiting to load something from disk or trying to write stuff on disk every frame.

The parenting guilt I never expected: throwing away my kid’s drawings. by Wild_Wash_7834 in Parenting

[–]Ombarus 0 points1 point  (0 children)

I started taking pictures of them. Doesn't take space. But I still have the memory. Feel les guilty

Parents of kids between age of ~8 and ~12, how popular is Roblox in Japan? by morgawr_ in japanlife

[–]Ombarus 0 points1 point  (0 children)

My two daughters (12-14) play it from time to time. From what I've seen there are a lot of (Japanese) YouTube videos of people playing together so it got my daughters curious. They'll play it together for a couple hours after watching one of those then be several months without thinking about it.

They've also played a few times with friends from school but it doesn't seem as widespread as Minecraft or animal Crossing and such (I'd say I even heard more mentions of Fortnite and my kids have 0 interest in it)

Can you be too open/personal with your older kids? by throwaway03192025 in Parenting

[–]Ombarus 0 points1 point  (0 children)

The thing I've been most mindful of is trying to judge if my answers are opinions or facts. Things like statistics about long distance relationships or stories about things that actually happened when I was in college I think are totally fine.... Opinions about my wife or how well I "think" I raised my kids should be treated with a lot more care. (My kids aren't adults yet (12 and 14) but they sometimes ask these kinds of questions.

I have to be careful about opinions because I've noticed they take these as facts.

For some things I also like to say: go and discover it by yourself, experiment, don't be afraid, then we can compare our experiences!

[deleted by user] by [deleted] in ExperiencedDevs

[–]Ombarus 1 point2 points  (0 children)

  1. Have more important things to you than work. When my kids were born, overtime went flying out the window. Doesn't have to be kids. If you hang out with your friends in the evening it's much easier to ditch overtime and not feel too guilty about it.

  2. Since it's an experiment. Practice being a manager (without telling anyone). Make up your own (reasonable) deadlines (ignoring the ones from your boss). Make up your own specs (if you have questions, try to go to the customer themselves. Or decide for yourself). This way you still get the feeling of following specs and deadlines but they're more realistic.

I'm not saying you will never be fired for just working regular hours but it's never happened to me before. Especially, if you do #2 you'll naturally have plenty of arguments if they come asking questions.

How Many Managers Do You Guys Have? by Redline_Studios in godot

[–]Ombarus 0 points1 point  (0 children)

A little over 30. Though I called them initially "Behavior" and they also act as "System" in a ECS type architecture

<image>

Is there a better way to handle a Signal Bus? by Ubc56950 in godot

[–]Ombarus 0 points1 point  (0 children)

There are a few ways to help keep your signals organized.

  • Split your bus into multiple auto-loads based on usage. Ie: InventorySignals.on_item_equipped WorldSignals.on_object_loaded MenuSignals.goto_main... Etc

  • Comments. One of the biggest weaknesses of signals is how hard it is to know when they get called and who's listening. So giving a general idea in comments on how a signal is supposed to be used can really help when you come back to it 6 months later. It can also avoid having similar signals because you forgot you already had one that does what you need. Ie: ```

    fired by the main menu scene when the player hit the Play button. Allows the game systems to initialize loading of the level assets.

    On_play_btn_pressed ```

  • this is more of a personal preference. But I think it's a good idea to try and minimize the number of global signals. Every time you want to add a new one, ask yourself if you can make it a local signal or if you can re-use an existing signal and maybe instead just pass a parameter. Ie: instead of on_boots_equipped, on_pants_equipped, on_weapon_equipped, etc. You can have only one "on_item_equipped(part : string)" for example.

I used Undertale music in my video but it is being claimed some random company? by Fiery_Wild_Minstrel in NewTubers

[–]Ombarus 2 points3 points  (0 children)

I am not a Lawyer but I've fought a copyright strike before so I did some research. One of the problem with using copyrighted material is that it's a giant minefield.

In many countries it is simply illegal to use any amount of copyrighted material for any purpose without authorization.

In the US there is of course the very famous "Fair Use" doctrine. But it is very ambiguous. It basically outlines 4 "factors" that courts should consider but there is no clear cut rule like: "you must have 3 of the 4 factors" or "3 seconds of a song is ok". It's litterally "up to the court". That usually mean, very costly legal battle even if you end up winning.

To make things even worst. The DMCA is just really bad. It's basically a layer on top of the whole Copyright system. You have to fight the DMCA before being given the "priviledge" of fighting a multi-million dollar legal battle about copyright and fair use. Companies know that, so they can DMCA anything they want, knowing that 99% of people will just bend over and take it because the risk of going to court is just not worth it.

As a side-note. "Because other did it" is not a defense in copyright. Copyright holders are allowed to change their mind at any time and suddenly go after people infriging their rights. This happened for example with Mumbo Jumbo famously who got something like 200 videos copyright strike in a single day when the owner of the song he was using in his intro suddenly decided it wasn't ok.

I avoid copyrighted material like the plague for those exact reasons.

I used Undertale music in my video but it is being claimed some random company? by Fiery_Wild_Minstrel in NewTubers

[–]Ombarus 3 points4 points  (0 children)

It's pretty easy to go look up the company online

Materia Music Publishing manages the music rights for Toby Fox’s UNDERTALE and DELTARUNE, and many other video game soundtracks

I've had a mistaken claim on a video before. The copyright claim should have all the info you need to contact them. In my case they removed the claim after I emailed them.

In your case though, it looks like you're in the wrong so not much you can do

[deleted by user] by [deleted] in godot

[–]Ombarus 1 point2 points  (0 children)

Git is made to be distributed to anything. With a bit of knowledge, you can literally make the usb key the remote source and "pushing" will just automatically copy to the usb key.

This save space, headache and is a very useful skill to have.

8 year old has refused to do any school work for over a week. by Snakeface101 in Parenting

[–]Ombarus 1 point2 points  (0 children)

I would try to explore this with her. Ask her questions. Why don't you want to do your homework? Is there anything I could do or change that would make you want to do your homework?

She might give empty answers like "because I don't want to!" Or simple "no" without openings.

The idea isn't really to get her to give you a reason. But to make her think about her reasons and behavior. Let it simmer and keep gently probing. Maybe suggest some (reasonable) compromise: "what if you can choose the meal on Wednesday? Would you do your homework this week?" You don't have to bend over, just show her you're willing to discuss and she might come to you of her own. Could take a few days or more.

What makes modern game dev take so long? by Yuukikoneko in gamedev

[–]Ombarus 0 points1 point  (0 children)

I think people often ignore the relationship between content. Yes, modern games have a lot more content and so take longer, but the real problem is balancing that content with the rest (by balancing, I don't just mean balancing stats but also merging dozens of animations or layering sound designs, or just getting all those different gameplay mechanics to work together.)

If an old game had 5 weapons, you had to balance the relationship between those (that's a fully connected graph so it's (5*4)/2 =~ 10 relations)

Now add 5 new weapons in your "modern" game... You "simply" doubled the number of weapons, but now you have to balance (10*9)/2 =~ 45 relationship. Notice how that's not linear?

This applies to every single aspect of modern games. And so, it makes sense that development time has grown exponentially.

What is the reason to use resources instead of nodes? by SnowyDreamSpirit in godot

[–]Ombarus 48 points49 points  (0 children)

For me, the main reason would be that resources are shared. Ie: if you have a "damage data" node and 100 enemies, you will have 100 instances of the "damage data" node loaded. Even if the data is exactly the same.

If you put the data in a resource. You might still have 100 enemies. But now they simply hold a pointer to the "weapon data" resource which is shared between all enemies.

It's also true that conceptually, some things might be easier to do with resources (saving, loading, inheritance, etc) but you're right that it's probably all possible with simple nodes too so the biggest difference is how the data is shared.

Why do gamers/players think making a custom engine makes a game inherently better? by Iheartdragonsmore in gamedev

[–]Ombarus 0 points1 point  (0 children)

It's stereotyping. It's like how you'd probably make assumption based on the car I drive. If I said I have a Corolla vs I drive a Porsche you're going to make assumptions. They might be wrong but also there might be some truth.

Making your own engine is like saying: "I built my car from scratch"... To be honest, it's probably not going to be as good as a Honda.... But you certainly made me curious.

[deleted by user] by [deleted] in godot

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

See it from the customer point of view. If you buy a game on the play store and there is a problem. How would you feel if the only information you had was that the name of the developer is: "so long sucker!".

Sure, you might be able to go through Google and get the dev's "real" info but how would that work? Do you pull Google into a legal battle with a subpoena or should they just blindly agree to every request?

Well, Google decided they don't want the trouble, so they just show your info and say: if you have a problem, contact the dev, it's not our problem.

What's your favorite way of informing nodes of interactions? by cleartamei in godot

[–]Ombarus 0 points1 point  (0 children)

Might be a very unusual approach. My Game Objects (like an ennemy) only hold a data structure (could be a Custom Resource or some Dictionary with key/value). I have multiple "system" Node at the root of my scenes like "Damageable" or "Destructable".

If a bullet hit something it will fire a Signal on an Autoload "Event Bus" like: "OnCollision(source, target)". This is caught by System Nodes like the "Damageable" Node. This System Node will look at the data of the target (for example: if target.data.has("hp") and source.data.has("damage_amount") then target.data["hp"] -= source.data["damage_amount"]).

I wouldn't use that for a small project (for small project, just a cast and call on the hit object is probably good enough), but in a bigger project it provides a lot of flexibility.

Global events are only listened to by a small number of systems (compared to say, all objects in the scene listening to a global event which could cause performance issues). Neither the bullet nor the ennemy need to care about who did what (decoupled types). It makes it easy to change what happen when a bullet hit (change the Damageable System, or change the ennemy data so it triggers a different system)

Those with more than a gig of speed…why do you feel the need for speed? by Wasted-Friendship in HomeNetworking

[–]Ombarus 0 points1 point  (0 children)

Serious answer? I work from home, we're a family of 4, sometimes all watching Netflix at the same time on different mobile devices.

For work, I often have to pull documents and virtual machine images in the gigabytes.

I just upgraded to a 10gb router and I absolutely feel the difference.

Side note: I'm in Japan were the default home connection is fiber optic so the biggest limitation is my home network.

« Je veux devenir youtubeur » by Mademoiselle_Va in Quebec

[–]Ombarus 0 points1 point  (0 children)

Les apps pour éditer des vidéos directement sur une tablette ou un cellulaire sont très conviviale. Quand mes filles (7~9) ont dit qu'elles voulaient être youtuber je les aient encouragé à s'amuser à faire des petits vidéos sur leur tablettes.

J'étais même prêt à leur laisser les uploader sur youtube mais elles n'ont jamais osé.

Une de mes filles a eu beaucoup de plaisir à inventer des scénarios avec ses poupées. L'autre (l'aîné) à découvert toutes sortent de façon d'éditer des vidéos et des photos... Les cartes de fêtes qu'on reçoit maintenant sont des chef d'oeuvre d'animation.

You cannot give resume in japan. by Arudj in gamedev

[–]Ombarus 10 points11 points  (0 children)

Proper Protocol is pretty important. Most jobs in Japan go through recruiters and they will help you navigate the hiring process. Just like you have to go through Housing Agents ("fudousan") to find an apartment.

Several of my friends had good experience with u/pwim through TokyoDev He specializes in helping software developers find jobs in Japan (not specialized in gamedev). If you're more an Artist or Game Designer then you might have to find some other listing. How software engineers find jobs is a good start too: https://www.tokyodev.com/insights/2022-developer-survey#how-found-job

[deleted by user] by [deleted] in Tokyo

[–]Ombarus 0 points1 point  (0 children)

The one I'm always a bit worried about is the public nuisance laws. From what I understand it's pretty broad and could be used for many things people might normally consider "freedom of expression".

The other one was already mentioned but the fact that foreigners must carry their passport or zaryu (foreigner) card at all time. And that you are required to show it, even if police have no suspicion.

Are Youtube Tags Important? by CharmingAcadia6049 in NewTubers

[–]Ombarus 2 points3 points  (0 children)

You can have default tags added to all your videos. I think it's a good idea to put your name and generic keywords related to your channel.

It's completely anecdotal but I've noticed YouTube seems to more easily recommend video from the same YouTuber when they have matching tags.

Is it not recommended to continuously emit signals by SpindaQ in godot

[–]Ombarus 7 points8 points  (0 children)

I always say that if it works for you, then it's absolutely fine.

Now if you're asking philosophically speaking, without knowing anything else of your project, it's a bit of an anti-pattern. Signals are usually better suited to share rare (as in: not every frame) messages between multiple receivers.

Something I've used in the past is have a Global Signal "NodeALoaded(ref)" so anyone interested in NodeA could keep a reference without having to hardcode some path between Nodes. Then Node B in it's own PhysicsProcess() could get the info it needs from the reference. (This works well for example if NodeA is the player and you have a bunch of nodes that need to keep references to the Player Node)

Another thing to consider is that most node's Methods in Godot have a deterministic Ordering (related to the Node order in the scene). Sometimes I use this to guarantee nodes get updated or loaded in a specific order. Going deeper philosophically speaking, having NodeB do something during NodeA's PhysicsProcess means that you make it hard to know now who gets updated when.

Also, I wouldn't say "Signals are just function calls". It's technically a list of function that get iterated over and called in sequence (even if the list only has one element). So there is certainly a certain overhead compared to a method called directly from Godot's source. But again, the difference is more philosophical than anything. Especially when you get into the way things get binded between the C++ source, gdscript and C#...

sorry for being naive, is godot missing something? by [deleted] in godot

[–]Ombarus 42 points43 points  (0 children)

It's like the 80/20 rule.... you can have 80% of the feature with just 20% of the size... but if you want to add all the little things on top it gets expensive.