diff --git a/content/posts/newsletter-017/index.md b/content/posts/newsletter-017/index.md index 35772ff5b..0ebb8def6 100644 --- a/content/posts/newsletter-017/index.md +++ b/content/posts/newsletter-017/index.md @@ -302,6 +302,28 @@ _Somersaults!_ [fn-changelog]: https://gitlab.com/silwol/freenukum/-/blob/main/CHANGELOG.md [@silwol]: https://chaos.social/@silwol +### [openEtG] + +![openEtG login screen](openEtG.jpg) + +[openEtG] is an open source engine that is an HTML5 successor to the original +[Elements the Game][Elements], featuring additional cards and balance. +In December, 10k lines of JavaScript source were rewritten in Rust: + +> Overall I've been brainstorming this change for a couple years. So I'd already +> shifted from a classical OOP mess with Shield/Weapon/Pillar inheriting from +> Permanent to one where everything is a Thing. This also made sense because in +> openEtG there's spells like Flying Weapon which convert the player's weapon +> into a creature. So before I'd create a new Creature filled in with stats from +> original weapon, whereas now it's mostly just moving the instance into a +> creature slot & updating its type tag. + +You can read the full openEtG December writeup [here][openEtG-writeup]. + +[openEtG]: https://etg.dek.im +[Elements]: http://elementsthegame.com +[openEtG-writeup]: https://reddit.com/r/rust/comments/k3jy5g/i_rewrote_10k_lines_of_js_into_rust + ### [Weegames][weegames-itch] ![Four Weegames minigames](weegames.jpg) diff --git a/content/posts/newsletter-017/openEtG.jpg b/content/posts/newsletter-017/openEtG.jpg new file mode 100644 index 000000000..b87da9277 Binary files /dev/null and b/content/posts/newsletter-017/openEtG.jpg differ