3 ms·
C++ isn't bad. It's just ugly. If you can deal with the ugly, it's the usual way to do it and it'll work. If you have high performance demands, well, C++ will w
by jccooper 13y ago
C++ isn't bad. It's just ugly. If you can deal with the ugly, it's the usual way to do it and it'll work. If you have high performance demands, well, C++ will work if anything will. Not to say other langs won't handle it, but there's not a whole lot of exemplars in anything else. You clearly can write games in Java or C# or Python, but you might think twice before trying to do the modern equivalent of Quake in one of those. If you did, you'd be trailblazing.
Engine in C/C++ and logic/controls in Python (or Lua) seems to be a common architecture. Lets you have machine speed at the core and human speed elsewhere. Creates an easy way to do a 3rd party scripting interface while you're at it. (If you think performance demands won't be high, you could just write the whole thing in Python and optimize the most-used parts out to C after profiling.)
I think Go is interesting for games, given modern CPU architecture. It could potentially rock the socks off in a game engine, but it's not been done yet. A commercial game developer would have to be pretty daring to try; an open source game would be safer.
- zachlatta 13y agoA few of the larger studios have experimented with using Go in place of Python for the frontend. Unfortunately I think they're missing the point. As you said, Go would make an incredible game engine. Since it's so idiomatic, it could also potentially be used for the frontend, allowing developers to use the same language throughout the full-stack. The biggest barrier for most studios is the current investment in C++. The majority of engines and most associated libraries are written in C++. Regarding the libaries, it's possible to write C wrappers around the C++ APIs and then access them through cgo, but the developer time required likely isn't worth it. I'm hoping that a smaller studio will create some proof-of-concept, but we'll see. There was an interesting kickstarter for a game written in Go that ultimately failed, giving the language quite a bit of bad press in the community (http://www.kickstarter.com/projects/2066438441/haunts-the-manse-macabre http://www.kickstarter.com/projects/2066438441/haunts-the-ma...).
- zachlatta 13y agoA few of the larger studios have experimented with using Go in place of Python for the frontend. Unfortunately I think they're missing the point. As you said, Go would make an incredible game engine. Since it's so idiomatic, it could also potentially be used for the frontend, allowing developers to use the same language throughout the full-stack. The biggest barrier for most studios is the current investment in C++. The majority of engines and most associated libraries are written in C++. Regarding the libaries, it's possible to write C wrappers around the C++ APIs and then access them through cgo, but the developer time required likely isn't worth it. I'm hoping that a smaller studio will create some proof-of-concept, but we'll see. There was an interesting kickstarter for a game written in Go that ultimately failed, giving the language quite a bit of bad press in the community (http://www.kickstarter.com/projects/2066438441/haunts-the-manse-macabre http://www.kickstarter.com/projects/2066438441/haunts-the-ma...).