You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/posts/survey-01/index.md
+47-73Lines changed: 47 additions & 73 deletions
Original file line number
Diff line number
Diff line change
@@ -3,16 +3,19 @@ title = "Rust Game Development - Ecosystem Survey"
3
3
draft = true
4
4
+++
5
5
6
-
In August last year, we conducted a survey for the Rust gamedev ecosystem. After an unfortunate delay, we can finally present the results. We received a whopping 403 responses!
7
-
8
-
## Hobbyist or developer?
6
+
In August last year, we conducted a survey for the Rust gamedev ecosystem. After an unfortunate delay, we can finally present the results. We received a whopping 403 responses! This trove of valuable feedback will inform the WG's roadmap for 2020.
9
7
8
+
# Hobbyist or developer?
10
9

10
+
Out of the 400 respondents, 3/4 identified as a _Hobbyist_. It should also be noted that a significant portion of the self-identified _Professionals_ are more accurately described as "aspiring professional" undertaking their first game development venture. That still amounts to a large amount of commercial interest in Rust game development all the same!
11
11
12
-
##Are you using Rust for gamedev?
12
+
# Are you using Rust for gamedev?
13
13

14
+
Among the Professionals only 1/4 said they are currently using Rust in games. That means the 200 respondents currently using Rust for gamedev are mostly hobbyists. No surprise there, as most professionals can't bear the risk of being an early adopter. Big shoutout to all the hobbyists who are pushing the status quo, and kudos to the handful of studios that are using Rust in production long before most of their industry peers have even caught the scent.
15
+
16
+
---
14
17
15
-
For the free-form answers that follow, a basic sentiment analysis was used to distill 400 replies into digestible form. The "III" signs underneath a heading indicate *roughly* the number of times that topic came up. Think of it as the **signal strength** of a given topic.
18
+
_For the free-form answers that follow, a basic eyeballs&hands sentiment analysis was used to distill 400 replies into digestible form. The (#) number next to a heading indicate roughly the number of times that topic came up. Think of it as the **signal strength** of a given topic._
16
19
17
20
## What about Rust as a language and ecosystem presents the biggest NEGATIVES for you as a game developer right now?
18
21
@@ -27,8 +30,7 @@ Priorities for professionals and hobbyists are largely the same. The biggest dif
* From playing in the space I know it's possible to make games using Rust. However in the ecosystem my biggest negatives is the [lack of] case studies and demonstrations of it working.
* Prototyping seems not as easy in Rust due to "fighting the compiler"
53
54
54
-
### Documentation
55
-
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
55
+
### Documentation (43)
56
56
57
57
* Not enough documentation to get past beginner stage
58
58
59
59
* Lacking examples for gamedev libs.
60
60
61
61
* Documentation is usually either high level or examples but rarely both. Very few real world examples to draw from.
62
62
63
-
### Lack of full-featured engines
64
-
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
63
+
### Lack of full-featured engines (35)
65
64
66
65
* Lack of a data-and-script based engine like Unreal Engine or Unity means even small projects end up feeling very bring-your-own-engine.
67
66
68
67
* Missing graphical editors, frictionless prototyping of games
69
68
70
69
71
-
### Rust learning curve / onboarding to a niche language
72
-
IIIIIIIIIIIIIIIIIIIIIIIIIIIII
70
+
### Rust learning curve / onboarding to a niche language (29)
73
71
74
72
* The language has a higher upfront cognitive load than any other mainstream language I know of, mostly due to the borrow checker. It's very hard to hack through stuff and get away with it, which makes it a particularly hard sell for game prototypes.
75
73
76
74
* I know that it is a less common language to use so as a company I will have to have my staff learn Rust before they can start.
77
75
78
76
* Rust could be tricky to hire for, and hiring someone who doesn't know Rust to work in Rust will come with a ramp-up period.
79
77
80
-
### IDE/RLS story
81
-
IIIIIIIIIIIIIIIIIIIIIIIIIIII
78
+
### IDE/RLS story (28)
82
79
83
80
Tooling around IDE is limited compared to Visual Studio with C++ or C#.´
84
81
@@ -94,22 +91,23 @@ Tooling around IDE is limited compared to Visual Studio with C++ or C#.´
94
91
95
92
- debug mode way too slow, often need to set opt-level=1 or 2 for dev profile
96
93
97
-
### GUI tooling
98
-
IIIIIIIIIIIIIIIIIIIIIII
94
+
### GUI tooling (23)
99
95
100
96
* As a tools developer, a major negative point is the current absence of a reliable GUI framework (we use WPF + C# with Visual Studio).
101
97
102
-
### Game consoles
103
-
IIIIIIIIIIIII
98
+
### Game consoles (13)
104
99
105
100
* No first party support for console development makes Rust a tough sell for a lot of professional work.
106
101
107
102
* Rust is not officially supported on console by Sony or Microsoft.
108
103
109
104
* Rust can't be seriously considered yet, because it does not have support from the PS4 SDK. Although there are other considerations (studio culture, integration with existing systems, etc.), official support from Sony is a requirement before Rust could be used in a PS4 game.
110
105
111
-
### C++ interop
112
-
IIIIIII
106
+
### Web/mobile support (14)
107
+
108
+
### Allocators (10)
109
+
110
+
### C++ interop (7)
113
111
114
112
Our code, and any middleware/engine that we might license, is in C++. Using Rust and C++ together is painful, and rewriting the existing tech to be purely Rust would be very expensive.
115
113
@@ -121,56 +119,42 @@ Testing and too much things linked to C.
121
119
122
120
- Lack of a straightforward path to make rust work easily with C++ in both directions. The only trustable way I see now is through manual C wrappers, which is error-prone and time consuming.
123
121
124
-
### Web/mobile support
125
-
IIIIIIIIIIIIII
126
-
127
-
### Allocators
128
-
IIIIIIIIII
129
-
130
122
131
123
# What about Rust as a language and ecosystem presents the biggest POSITIVES for you as a game developer right now?
* A mature Rust ecosystem will (hopefully!) have a lower bar for entry than a mature C++ ecosystem, without giving up performance.
159
146
160
-
### WASM (web) support
161
-
IIIIIIIIIIIIIIIIIIII
147
+
### WASM (web) support (20)
162
148
163
-
### No garbage collection
164
-
IIIIIIII
149
+
### No garbage collection (8)
165
150
166
-
### ECS; data-driven; data-oriented
167
-
IIIIIIII
151
+
### ECS; data-driven; data-oriented (8)
168
152
169
-
### Cross platform
170
-
IIIII
153
+
### Cross platform (5)
171
154
172
-
### C interop
173
-
III
155
+
### C interop (3)
156
+
157
+
## Selected quotes
174
158
175
159
> The language has a higher upfront cognitive load than any other mainstream language. Which means that on an established, bigger project (maybe with a team behind) the productivity is amazing compared to C++! It's much easier to express strong & safe interfaces that make bugs just harder to introduce.
176
160
It really shines in network code that needs to be 100% safe and resist bad actors! My current game server code has 0 unwraps/panics/expects and so I just *know* it can't crash... I wish I could have that feeling in C++.
@@ -197,8 +181,7 @@ Unfortunately, knowing the management culture in the gamedev industry, Rust has
197
181
198
182
## What do you think should be the game-dev working group's priorities for the next 3-6 months?
- Develop contacts within the industry so that the WG can be a liaison between industry and OSS developers. By inviting and involving industry, the ecosystem can grow and potentially receive support (in the form of PRs, open sourcing existing tools, or financial support for OSS developers.)
232
213
- Encourage & facilitate collaboration on existing tools.
- Identify in-progress issues, and propose new issues, for the Rust language, that are relevant to game development. (For example, debug Rust is very slow, so we need good ways to control what is and isn't optimized.)
241
222
- Seek opportunities to address cross-cutting concerns where possible. The recent investigation into raw-window-handle and evaluation of if we can/should converge on a math library are both good examples.
242
223
243
-
### First-grade game engine/framework
244
-
IIIIiiiiIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
224
+
### First-grade game engine/framework (46)
245
225
246
226
- Simple 2D game engine
247
227
- Basic editor workflow
248
228
- An SDL-like
249
229
- A Unity/Unreal competitor
250
230
251
-
### Graphics libraries
252
-
IIIiiIIIIIIIIIIiIIIIIIIiIiIIIIIII
231
+
### Graphics libraries (33)
253
232
254
233
- Improve accessibility of graphics programming
255
234
256
-
### Foundational libraries
257
-
IIiIIIIIIIIIIIIIIIiIIIIIIII
235
+
### Foundational libraries (27)
258
236
259
237
- UI libraries
260
238
- Windowing
@@ -263,31 +241,27 @@ IIiIIIIIIIIIIIIIIIiIIIIIIII
263
241
- Collection of “Standard crates” with some form of WG support
264
242
- Push for stabilisation
265
243
266
-
### Faster iteration times
267
-
IIIIIIIIIIIIIIIII
244
+
### Faster iteration times (17)
268
245
269
246
- Hot code reloading
270
247
- Scripting
271
248
- Faster compile times
272
249
- More libraries like Processing
273
250
274
251
275
-
### Integration with existing toolchains
276
-
IIIIIIIIIIIIII
252
+
### Integration with existing toolchains (14)
277
253
278
254
- C/C++
279
255
- Xcode, Android studio, Visual studio, Blender
280
256
- Unity/Unreal/Godot
281
257
282
-
### Custom allocation story
283
-
IIIIIIIIII
258
+
### Custom allocation story (10)
284
259
285
-
### Debugging support and IDE integration
286
-
IIIII
260
+
### Debugging support and IDE integration (5)
287
261
288
-
### Interoperability between libraries
289
-
IIIII
262
+
### Interoperability between libraries (5)
290
263
291
264
## Can you name some libraries you are thankful for or take special interest in?
292
-
293
-
[graphic pending]
265
+
Just for fun, we asked respondents to name libraries or projects they were thankful for. In the 6 months that have passed since this survey went out there's been quite a few newcomers on the rise that would probably show more prominently here if we asked again today. Rest assured there will be more surveys.
266
+

267
+
_Thanks so much to the survey respondents and all the people out there working tirelessly make Rust a first-tier language and ecosystem for game development._
0 commit comments