These are links to projects from the "Programming with Rust" course of the Sofia University in Bulgaria.
The elective course includes 23(ish) lectures spread out over 4 months or so. The students have homework assignments to practice Rust, and, at the end, present a project of their own choosing using the language. Here are some of them:
Source: https://github.com/NikolayDPaev/lambda-script
demo.mp4
Interpreter for a Custom Functional Programming language with lazy evaluation
Source: https://github.com/Stuksi/rgit
A git-like version control system.
Source: https://github.com/pepilipep/coolio
coolio is a CLI tool which enables some extra features for your Spotify. Features:
- Automated playlists for artists
- Listen history tracking
Source: https://github.com/luchev/rush
A working shell that passes all the compatibility tests from the build-your-own-shell project.
Source: https://github.com/yzelova/Yit
A git clone with support for branching, diffs and merges.
Source: https://github.com/lachaka/rufile
A console file manager with content previews and a Vim-like command-line.
Source: https://github.com/NikiNatov/RustyEngine
rusty_engine_demo.mp4
A game engine that uses DirectX 11 for rendering as well as Win32 API for its other systems, making it support Windows OS only. Currently implemented features:
- Input and event systems
- Window system
- Model loading (currently FBX format only)
- PBR materials
- Image based lighting and HDR environment maps
- Scene system
- Level editor
Source: https://github.com/nadezhda1120/ImageEditor
ImageEditor_demo.mp4
Source: https://github.com/vtklisurov/RustProject
This is a Brainfuck interpreter and visualizer, created for my Rust course in uni as a final project. Needs gtk-rs to work.
Source: https://github.com/DannyStoyanov/seam-carving
Before | After |
---|---|
Seam-carving is an algorithm for content-aware image resizing. It allows image to be resized without losing important content from scaling or cropping.
Source: https://github.com/TsvetelinKostadinv/Copper
The aim is to develop the infrastructure for distributed computing with Rust so a heavy task can be split between multiple computers.
The application has 2 main components
- Server, which accepts connections and sends out tasks
- Client which receives the task, performs it and returns a result
Source: https://github.com/VladimirRadev/domino_game
demo.mp4
A 2D game imitating https://galactical.itch.io/the-boneyard created with the ggez library
Source: https://github.com/YondaimeHokage7/Solitaire
Source: https://gitlab.com/ybi-portfolio/tank-game
tank_game.mp4
A multiplayer(websocket-based) top-down shooter game with tanks. Bots automatically spawn if there are not enough players in the room. The twist is that whenever you kill someone, you steal their score and your health gets fully restored.
Source: https://github.com/nixann/typing-tutor
Screen_Recording_2023-03-12_at_15.11.21.mov
Source: https://github.com/PavelSarlov/puker
puker.mp4
A simple 2D game made with ggez, inspired by The Binding of Isaac.
Source: https://github.com/KristiyanCvetanov/Blackjack
A simple Blackjack game on Rust using the ggez framework. You play 1vs1 against the dealer with standard blackjack rules, but there are added "power-ups" to help you win.
Source: https://github.com/geosabev/FMI-Rust-2021-2022/tree/main/flappy-ferris
This game is made with ggez and is based on the famous Flappy Bird that was a total hit a couple of years ago.
Source: https://github.com/AngelMarinski/FMI-Rust/tree/main/Jet-Fighter
jet-fighter.mp4
Jet Fighter is an old arcade game played by two. The winner is whoever shoots their opponent 5 times first.
Source: https://github.com/teodorask/rust-snek
rust-snek-demo.mp4
You're playing as a snake livng on a small hexagonal island in the The Big Void. You're lonely and hungry. There's no one else there with you, but there's always exactly one apple. You're goal is to roam the land and eat as many as you can. But beware of the island edges - once you fall you're journey's over! You hope that once you become bigger and stronger you could finally leave. But you'll soon find out that that has its consequences too...
Source: https://github.com/secretuser234/connectfour
connectfour-demo.mp4
Source: https://github.com/Gordss/type_racer
type_racer_demo.mp4
Words are coming from the left side of the screen and go to the right. The player should write the incoming words without typo and earn points. If you leave a word to get to the right side of the screen you lose 1 life. If you lose all of your lives -> Game Over :/. The question is how far can you get and how much points you can earn? :)
Source: https://github.com/EnevMk/Extreme-tetris
showcase.mp4
A little tetris-like game with some tweaks and additional logic, written in Rust.
Source: https://github.com/bhristova/rust/tree/master/project/tic_tac_toe
This is an alternative version of the game Tic Tac Toe, where the board consists of 25 cells (5x5) and in order to win, you need to have four consecutive cells with your mark.
Source: https://github.com/vasilp98/Tetris
Source: https://github.com/nnyx7/tetris-cl
Source: https://github.com/Ivaylogi98/boids_rust_project
Source: https://github.com/Zarazen/digger
Source: https://github.com/IvayloKiryazov/Become_Me
Become me is a turn-based strategy game with the goal of taking over the map through adapting, picking the right moment, and plotting with and against your fellow players.
Source: https://github.com/genchev99/rust-game
Source: https://github.com/rejnhed/2-modded-chess
Chess with King of the hill & 3-Check written in Rust with ggez