<p>I'm looking for a book on writing games in Go, with particular emphasis on OpenGL. I am an experienced Go developer, but not a game developer.</p>
<p>I looked at <a href="https://github.com/golang/go/wiki/Books">this list</a> and did not see anything interesting, but I was hoping that someone has heard about something new, that might still be in progress.</p>
<hr/>**评论:**<br/><br/>Mittalmailbox: <pre><p>Go might not be best choice for game development as of now. I don't think you will find mature libraries/engines.</p>
<p>Check out unity, unreal engine or Godot</p></pre>andradei: <pre><p>Godot 3.0 is in beta now, which is a great way to try a good open source game engine.</p></pre>Mittalmailbox: <pre><p>And can work on browser using webassembly.</p></pre>ShadowApex: <pre><p>I have been working on Go language bindings to Godot 3.0 using GDNative: </p>
<p><a href="https://github.com/ShadowApex/godot-go" rel="nofollow">https://github.com/ShadowApex/godot-go</a></p></pre>andradei: <pre><p>That’s great! I need to learn how GDNative works again to see what the pros and cons of binding a language are.</p></pre>computesomething: <pre><p>I'm pretty sure there is no book on writing games in Go as of yet, your best bet would be to study the source code of the game engines that are being actively developed.</p>
<p>My suggestions would be:</p>
<p><a href="https://github.com/oakmound/oak">https://github.com/oakmound/oak</a>
<a href="https://github.com/EngoEngine/engo">https://github.com/EngoEngine/engo</a></p></pre>Hunterbunter: <pre><p>Basically, if you figure it out write a book and catch the new Gophers keen on the language + creating games coming in over the next few years.</p></pre>IanS_5: <pre><p>Using a garbage collected language for game development isn’t a great idea. Rust or c++ would be a lot better than go</p></pre>Sythe2o0: <pre><p>Many successful, commercial games have been written in Python, Java, and Game Maker, all of which feature Garbage Collection. One of these, Minecraft, is one of the most successful games of all time.</p></pre>IanS_5: <pre><p>That’s true, but it’s still harder to squeeze performance out of a language like python or even java than something like c++. And it’s not only the performance but also the fact that there are tons of resources for making games, like open source games built from scratch, or all different kinds of engines that make c++ ( and just in general the languages that are faster by default) a lot easier to developers games with</p></pre>Sythe2o0: <pre><p>Of course C++ performs better than Go, but the gap gets smaller all the time. And of course, there are more existing tools for games in C++, but at one point in time game developers all coded in assembly, and their tools were in assembly. It was only when momentum and improved usability made it possible to migrate to C and C++ that these changes happened, a long time after C was created. </p>
<p>It's easier, but not "better" to use established languages for game development, but for the majority of games anyone wants to make Go is going to have well over sufficient performance, and the only way we'll get the tools to build games in Go faster is if people start doing the harder, low level things now. The reason why you might want to do this is if you enjoy or find coding in Go easier than coding in C++, and I would point to evidence such as stackoverflow surveys that this is a common case.</p></pre>metamatic: <pre><p>Not to mention the games <a href="https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp" rel="nofollow">written in Lisp</a>.</p></pre>Zy14rk: <pre><p>That would depend upon type of game. If a high-performance 3D game, then I agree completely. Better off then to learn how to use Unity (C#) or Unreal Engine (C++).</p>
<p>If a more less demanding (on resources) game, like a 2D platformer, strategy game or puzzle thingie, then the tiny hick-ups of GC won't matter. Won't be noticeable, or at least Go's GC won't.</p>
<p>But with Go there is the problem that current Graphics libraries are either very immature or just wrappers for openGL C libraries. Which sort of defeats the purpose of using Go for such a task.</p>
<p>That said, our dear friend Francesc Campoy have three part 'Just for Func' series making a simple Flappy-Bird clone. First Video: <a href="https://www.youtube.com/watch?v=aYkxFbd6luY" rel="nofollow">https://www.youtube.com/watch?v=aYkxFbd6luY</a></p></pre>
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码`
- 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传