2019-01-22 09:18:02

Hi,
If I coded a game framework which has keyboard support, speech and 3d audio, for either Golang or Rust, would anyone use it?
What are your opinions.
Regards,
Amit

There once was a moviestar icon.
Who prefered to sleep with the light on.
They learnt how to code, devices sure glowed,
and lit the night using python.

2019-01-22 10:20:38

I don't actually think golang is suited for this kind of projects, but nothing says that you won't be able to do it.
About rust, I haven't tried it enough to say whether it would be good for audiogames or not.

Paul

2019-01-22 12:46:48

Hi,
@2, why do you think so? Golang is faster than python and compiles to native code, thus it's a good contender, it cant be easily reverse engineered like C# and yet it allows us to use C libraries in the code.
Regards,
Amit

There once was a moviestar icon.
Who prefered to sleep with the light on.
They learnt how to code, devices sure glowed,
and lit the night using python.

2019-01-22 14:32:26

Only because it's faster, it doesn't mean that creating games with it would end in a good way.
As I said, you can manage it if you want, but I personally think it's  not exactly suited for audiogames.
But maybe I was the only who was frustrated with it and then I think it's not suited for this. Feel free to go ahead. If you  think it's worth it, then don't mind my opinion and go ahead. Maybe you can prove I was wrong.

Paul

2019-01-22 19:53:43

I've tried inter-operating C and go. Believe me, its more pain than its worth. You have to deal with the garbage collector when you try using go types in C, and you have the dangers of C when you try to use c libs with Go. I know other libs that have succeeded in that, but I never have. As for rust, I don't know if Rust has the libraries quite yet for game development. At least, I don't think it does.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2019-01-23 04:53:43

Hi,
All right.
Regards,
Amit

There once was a moviestar icon.
Who prefered to sleep with the light on.
They learnt how to code, devices sure glowed,
and lit the night using python.

2019-01-23 06:13:46

No no no no, feel free to try golang and rust, see where you get with it. But I had no luck with C and Go and Go and C, and couldn't find any good game libs for Rust.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2019-01-23 19:00:03

There's quite a lot for Rust, actually. Amethyst in particular seems to have lots of traction. I've got a couple PRs in flight to improve the audio subsystem, which unfortunately is a bit lacking, but the core team has been much more receptive to changes than the Godot team, so it might be worth audio games folks piling on. I also just started work on a tts crate, aptly named "tts", which currently supports speech via Speech Dispatcher under Linux, and the Web Speech API when compiled to WASM. Working on adding Tolk support in 0.2, as well as fleshing out the API to support the fact that different TTS engines support different operations (I.e. no rate/pitch/volume-setting under Tolk.) Would love to add SAPI support, as well as support for MacOS/iOS/Android once I've got the requisite VMs/dev environments set up here.

So Rust is promising if you're willing to wrap your head around the borrow checker/lifetimes/other advanced concepts, but if you are then you likely end up with more stable, faster code. Whether that's a good tradeoff for audio games remains to be seen. I've wanted to do a New Horizons-style Elite game for years and am starting to look into it. Currently evaluating either Amethyst or AFrame. Remains to be seen whether I can contort an Electron app into behaving like a traditional game after I've used all the available APIs.

2019-01-23 21:40:08

@8, true that. I'll look into it myself, now I'm curious.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2019-01-26 04:53:39 (edited by Amit 2019-01-26 04:58:03)

Hi,
Rust is fast and modern I get that. But what's up with the insane compilation times? I just tried a simple example with amethyst and it took 22 minutes 56 seconds to compile. So even if rust is the fastest language in the world, how can somebody possibly develop something considerable in it?
Or am I just missing something very obvious?
Edit:
sorry I forgot to write the commands I used.
1. cargo install amethyst_tools
2. amethyst new pong.
3. cargo build --release
Regards,
Amit

There once was a moviestar icon.
Who prefered to sleep with the light on.
They learnt how to code, devices sure glowed,
and lit the night using python.

2019-01-26 05:51:26

@10, I wonder if its all the dependencies. Try building it twice, it may not take as long.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2019-01-26 07:37:03

Hi,
@11, correct. It's only happens the first I run a build command. And it also uses internet that time to download dependencies. Is there any way I can make it use these from somewhere in my computer locally, because it downloads and builds them for every new project I create.
Regards,
Amit

There once was a moviestar icon.
Who prefered to sleep with the light on.
They learnt how to code, devices sure glowed,
and lit the night using python.

2019-01-26 18:33:07

Not sure if dependency-caching is possible. I doubt it since I haven't seen it happen, but agree it'd be a nice feature.

FWIW, a new Amethyst project only takes 3-4 minutes to build on my system on first run. So compilation speeds are fairly variable, and may depend on available cores. In any case, subsequent builds are faster, and running `cargo watch` makes testing compilation very fast.