Coder Social home page Coder Social logo

ubisoft-next's Introduction

Ubisoft Toronto NEXT 2022 Programming Submission

"Ubisoft Toronto NEXT is an annual competition designed to showcase the talent of video game development students in Ontario and to help kickstart their careers in the industry." — Official Website


This year's challenge was to make a game inspired by Gravitar in C++ using the provided API.

Vanguard Mission Zero: Genesis Odyssey is my programming submission that won first place.

For all the gameplay features, check out the YouTube video description!

2022-03-14 07-20-13_Trim

Fun fact, my game was lovingly named by Stephen Vijayakumar and Abhinav Dhindsa.

Engine features

  • 3D graphics featuring particles, lighting, and backface culling ✨
  • CPU cache-friendly component design using data locality and object pooling 🧱
  • Automated unit testing and code formatting 🤖

Running the game

Open Game.sln in Visual Studio 2022 and hit F5.

Or, if you're on Windows, download and extract vanguard-mission-zero-0.1.0-win64.zip. Run Game.exe.

That's it!


Learning resources

Here's what I personally used in order to make this submission.

The very basics of C++. Definitely learn all of this.

Make your first game using C++. I did lessons 1 to 29 inclusive which is everything you need to make a game like Pong.

Take your code to the next level. The web version is free but I did buy a physical copy and it's one of my most useful reference books. I've read it front to back a few times now.

4 part video series, but I only did the first 3 parts which covered: triangles, projection, normals, culling, lighting, object files, cameras, and clipping. These all made its way into my final rendering code in one form or another.

Inevitably, you will need to debug your graphics code. This textbook is definitely the toughest resource in this list, but it goes into essential details and provides relevant examples with code snippets, as well as demo code online. Could save your life, as it did mine (pay to win?). I studied up to and including chapter 7. Using the textbook as a starting point, I built my own vector and matrix maths libraries—make sure you set aside enough time for this! I also referenced chapter 7 extensively while debugging my camera system.

Long story short, I started studying C++ seriously starting from December 2021 until the end of February 2022. My schedule was based on roughly three months of 4-8 hour days where I studied and made simple games in C++. However, I still had to prioritise and move on when I felt like I had learned what I needed to know from each resource. Even then, I only made 3 out of the 6 games I had originally planned to which were Pong, Breakout, and Space Invaders. For me, there was no realistic way to learn everything and code all the games I wanted to unless I had even more time.

ubisoft-next's People

Contributors

victorzshi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.