Copy
View this email in your browser
Developer Newsletter 011

 

Happy New Year developer ☀️🎆

2022 is looking to be a very exciting year here at Embark. On December 9th, we announced our first game, ARC Raiders, at the Game Awards. We've been anxious to share more of what we have going on behind the scenes for awhile, and now we finally can!

In this installment of the newsletter, we want to showcase some of the open source crates that helped us bring ARC Raiders to life. In addition, read below about the homegrown, Rust-powered rendering tech we are using to build our creative platform. (Spoiler alert: we've released a brand new open source rendering repository for you to plug into your Rust projects!)



New to the newsletter? Welcome! I'm Celia, a Producer here at Embark. Every now and then I'll send you a summary of what Embark's been up to in open source and the greater developer ecosystem.

Let me know what you think! You can send feedback about the newsletter or questions to
opensource@embark-studios.com.

TL;DR
Updates
 

ARC Raiders is supported by open source technology 


While ARC Raiders is foremost an Unreal Engine game, much of the game’s supporting tech is built with open source components. For instance, you may have read this post from Tom Solberg on our machine learning team, detailing how we're experimenting with machine learning for game animation, using tract, a Neural Network inference engine by Sonos. In addition, our ML stack also frequently levies cbindgen, a crate which creates C headers for Rust libraries.

As long-time readers of the newsletter likely know, we at Embark are huge proponents of Rust. In ARC Raiders, we use Rust in both our build systems and source control submit tools. Internally, we employ Rust to create a continuous integration (CI) toolset for Unreal-based games.

Publicly, we also use the Rust-powered crate Quilkin, which we announced in last month’s newsletter. Quilkin, developed in conjunction with Google Cloud, is our open source game server proxy. In ARC Raiders, Quilkin is used as a sidecar, so when you play the game you're always actually connecting to Quilkin, which then forwards to the actual game server.
 

Blog Post: Homegrown rendering with Rust


You may have heard that in addition to two games, we are also crafting a creative platform (built in Rust) that intends to democratize game creation. One of our engineers, Tomasz, sheds some light on the rendering tech that enables this very special goal in a new Medium post.
 
"Our Rust project has different requirements than a video game. It’s a platform that will enable everyone — not just professional game makers — to build new small interactive experiences. For rendering, this means working with user-generated content, and not requiring expert game developer knowledge to achieve stunning results." ― Tomasz Stachowiak

Read more from Tomasz about our upcoming creative platform and the Rust rendering tech behind it in the full article on Medium.
 

Blog Post: Cross compiling Windows Rust binaries from Linux 


Have you ever been curious about what goes in to cross-compiling Rust from Linux to Windows? Luckily, Embark engineer Jake Shadle has, too; tasked with maintaining the Continuous Delivery pipeline for his project at Embark, he recently added a new job to the CI to cross compile his project for x86_64-pc-windows-msvc from an x86_64-unknown-linux-gnu host.

In his new blog post, he details this process from beginning to end.
"It's fairly common knowledge that, generally speaking, Linux is faster than Windows on equivalent hardware. From faster file I/O to better utilization of high core count machines, and faster process and thread creation, many operations done in a typical CI job such as compilation and linking tend to be faster on Linux."
You can read the full post here.

 

Projects from the Rustiverse 🪐: Axum

This month, we're highlighting the project Axum, the brainchild of another of our engineers, David Pedersen. Axum is part of the Tokio ecosystem, providing an easy to use yet powerful web framework designed to take full advantage of Tokio.

With axum, you can:

  • Route requests to handlers with a macro free API.
  • Declaratively parse requests using extractors.
  • Simple and predictable error handling model.
  • Generate responses with minimal boilerplate.
  • Take full advantage of the tower and tower-http ecosystem of middleware, services, and utilities.
You can read the full announcement of Axum on the tokio.rs blog.

Contribute to open source!

Embark maintains many open source projects, and all of them welcome new contributors!

You can see all our projects on embark.dev and read our Contributor Guide for info on how to get started.

See Issues Labeled "Help Wanted"
Jobs

We're always looking for new people to join our team in Stockholm or remote in Europe! Here are just a few of our current openings. 

Senior Software Engineer - Creative Play
Senior ML Research Engineer (Craft Lead) - Creative Play
Backend Engineer (Backend Delivery)
Fullstack Engineer - Commercial Tech
Backend Engineer - Commercial Tech
See All Jobs 🚀
Community

Join us on Discord!

Want to chat more about Rust, game dev, or Embark's open source projects?

We created a Discord where you can chat with Embark devs, open source contributors, and game dev or tech enthusiasts. It's also a great place to discuss things from our newsletter!

Join the community
That's all for February! As always, you can let us know what you think of this newsletter by sending an email.

Happy coding!

- Celia

 
Follow us on Twitter
Follow our posts on Medium
Subscribe on YouTube
See our projects on GitHub
Follow us on LinkedIn
See our work on Embark.dev
Email us
Copyright © 2022 Embark Studios, All rights reserved.


Want to change how you receive these emails?
You can update your preferences or unsubscribe from this list.