So, one of our next projects is codenamed "Spellbound", and you can read little bit about it here. It's still pretty early in development, but I got the go-ahead from the boss to talk a bit about development here, in case anybody is interested.
Mostly I want to talk about the technical aspects of development so far in rust, and some things that we've run into along the way. A big part of this is that one of the goals for development on Spellbound has been to focus on console development very early in the process, rather than focusing on PC and then porting at the end, as we've done in the past. Something that I've had working for quite a while now but so far had been mum about was that we have a nontrivial rust project working on all three major consoles, and I have just been dying to talk about this. I have to be pretty careful, because of course I can't talk about specifics due to legal agreements that all console developers are bound by, but I believe I can explain quite a lot of what went into it and how easy / not easy it was without running into trouble.
I sort of intend this as an AMA, so feel free to ask me anything you're curious about regarding rust gamedev, or getting rust to run on consoles, or anything technical really. First though, I'll try and talk about some of the pretty obvious stuff:
1) Who are you, and why are you talking at me and why should I care?
I'm "kyren", I was the original lead programmer of the game "Starbound", and I'm working as the technical lead on one of the two current Cucklefish projects, "Spellbound".
2) Why did you decide on rust for developing a new game?
I think Cucklefish falls into a very specific niche in game development where using "alternate" languages is viable, and after exploring the space of alternatives to C++, I chose rust.
3) But rust is too young, there are no game engines written in rust, why don't you use Unity, etc?
Like I said, Cucklefish just so happens to be well suited to push boundaries a bit, because we focus on 2D games and don't really use any existing game engines. I don't want to start a huge debate about the merits of game engines like Unity for 2d development, but for us it has never really seemed terribly attractive. YMMV.
4) Why not C++? Why not a different language?
We're very very familiar with C++, Starbound was written in C++, and Cucklefish's other current project "Wargroove" is also written in C++. I feel that rust solves a lot of the problems and matches a lot of the lessons that I learned making Starbound, and I'm more comfortable making new projects in rust rather than C++ from here on out. There are not TOO many languages to choose from though, because for practical reasons, you need a language that can has no runtime, no gc, and can more or less pretend to be C.