(I’m one of the authors.)
This project shows how to apply more complex patterns popular in business applications while staying true to the Go ideas, and not copying them blindly from Java.
In the Go community, you’ll often hear people say „just keep things simple” beats all patterns and is all you need. This may be true if you write a CLI tool or a small library, but if you have a team maintaining a big application, some patterns are super helpful.
Here's a good summary, I think I'll link it in my post: https://ebitencookbook.vercel.app/blog/2022/04/16/TPS
At GetHarley (https://www.getharley.com/) we build the first platform that combines technology, clinicians, knowledge and medical-grade products. We deliver personalised skincare plans which empower our patients to look and feel their best selves.
- Secured series B this year and are now looking for product-minded engineers to help us scale further
- You'll be joining a small product engineering team (6 people) where you will have a real impact
- Looking for people who own their work end-to-end and prefer being close to the product discussions
- The tech stack is Go and React (details in the links below)
Senior Backend Engineer: https://boards.eu.greenhouse.io/getharley/jobs/4209229101
Senior Frontend Engineer: https://boards.eu.greenhouse.io/getharley/jobs/4209222101
Senior Data Engineer: https://boards.eu.greenhouse.io/getharley/jobs/4222751101
How was using Go targeting wasm (I presume)? I'm personally concerned about compilation times being super long, but I guess I've never tried...
As mentioned in the other comment, the heavy lifting is done by Ebitengine: https://ebitengine.org/en/documents/webassembly.html
Go supports compiling to wasm, and it's as simple as:
GOOS=js GOARCH=wasm go build -o web/game.wasm
It takes just a few seconds for this project. :)You probably did it to try Go, wasm and ECS and I understand that, but if you to make a game seriously, you should have stopped much earlier. In the early stage of the game development you should made 5-10 prototypes using different tech/frameworks and use the best one. I seriously don't see Go+wasm+ESC being the best one for this kind of game.
How can you not go insane if you have to wait 20s for every page refresh.
Thinking about what would be the most efficient engine for the game would kill all the fun for me and the project wouldn't exist. :)
I recently reworked a CI pipeline over two weeks, and it was a nightmare to make tiny changes, push it, and wait 5-10 minutes to see another error because of a YAML typo.
If possible, I try to shorten this feedback loop early.
Another option is picking something radically different to work on for a while, if possible.