CodeDevils GameDev

Join the Project!

GitHub Activity

Do you want to learn more about game development? Then the CD-GameDev project is for you. We have decided to use the Rust programming language, a growingly popular, high-performance, multi-purpose programming language that is sure to be a great tool to add to your skill set. And although most games tend to use object oriented programming, we have opted to use a different paradigm that is also growing more popular in the game dev world; Entity Component System (ECS). This paradigm allows for major performance gains in compute heavy games, and also offers a different way to think about objects in our game by separating data and systems. For this endeavor, we will be using the Bevy ECS framework, one of the best on the market.

One of the main drivers behind the decision of using Rust + Bevy, was that it is open-source, and is turtles all the way down. In other words, everything is Rust from top to bottom, allowing us to delve deep into how the Bevy ECS framework, and all its accompanying tools, work under the hood. We want to teach you about all the components that goes into creating and running a game, and traditional game engines usually abstract all those details away. But that is not to say that Bevy is not easy to use. After some practice, we believe you'll find that it is incredibly ergonomic and user friendly, thanks to the amazing engineers contributing to the Bevy project.

The game itself will be inspired from the metroidvania genre, but might take elements from other genres as well. It will be a 2D, side-view game, with a pixel art style. The features and systems we will implement will evolve over time as we prototype and progress together. By joining this project, you won't just be coding what we tell you to code, we also want you to be part of the discussion about where the game is headed in all of its aspect, would it be features and systems, or story and lore.

The journey will be a challenging one, but will be very rewarding as well. You might have to learn quite a few things before you can get started contributing, especially if you never coded in Rust or are new to game development, but we will be there every step of the way, and we have curated a selection of resources to help you get started using Rust and Bevy, so that you can start your game dev journey with us as fast as possible. From things like how to handle asset loading, animations, handling audio, to how game handles physics and graphics rendering, you'll come out of this project with a greater understanding of all that comes into play when creating games.

project imageproject imageproject image

Current Project Goals

  • Create systems and plugins to facilitate the creation of the game
  • Program and integrate multiple gameplay systems together
  • Publish the game on a game distribution platform

Project Team

Project Leader's photo

Remi Godin

Neovim, Linux, Rust, you know the type. I like understanding how stuff works. Also can do some Python, Java, C/C++, and Go. Canadian guy who just moved to California. After a decade in the industrial automation field, I decided to go back to school and pursue my newfound passion for software engineering.

Autumn O

Pita Sherwood

John Miller

Alejandro Jimenez

Josh Walker

Carter Hollman

Jaith Darrah

Krishnaprasad Sreekum