Skip to content

fmi/rust-projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust Projects

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:

Console

lambda-script (2022)

Source: https://github.com/NikolayDPaev/lambda-script

demo.mp4

Interpreter for a Custom Functional Programming language with lazy evaluation

Rgit (2021)

Source: https://github.com/Stuksi/rgit

demo

A git-like version control system.

Coolio (2021)

Source: https://github.com/pepilipep/coolio

demo

coolio is a CLI tool which enables some extra features for your Spotify. Features:

  • Automated playlists for artists
  • Listen history tracking

Rust Shell (2020)

Source: https://github.com/luchev/rush

demo

A working shell that passes all the compatibility tests from the build-your-own-shell project.

Yit (2020)

Source: https://github.com/yzelova/Yit

demo

A git clone with support for branching, diffs and merges.

Rufile (2020)

Source: https://github.com/lachaka/rufile

demo

A console file manager with content previews and a Vim-like command-line.

Desktop

RustyEngine (2021)

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

ImageEditor (2021)

Source: https://github.com/nadezhda1120/ImageEditor

ImageEditor_demo.mp4

Brainfuck visualizer (2020)

Source: https://github.com/vtklisurov/RustProject

demo

This is a Brainfuck interpreter and visualizer, created for my Rust course in uni as a final project. Needs gtk-rs to work.

Seam carving implementation (2020)

Source: https://github.com/DannyStoyanov/seam-carving

Before After
demo demo

Seam-carving is an algorithm for content-aware image resizing. It allows image to be resized without losing important content from scaling or cropping.

Distributed

Copper (2020)

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

Games

Domino game (2022)

Source: https://github.com/VladimirRadev/domino_game

demo.mp4

A 2D game imitating https://galactical.itch.io/the-boneyard created with the ggez library

Solitaire (2022)

Source: https://github.com/YondaimeHokage7/Solitaire

demo

Tank game (2022)

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.

Typing tutor (2022)

Source: https://github.com/nixann/typing-tutor

Screen_Recording_2023-03-12_at_15.11.21.mov

Puker (2021)

Source: https://github.com/PavelSarlov/puker

puker.mp4

A simple 2D game made with ggez, inspired by The Binding of Isaac.

Blackjack (2021)

Source: https://github.com/KristiyanCvetanov/Blackjack

demo

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.

Flappy Ferris (2021)

Source: https://github.com/geosabev/FMI-Rust-2021-2022/tree/main/flappy-ferris

demo

This game is made with ggez and is based on the famous Flappy Bird that was a total hit a couple of years ago.

Jet Fighter (2021)

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.

Rust-snek (2021)

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...

Connect four (2021)

Source: https://github.com/secretuser234/connectfour

connectfour-demo.mp4

Type racer (2021)

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? :)

Extreme tetris (2021)

Source: https://github.com/EnevMk/Extreme-tetris

showcase.mp4

A little tetris-like game with some tweaks and additional logic, written in Rust.

5x5 Tic-tac-toe (2020)

Source: https://github.com/bhristova/rust/tree/master/project/tic_tac_toe

demo

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.

Tetris with ggez (2020)

Source: https://github.com/vasilp98/Tetris

Tetris with termion (2020)

Source: https://github.com/nnyx7/tetris-cl

demo

Boids (2020)

Source: https://github.com/Ivaylogi98/boids_rust_project

demo

Digger (2020)

Source: https://github.com/Zarazen/digger

demo

Become_Me (2020)

Source: https://github.com/IvayloKiryazov/Become_Me

demo

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.

Tower defense (2020)

Source: https://github.com/genchev99/rust-game

demo

2-Modded Chess (2020)

Source: https://github.com/rejnhed/2-modded-chess

demo

Chess with King of the hill & 3-Check written in Rust with ggez

About

Projects created for the Rust course at FMI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published