7 ms·
Compiling a Go program into a native binary for Nintendo Switch
- hu3 5y agoHajime 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.
- japhib 5y agoThis 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 5y agoIt'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 (https://ebiten.org/blog/native_compiling_for_nintendo_switch.html#Implementation_of_Hitsumabushi https://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.html#Results https://ebiten.org/blog/native_compiling_for_nintendo_switch....
- carlosperate 5y agoThere 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/nintendoswitch/ https://tinygo.org/docs/reference/microcontrollers/nintendos...
- kamranjon 5y agoI 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.
- barrenko 5y agoAnything else you can recommend for starting out with game dev and appropriate algorithms? Is C++ a must?
- pizza234 5y agoThere 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 https://gameprogrammingpatterns.com/contents.html.
- UnpossibleJim 5y agoSo, right now Unity, Cryengine and Godot all use C# as a language (though it's fairly new to Godot, but is fully supported). Godot is a free game engine to get started on and publish on to start with side projects/build up a portfolio on - though (and double check the documentation) you can use Unity for free and then they take a cut if your game makes more than X amount I THINK.
- deleted 5y ago[deleted]
- fredrikholm 5y agoBeen 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.