Live data from Hacker News

Show HN: I made a 2D shoot 'em up game with Go, using Entity Component System

github.com

21–28 of 28 posts

Re: Show HN: I made a 2D shoot 'em up game with Go, using Entity Component System

#21
post #17

IMO you chose wrong tech for the job. It is very simple 2D game yet it starts 5s on my desktop and 20s on my phone. If I would to make a simple game and even simplest program starts 20s I would stop right there and choose different technology. 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 dev…

Oh, come on. This obviously isn't pretending to be a highly polished game experience - it's something someone made for a game jam, and they've taken the time to publish it and write it up to a reasonable degree so that other people can take a look at, if they wish.

They chose exactly the right tech for the job they intended - a fun experiment in a particular language and framework, and a write up based on that. They perhaps chose the wrong tech for your expectations?

Re: Show HN: I made a 2D shoot 'em up game with Go, using Entity Component System

#24
post #19
post #17

IMO you chose wrong tech for the job. It is very simple 2D game yet it starts 5s on my desktop and 20s on my phone. If I would to make a simple game and even simplest program starts 20s I would stop right there and choose different technology. 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 dev…

It's not a "serious" project. I chose Go specifically because I like the language (and Ebitengine is super fun to work with) and I like the idea behind ECS. I made games with Unity before, which you could consider a "serious" engine, but the fun of development is nowhere near what I experienced here. Thinking about what would be the most efficient engine for the game would kill all the fun for me and the project woul…

The most efficient game engine is the one you'll actually use!

Re: Show HN: I made a 2D shoot 'em up game with Go, using Entity Component System

#25
Very cool stuff! I had a lot of fun getting all the powerups and becoming massively overpowered. :)

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...

Re: Show HN: I made a 2D shoot 'em up game with Go, using Entity Component System

#26
post #19
post #17

IMO you chose wrong tech for the job. It is very simple 2D game yet it starts 5s on my desktop and 20s on my phone. If I would to make a simple game and even simplest program starts 20s I would stop right there and choose different technology. 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 dev…

It's not a "serious" project. I chose Go specifically because I like the language (and Ebitengine is super fun to work with) and I like the idea behind ECS. I made games with Unity before, which you could consider a "serious" engine, but the fun of development is nowhere near what I experienced here. Thinking about what would be the most efficient engine for the game would kill all the fun for me and the project woul…

I do also really like Go for various reasons, and have been working on a Go -> C++ transpiler and associated ECS libs to make a personal game project with. I used it to make a game for Raylib game jam earlier this year too: https://github.com/nikki93/raylib-5k You can see what the development workflow looks like in this video (the ECS stuff also has a built-in editor like a much more minimal version of Unity's): https://www.youtube.com/watch?v=8He97Sl9iy0

I'm trying to decide how much time I should devote to making this easier to set up / use by other people in the medium term, since it's just a side project for me. Might make a codespaces template so it's quick to get started.

Re: Show HN: I made a 2D shoot 'em up game with Go, using Entity Component System

#27
post #25

Very cool stuff! I had a lot of fun getting all the powerups and becoming massively overpowered. :) 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...

Glad to hear that! :D

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. :)
Post reply on HN