[HN Gopher] Compiling a Go program into a native binary for Nint... ___________________________________________________________________ Compiling a Go program into a native binary for Nintendo Switch Author : hajimehoshi Score : 257 points Date : 2022-01-03 13:49 UTC (9 hours ago) (HTM) web link (ebiten.org) (TXT) w3m dump (ebiten.org) | japhib wrote: | This is awesome. Sad to see the work is kind of "wasted" in the | sense that it's not officially supported and any update to Go | will likely break it. But I learned a lot reading this article. | xiaq wrote: | It's apparent that the author intends to maintain this across | Go version upgrades. Part of this work is a custom patch format | to make it easier to manage the changes to the Go runtime (http | s://ebiten.org/blog/native_compiling_for_nintendo_switch...). | | The author also explicitly stated that he did not expect major | work to upgrade to a new Go version in https://ebiten.org/blog/ | native_compiling_for_nintendo_switch.... | fredrikholm wrote: | Been using Ebiten for close to two years. One of, if not the | nicest 2D engines I've used. | | Nice to see Hoshi's work shared here. | hu3 wrote: | Hajime Hoshi is a true gem and the Go ecosystem is incredibly | lucky to have him. | | He was very approachable and friendly when I was toying with game | development in Go. | | I should get back to finishing that game in Ebiten. The tooling | alone puts a smile on my face. | djur wrote: | Which tooling in particular? | [deleted] | alophawen wrote: | carlosperate wrote: | There is also some support for the Switch with TinyGo (A Go | compiler for embedded system), but looking at the current state | of the docs for this platform it's hard to tell how well | supported it might be: | https://tinygo.org/docs/reference/microcontrollers/nintendos... | [deleted] | kamranjon wrote: | I absolutely love ebiten, it's gotten me back into game | development which was why I initially got into software dev. I've | been working through the Game Programming Patterns book and it's | been an awesome platform to learn some of the common patterns in | game dev. Also the maintainer is incredibly active and constantly | pushing the development forward. I'm currently working on a side- | scroller and am really excited to see if I can get it running on | the switch. | chana_masala wrote: | Ebiten is actually making me want to get back into Go itself. | I'd love to make a cross platform game and it may just motivate | me enough to push through my ideological biases against Go. | philosopher1234 wrote: | I've yet to meet an ideological bias against Go that took | into account & understood the practical tradeoffs Go is | making. The ones I've seen thus far are dismissive and | incurious. But if you've got that, I would love to hear it. | chana_masala wrote: | I actually mostly agree. I just don't really like the | aesthetics of writing To, which I know is a silly reason. | philosopher1234 wrote: | I'm not one to call aesthetics silly. The act of reading | and writing programs relies heavily on the programmers | emotion, and so I think aesthetics matter greatly. What | don't you like about them? | YawningAngel wrote: | I'll bite. I've read all the arguments the creators of | golang made for not including generics. They are just as | true now as they were when the language was created, and | yet generics have now been added. Moreover, they have been | added as part of golang 2.0, so any breaking changes that | turned out to be needed could have been made now anyway. I | think it's pretty reasonable to dislike a language that | refuses to implement a basic feature for essentially no | reason. | djur wrote: | I'm not big on Go either but I feel like it's a good fit for | hobbyist game development. It's a lot harder to write | automated tests for games, so the value of static typing is | higher, but most simple game designs don't really benefit | from the powerful type systems of a Rust or Haskell (or even | a TypeScript). It's one of the cases where Go actually does | feel like a "better C". | chana_masala wrote: | > but most simple game designs don't really benefit from | the powerful type systems of a Rust or Haskell (or even a | TypeScript). | | I get that feeling too but I have no experience with game | development. I wonder what reasons you think so? | tmountain wrote: | Just came here to say that I also love Ebiten. It's so simple. | It stays out of your way, and it has a ton of great examples. | One of my goals for this year is to finally finish a game | (after talking about it for over a decade). Ebiten is going to | help me accomplish that goal. | barrenko wrote: | Anything else you can recommend for starting out with game dev | and appropriate algorithms? Is C++ a must? | pizza234 wrote: | There are game libraries for many languages, so for beginners | to game development, anything will do. Small libraries | abstract a few functionalities over the lower level ones | (sprite batching, input/events handling, etc.) and handle | multiplatform. Larger libraries may take care of other | aspects (game loop, scene graph, etc.) and specialize on | certain game types (3D, platform, RPG, etc.). | | C++ is probably a must if you one writes large games and/or | performance critical ones (regarding "high performance"/low | level languages, Rust libraries are immature). | | Scripting languages (e.g. Python/PyGame) can be a good | (quick) way to start and experiment. But readability falls | very quickly when complexity grows (e.g. difficult to | interpret inheritance tree), so at some point one may easily | feel the need to switch to a statically typed language. | | Regarding algorithms, a very common beginners book is "Game | Programming Patterns", which is also available for free in | HTML: https://gameprogrammingpatterns.com/contents.html. ___________________________________________________________________ (page generated 2022-01-03 23:00 UTC)