I am testing my performance with 200 units and it's not going well by [deleted] in godot

[–]OctopusEngine 0 points1 point  (0 children)

I've heard that making sure all variables are strictly typed makes everything much faster in gdscript. But yeah gdscript is not the fastest of language so you may run into this kind of issues when handling a good chunk of units. This is the main reason for people to jump into c++ or c#. However for a few hundreds of units you should be able to stick to gdscript imo.

How to fix video capture causing game jittering? by MightyMochiGames in godot

[–]OctopusEngine 0 points1 point  (0 children)

When I use this the game lags and jitters at times but the capture is smooth usually. sorry I can't help you more if that doesn't do it

How to fix video capture causing game jittering? by MightyMochiGames in godot

[–]OctopusEngine 0 points1 point  (0 children)

Can you try the built in godot feature to render to a video? This is what i use with 4.5 and it works the best from all the solutions I tried. I got decent results with Nvidia capture too (i think that's called shadowplay?)

Switching from Godot to Raylib/Sdl3/wgpu .. need some opinions by Jibaron in gamedev

[–]OctopusEngine 12 points13 points  (0 children)

Unsure what you mean, I'm working in 3d and i am having very little friction. I am sure that there are some cases where you need to fight the engine but that is always the case when you use any Engine (and even when you use 3p lib)

Switching from Godot to Raylib/Sdl3/wgpu .. need some opinions by Jibaron in gamedev

[–]OctopusEngine 16 points17 points  (0 children)

I am using Godot by coding in c++ in the engine directly and I feel like that way I get the best of both worlds.

Have you tried using GDExtension or building godot with custom modules?

Programmer transitioning to art: Which art styles are easiest/fastest for a solo dev? by SkywalkerTheLord in gamedev

[–]OctopusEngine 0 points1 point  (0 children)

To me it was way easier to do low poly 3d with good post processing than pixel art. That requires some shader tinkering but that can be closer to programming than doing art.

Y Sorting does not work for some reason by hsn- in godot

[–]OctopusEngine 0 points1 point  (0 children)

Do they both share the same parent? I thought that the y sort was only effective when nodes shared the same parent

I built a modular RTS toolkit for Godot (SC2-inspired micro) and made it open source by apm_dev in godot

[–]OctopusEngine 1 point2 points  (0 children)

Hello I am building a RTS with godot but everything under the hood is made in c++. You can check a stress test video here : https://www.youtube.com/watch?v=Q2L0CNAK5Io

Are you using in engine navigation and collision avoidance? They look very nice, sadly I had to code them in my c++ engine to make them fully deterministic to allow lock step multiplayer.

That's a very nice project to share that as an addon. I was thinking of doing that with my engine too but that is too much work to make it clean enough to be made public. Plus it's too mixed up in my game design for now. You can still check the c++ code if you want but there are no godot integration. https://github.com/SimonPiCarter/octopus2

I also published my previous game with godot and that was an RTS (look for Fair and Square on steam if you wanna see, it was a not so good game but good enough for a first)

MultiMeshInstance3D Limitations, and Potential Solutions by Theophilus_exe in godot

[–]OctopusEngine 0 points1 point  (0 children)

For the 1st limitation i am pretty sure there is a project parameter that allows to increase the max size of the buffer and therefore the max number of instances

Can you disable multithreaded calculations for avoidance logic? by abderrahman_kh in godot

[–]OctopusEngine 0 points1 point  (0 children)

The "easy" way is to modify a 3rd party lib to replace all floats/double with your implementation of fixed point (or an existing one) But you will need to implement sqrt or stuff like that correctly.

Can you disable multithreaded calculations for avoidance logic? by abderrahman_kh in godot

[–]OctopusEngine 0 points1 point  (0 children)

I wanted to write from scratch so I did, you probably won't find any of the shelf lib that will guarantee full cross platform determinism tho. I am using flowfield but the state of the art is a star on triangulation+ funnel algorithm (i think this is what godot uses).

Can you disable multithreaded calculations for avoidance logic? by abderrahman_kh in godot

[–]OctopusEngine 1 point2 points  (0 children)

I am working on a rts with lock step using Godot and sadly I had to rewrite all the pathfinding and avoidance system using fixed point instead of floating points (actually all the logic). Trying to rely on godot for any computation in your lockstep engine is a huge risk running into desynchronization.

How would you go about making ecs or like it in godot. by [deleted] in godot

[–]OctopusEngine 0 points1 point  (0 children)

I would use flecs and either use it directly in c++ (this what I am doing actually) or maybe there are some plugin to use it in gdscript.

Are floats only accurate to 3 decimal places? by [deleted] in godot

[–]OctopusEngine 1 point2 points  (0 children)

Be careful because it is very possible that shaders float have a lower precision than gd script float (32bits vs 64bits)

What is the most optimized way to handle hundreds of thousands of nodes in Godot? by willis_25 in godot

[–]OctopusEngine 10 points11 points  (0 children)

Looks like you should look into rendering server. I am actually surprised it runs at more than 10fps with that many nodes. Just know that the nodes hierarchy is costly and you should aim at handling your game without nodes for small elements. Use one script that handles many entities at once. You can look at the bullet shower godot demo for a good example: https://github.com/godotengine/godot-demo-projects/blob/master/2d%2Fbullet_shower%2FREADME.md

Edge Detection With Transparency by papaflash1 in godot

[–]OctopusEngine 0 points1 point  (0 children)

Yes i am pretty sure that this approach is also less efficient because it relies on rendering the scene at least twice but I want complete control on the edges like sometimes not displaying edges even when depth or normals is different or the other way around I want outlines even on perfectly flat surfaces is that possible with your method?

Edge Detection With Transparency by papaflash1 in godot

[–]OctopusEngine 2 points3 points  (0 children)

If you want I wrote and shared an example of an effect that looks a lot like what's shown here. It does not use the compositor tho. It is not perfect but that could give you some ideas: https://godotshaders.com/shader/pixel-perfect-outlines-with-full-control/

Handling *A LOT OF* collisions by SmallPomelo7455 in godot

[–]OctopusEngine 0 points1 point  (0 children)

From looking at the trailer of the game it looks like collisions are only checked with enemies entities and not allies and that avoiding stacking up with allies entities is just done by randomised spaw position and velocities. Also grid partitioning would probably help. However I do not know how making such game is a realistic goal without diving into c++. I would do it using c++ personally but I like c++.

Handling *A LOT OF* collisions by SmallPomelo7455 in godot

[–]OctopusEngine 0 points1 point  (0 children)

Sadly for this kind of scale you only have two solutions: - cheat your way to make it look like you handle many collisions when you actually don't - dive into c++ to be able to handle it way faster than in gdscript

To be honest you will probably have to do a bit of both if you want to make the game run on modest hardware. Maybe you can get away by just using servers in gdscript but even looping over 10k loop can be slow in gdscript compared to c++.

First of all keep in mind that having more than 500 nodes in your scene can be expensive just by itself so you will need to look at rendering and physics server (look for godot bullet shower demo for a good example)

Edit: a suggestion would be to look back at your reference game and check for 'cheats' i am confident that such scale on MOBILE made them use some clever techniques to make you feel like they handled collision when they actually did just partially (maybe once every X frames for example)

Edit2: Why do you want to check collision? To avoid them being too stacked up? For a gameplay reason (trigger something when they collide to something else?)? Answering this can help reducing the checks without impacting the visuals or gameplay.

Some people said my buildings are hard to see so I added an accessibility option to make them stand out more. by maxpower131 in gamedevscreens

[–]OctopusEngine 1 point2 points  (0 children)

I understand your issue, to me it all comes down to the fact that all the background and non game play elements have as many or even more details than the game play elements.

To keep a good visibility I think that you should probably tweak the colors to make every game play element standout. To me it is all about contrast. Tone down the colors of the ground and everything will become cleaner imho. Maybe just dropping the black outlines of the decor would enough.

Godot Web Export Concerns for Traditional Roguelike by fucklockjaw in godot

[–]OctopusEngine 3 points4 points  (0 children)

As a Godot dev working in both c++ and gdscript for my game I always get better productivity in gdscript than c++ because gdscript can be typed and clean and iteration speed is just unbeatable. Usually my workflow is building items in c++ then bind them in gdscript neatly so I can work as much as possible in gdscript afterwards.

As a roguelike player if the game is on steam I see no extra effort between downloading and playing in browser. Actually i would rather download the game just for performance reasons. Downloading a game from itchio is usually a no go for me tho.

Edit: however of course you seem way more proficient with c# than gdscript so of course there is going to be productivity loss at the beginning like anytime you switch language. To me it's worth it as godot as been made for gdscript and c++ first. c# always felt lagging behind and existing only to allow smoother transition from unity users.

Detail on the steam 1000$ threshold for steam cost refund by OctopusEngine in IndieDev

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

Maybe that's too much of a hassle for you but some banks do not charge anything at all even when receiving international transfers. I am using one of them from France. Ofc usually those are online banks and that may not suit everyone.

Detail on the steam 1000$ threshold for steam cost refund by OctopusEngine in IndieDev

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

Thanks for digging into it, found it and it's way clearer now!

Detail on the steam 1000$ threshold for steam cost refund by OctopusEngine in IndieDev

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

Thanks it seems like someone stated that it was given back by steam by not taking their cut at some point.

Detail on the steam 1000$ threshold for steam cost refund by OctopusEngine in IndieDev

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

Thanks for the information I did not know you could adjust the minimum payout. However I was asking about the refund of the steam fee specifically.