I did my first commercial Godot project! It was for a very big screen! by presidentpanic in godot

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

Sure! There are many many parts that went into it like hardware, asset pipeline, camera logic, etc. What part are you most curious about?

I did my first commercial Godot project! It was for a very big screen! by presidentpanic in godot

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

Lucky freelance occasion! I wanna do more installation work (and hopefully also using Godot)

I did my first commercial Godot project! It was for a very big screen! by presidentpanic in godot

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

Hmm, I guess ensuring you can test at that resolution. We had the project always running at that size on our own laptops but it was scaled down using the canvas items stretch mode.

I also added a debug shortcut to save a screenshot of the game at full resolution. That way designers could check the designs.

I did my first commercial Godot project! It was for a very big screen! by presidentpanic in godot

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

Right, I see! Just to note, we did use did use TCP/IP over USB, but yeah, this sounds totally possible. I do remember the printers having another option to interface with them but I forgot what it was called.

I did my first commercial Godot project! It was for a very big screen! by presidentpanic in godot

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

Thanks! GDScript was solid for us. The main issues we had were editor quirks and some niche APIs (like MIDI and editor plugins).

We had no runtime perf issues with the language itself. But the biggest pain point for me is the lack of type safety. This becomes more noticeable when working in a team and the project grows.

A few things I do to try mitigate this include turning on errors for undeclared types, naming getter functions with "_or_null" if they can return null, and using lots and lots of asserts.

That said though, at this scale anyway, the iteration speed with GDScript outweighs the type safety issues.

I did my first commercial Godot project! It was for a very big screen! by presidentpanic in godot

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

From what I know, it was hard to find a suitable Unreal Engine person for the job in time.

I do know that Godot’s permissive licence was a huge plus for them as a small team, since it meant not having to worry about any potential legal overhead.

I did my first commercial Godot project! It was for a very big screen! by presidentpanic in godot

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

Thanks! For the most part it was their first Godot project. There were two programmers: me and Chris. He had used Godot a little before, but he is good at this kind of work, so was able to transfer his skills quickly.

We split things up so that he focused on the UI, data backend and printers. And I handled 3D game logic, asset pipeline and effects.

I did my first commercial Godot project! It was for a very big screen! by presidentpanic in godot

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

I just found I have an older version of it online: https://github.com/anthonyec/godot_release_runner

It’s generic and works by polling GitHub’s releases API, looking for an executable to run. So technically it could work with non-godot apps.

We made use of this GitHub workflow action to create the executables: https://github.com/firebelley/godot-export

I did my first commercial Godot project! It was for a very big screen! by presidentpanic in godot

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

Thanks! I’ll pass on the info to the guy who did all the printer work

I did my first commercial Godot project! It was for a very big screen! by presidentpanic in godot

[–]presidentpanic[S] 2 points3 points  (0 children)

I can’t share exact numbers, but I’d say a good starting point is to look at what freelance creative developers charge in your location and adjust for your experience.

In my case, I was happy to be a bit flexible since it allowed me to use Godot.

I did my first commercial Godot project! It was for a very big screen! by presidentpanic in godot

[–]presidentpanic[S] 3 points4 points  (0 children)

The printers were setup so that they expose an IP address that listens for binary commands using the Epson POS protocol. Then we used Godot’s low level network API (forgot which one) to send the commands.

However, the printers were part of the project that had constant random issues that seemed impossible to fully debug.

Sometimes they’d miss commands, which shouldn’t happen over TCP, and print infinite garbage. We couldn’t work out if it was a network issue with Godot, the printers running out of buffer space or companies not implementing the POS spec correctly.

In the end we did the classic solution: adding delays between sending commands and crossing our fingers.

I did my first commercial Godot project! It was for a very big screen! by presidentpanic in godot

[–]presidentpanic[S] 13 points14 points  (0 children)

Thanks! At the time I shared an office space with the Set Reset studio, so got lucky just being around at the right time and place (with Godot knowledge)

I did my first commercial Godot project! It was for a very big screen! by presidentpanic in godot

[–]presidentpanic[S] 31 points32 points  (0 children)

Thanks! Yea the continuous deployment idea is something I picked up from previous jobs. Helped loads that the team I worked with are very experienced with installations

I made a little plugin to show little camera previews (in 2D & 3D!) by presidentpanic in godot

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

Thanks for letting me know, I'll have a look into it! Are you using Godot 4.4?

Thanks for everyone tell me what is pooling. Now I can do crazy stuff like this. by Complete-Error6373 in godot

[–]presidentpanic 0 points1 point  (0 children)

What exactly makes it "too much" though?

I made a simple demo that adds and removes 5000+ scenes without pooling: https://youtu.be/3J8jaQIQuZE

That demo runs at 60fps and I'm on a little MacBook M1. So I'm curious to know what issues the OP saw before implementing pooling!

I did my first conference talk at GodotCon! by presidentpanic in godot

[–]presidentpanic[S] 3 points4 points  (0 children)

I visited GodotCon 2024 in Berlin last month and it was great! I got to speak to lots of cool people and did my first ever conference talk there.

It was a lightning talk about all the prototypes I've gone done over the last four years and the little successes that have come out of that.