• Stars
    star
    161
  • Rank 232,478 (Top 5 %)
  • Language
    C#
  • Created almost 4 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

https://www.youtube.com/watch?v=s_nEniWLLgo. This is a 3D Mario kart game created with the unity game engine with C#. Kart racer supports items, anti-gravity mode, computer players, underwater mode, and real-time shadows and lighting.

Unity3D-Mario-Kart-Racing-Game

About The Project

Welcome to my open-source 3D kart racing game, created using C#, the .NET Framework, and Unity3D. This project remains popular with an active community on both GitHub and my YouTube Channel: Ishaan35.

I started this as a way to gain experience with C#, and learn what it is like to manage a large project. It took off when early videos gained traction, and the project has grown with positive community feedback, as I continued to work on it for over two years while gaining over 850 YouTube subscribers.

I also decided to create this game as I couldn't find any open-source kart racing games that utilize similar physics to the very popular kart racing game, Mario Kart 8, and I wanted to change that with a challenge for myself.

I'm dedicated to pushing this project forward and making improvements. Whether you're a contributor, player, or just interested, you're part of this exciting journey. Let's build the future of this project together.

This game features 5 different tracks with detailed visuals to provide a great user experience.

Here is a video showing some gameplay of the project https://youtu.be/NfiscJR_nQY, and the rest of the videos can be found on my YouTube Channel.

Game Image

Built With

(back to top)

Status

This project is currently in development. I will be maintaining it for any major updates or features in Unity launches. The playable demo can be found here here.

Usage

  1. Download Unity version 2021.3.4f1 LTS or higher. LTS versions are always preferred for longer-term support of existing features used in the project.

  2. Download Blender 2.79 or higher as Unity will need to import some .blend file assets.

  3. Once downloaded, clone this GitHub repository, and open the root directory in Unity Hub as a project. I did not provide the library folder, so the first-time import may take a while.

  4. Once in, you should be able to navigate to the scenes folder and view the different tracks. If you encounter errors or see unrendered pink meshes, try the following: β€’ Ensure the latest version of the Universal Render Pipeline and Shadergraph is installed as a package in the Unity Package Manager. After installing, if it does not work, delete the library folder and re-open the project.

    β€’ Make sure the version of Unity is LTS and at least version 2021.3.4f1.

    β€’ Try downloading the full version of the project with the Library folder included here

Roadmap

  • Add multiple characters
  • Add a main menu instead of a basic track selector

Other Hurdles

β€’ Anti-gravity was something that took me a while to fully figure out. I consider this a major achievement since it allows for a more diverse track selection that can be more twisty, potentially more difficult, and amusing with all the camera rotations. I implemented anti-gravity by switching to a mode where the gravitational force is applied to the direction that is opposite to the normal of the driving surface. I also made sure the kart smoothly rotates along the ground surface, and the camera rotation aligns with the player's rotation.

β€’ Creating opponent players was also a challenge. I needed the right balance of versatility, randomness, and control over the movements of the players. Hence, I created a handful of possible path collections for each track. These paths would be nodes placed at intervals around the track. A large hitbox was placed around each node to determine if the computer player had passed a certain point on the track (which also provided a nice set-up for the ranking system during the race). Then I would randomly switch up the paths given to the computer players to give a more "random" feel to the movements of the computer players.

Contact

Ishaan Patel - [email protected]

LinkedIn: https://www.linkedin.com/in/ishaan35/

Personal Website: https://www.ishaanpatel.info/

Full Project Link with Library Folder Included: https://drive.google.com/file/d/16XfmmUwKhTlESbEOm70gqZQ0PQQe2iJf/view?usp=sharing

Playable Build Link: https://drive.google.com/file/d/1YZ2OqAirBQlzf0WjMv1-zO6F597xrQoq/view?usp=sharing

More Repositories

1

3D-Mario-platforming-game

https://drive.google.com/drive/folders/1NzA1KPOR-drZ2CZ8CCmfpX_YnsoIHuZV?usp=sharing. This is a 'Super Mario 3D World' Style game created in Unity and C#. I have videos of this project on my youtube channel:https://www.youtube.com/channel/UCEShkg8TVshTmfDlvBZkXjw. The programming and animations are my own work, however, not all modelling is my own work.
C#
20
star
2

SuperHighwayRunner

This is an Android game created with Unity3D C# and .NET. Below is the PlayStore Link.
C#
7
star
3

Pathfinding-Visualizer

A website that demonstrates the process of finding the most optimal path from Point A to Point B. There are three algorithms for finding the path which include Dijkstra's Algorithm, Breadth First Search Algorithm, and the A* Algorithm. There are many functions of this website/app including drawing your own walls on a grid, generating random walls, using pre-made mazes, and changing the start and end positions.
TypeScript
6
star
4

Chess

This is a chess engine created with JavaScript, HTML, and CSS. The computer can play against you with three difficulty levels: easy, medium, hard. The chess engine uses the minimax algorithm to decide on the best move to make. The minimax algorithm examines a large tree of possible moves that can be played by the computer and the opponent (human player) depending on how far ahead into the game the algorithm looks. The number of moves the algorithm looks into the future refers to the depth of the algorithm. The greater the depth, the better the algorithm plays. There is also a separate section related to global chess stats from chess.com which are obtained from an API in JSON format using XMLHttpRequests. The stats feature the top 50 players in the world on chess.com separated by different game modes such as rapid and bullet chess. This website is responsive and can be viewed on computers and mobile devices.
JavaScript
5
star
5

Raining-Cubes

This is a game about dodging falling objects and staying alert. This is my second game/app I made on Unity. Link: https://play.google.com/store/apps/details?id=com.RainingCubes.DM&hl=en
C#
4
star
6

E-Learning-Portal

https://youtu.be/ocFLxRuDqvQ This Django app is an online education platform where students and teachers can connect. Teachers can create classrooms, and in those classrooms, they can post announcements, create and grade assignments, and create quizzes. Students can join classrooms with a unique code given to each classroom, and they will be able to see all the announcements, assignments, and quizzes the teacher has created. Students and teachers are able to create announcements, as well as add class comments to announcements. The other major feature of this app is having private conversations with other students and teachers. This is a private direct messaging system added to the app in case students or teachers want to discuss something privately. Users are able to edit their profile, and register with email. For assignments, students can upload files, and receive an email whenever the teacher grades them. Quizzes are multiple choice and marked automatically so the students and teachers can view the results.
HTML
4
star
7

New-Super-Paper-Mario-

This is a 2D Platformer game which is based off of super mario. The gameplay is based off of super mario bros, but the art style is somewhat based off of paper maro.
C#
3
star
8

Ishaan35.github.io

My personal website.
HTML
2
star
9

Movie-Website

https://ishaan35.github.io/Movie-Website/
JavaScript
1
star
10

Social-Network-App

https://www.youtube.com/watch?v=Wa74k-OKujA I created a social media app with the Django framework using Python, Javascript, HTML, CSS. This was one of my projects for CS50's Web Programming course from HarvardX offered by Harvard University.
Python
1
star
11

Sorting-Visualizer

This is a sorting algorithm visualizer made to help show how different methods of sorting work.
TypeScript
1
star
12

Blood-Test-Result-Tracker-Android-App

This is a bloodwork-tracking mobile app aimed to allow users to easily track their blood test data for future reference, spot trends, and take action.
Java
1
star
13

My-Weather-App

A convenient and lightweight weather app that can track your current location, or any city's weather worldwide. It can also give a 5 day/3 hour forecast for any city as well. It also gives clothing recommendation based on the weather of the chosen location.
Java
1
star