Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit e9800d5

Browse filesBrowse files
sdfgeoffozkriff
andauthored
N17: Swoop (rust-gamedev#429)
* Wrote about the swoop game that I made, and some of my thoughts on making it * N17: Swoop: 1st person, split into 2 sections Co-authored-by: Andrey Lesnikov <ozkriff@gmail.com>
1 parent 18d55d4 commit e9800d5
Copy full SHA for e9800d5

File tree

3 files changed

+287
-0
lines changed
Filter options

3 files changed

+287
-0
lines changed

‎content/posts/newsletter-017/index.md

Copy file name to clipboardExpand all lines: content/posts/newsletter-017/index.md
+62Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,38 @@ Full December's devlogs:
308308
[learning-art]: https://reddit.com/r/gamedev/comments/k8i773/how_i_a_mere_programmer_am_learning
309309
[@chinedufn]: https://chinedufn.com
310310

311+
### [Swoop][swoop-itch]
312+
313+
![Doing donuts while being overtaken](swoop.gif)
314+
_Getting lapped by purple? - don't worry, it happens to everyone_
315+
316+
[Swoop][swoop-itch] by [@sdfgeoff] is a procedural racing web game
317+
written in Rust from scratch.
318+
319+
> I've tried to make games in a variety of engines, but invariably got frustrated.
320+
> So I decided to throw out the engine and find out what makes game-making so complex.
321+
> It turns out that the stuff below the game engine is only slightly less friendly
322+
> than the stuff above it.
323+
>
324+
> All up this game was a large experiment:
325+
> I'm not all that familiar with Rust, it was my first go at targetting WASM,
326+
> I've never used WebGL before, and my linear algebra is worse than I thought.
327+
328+
[The source code is available here][swoop-source] and
329+
you can also read about about the process of making the game
330+
here: ["WASM Games From Scratch"][swoop-book].
331+
332+
You can also play the game's [prototype version done in shadertoy][swoop-shadertoy]
333+
and check out a [prototype of the next @sdfgeoff's project][swoop-next]
334+
that is based on raymarching giant caves.
335+
336+
[swoop-itch]: https://sdfgeoff.itch.io/swoop
337+
[swoop-source]: https://github.com/sdfgeoff/wasm_minigames
338+
[swoop-shadertoy]: https://shadertoy.com/view/WlScWd
339+
[swoop-book]: https://sdfgeoff.github.io/wasm_minigames/a_first_game_swoop.html
340+
[swoop-next]: https://shadertoy.com/view/tltyRB
341+
[@sdfgeoff]: https://github.com/sdfgeoff
342+
311343
### Harvest Hero
312344

313345
![Harvest Hero Gameplay](harvest_hero_snippet.gif)
@@ -609,6 +641,36 @@ in [this Amethyst forum thread][thesis-thread].
609641
[amethyst]: https://github.com/amethyst/amethyst
610642
[thesis-thread]: https://community.amethyst.rs/t/undergrad-thesis-on-game-scripting-for-legion/1753
611643

644+
### [WASM Games From Scratch][wasm-scratch-book]
645+
646+
![sprite transformation explanations](wasm_sprite_transform.svg)
647+
648+
[@sdfgeoff] published a book that describes the process
649+
of building the abovementioned web game [Swoop][swoop-itch] from scratch:
650+
["WASM Games From Scratch"][wasm-scratch-book].
651+
652+
> Game engines are huge behemoths, and contain algorithms
653+
> for handling everything and the kitchen sink.
654+
> While that's normally good, if you want to do something small,
655+
> or possibly do something outside the bounds of a normal game enine,
656+
> you suddenly have to learn how to do everything yourself.
657+
>
658+
> Or perhaps you just like the "type it and run" style of development
659+
> for shadertoy shaders and want something similar
660+
> that you can host on your system as (pretty much) a single file.
661+
>
662+
> Either way, this book chronicles my adventures
663+
> into creating WASM games from scratch in Rust.
664+
665+
Some of the topics covered by the book:
666+
667+
- Building for WASM, event handling, WebGL and shader basics.
668+
- Map generation using a Fourier series.
669+
- Camera positioning and drawing a map, ships and engine trails.
670+
- Ship physics and simple AI.
671+
672+
[wasm-scratch-book]: https://sdfgeoff.github.io/wasm_minigames
673+
612674
## Library & Tooling Updates
613675

614676
### [Thermite SIMD]: Melt Your CPU
1.56 MB
Loading

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.