3D Sci-Fi Video Game (Unity)
(Title: Project S)
GitHub Repository: HERE
Use the import package if you want to use the project for your own!
Origin Story
This project was made in my Software Engineering class (CS4800). The assignment was to create something that involved a team of individuals and it must be complete a a set deadline. The project consisted of two monthly status reports and a final report. My team let me lead this project since they were open to anything. My mindset going into this was to think of something that can be broken apart which in the end can all be grouped together. Another facto that attributed to my decision was initializing roles to team members. The "easiest" one to visualize was to make a video game. Since this was a team of 6 people including myself I broke apart everyone into teams of two. My role and my partners was map creation. The next two people were responsible for developing a functioning character and enemy character. The last two people were our marketing team. Because of COVID a lot of team members were burnt out from other classes as well as their daily struggles. That being said roles had to be re-assigned. My partner and I was responsible for implementing a user controller, a destroyable AI, creating a start screen, end screen (toggled after mission was completed). The other two were gameplay testers and debuggers. The final two maintained their marketing research roles. The title, "Project S" was a lazy title that I made since my team agreed that the genre of game should be Sci-Fi themed. Once roles were established I had to figure out which game engine we should use. I chose Unity primarily because it free and available to many different operating systems. Also, I made a simple horror game in high school with Unity which also encouraged my decision to choose this game engine. Lastly, I chose Unity because of the vast amount of documentation and video tutorials on the internet.Map Implementation
The map creation was by far the most fun part of the project. I found this free, open-source, prefabricated Sci-Fi meshes from Unity themselves. What makes it even better was their new implementation of "Snaps" this made map creation feel as if I was playing Minecraft where meshes would simply snap together. Once I found the meshes I sent them over to my partner that way he can make his own rooms and I can make my own rooms. In my head I wanted him to make his rooms like boxes that way we can join them easier in the final product. Once he and I were done creating our boxes he sent me his creation via email. I then open his project and combined both our ideas into one map.
Gameplay Development
The gameplay was probably the most stressful part of the project. Initially I tried to import characters and develop my own code to make the user and AI move. This prototyping stage was a series of failures. Where I had issues with animations and character movement. After plenty of attempts I imported a package from Unity called "FPS Microgame". This integration expedited the progress of game development immensely. The package included working weapons, functional AI, and a user controller. The best thing about this package was that the user was able to complete the game after "Eliminating all Enemies". Once the user completes their mission they are then met with a success screen if not they are met with a death screen. Once that was all operations and working together all that was left to do was do some finishing touches which included: scaling map meshes, place weapons throughout the map, set a number of AI to destroy, adjust character movement values, adjust weapon damage for both user and AI, and place health packs around the map.
Result
After creating Project S I learned 3D properties with Unity such as: scaling, transformations, animations, and physics. On a personal level I learned how to coordinate a team of 5 individuals to the best of my ability, deliver a functional product as well as generate detailed reports by the assignments due date. The finished result is a 3D First Person Shooter within a Sci-Fi world. The game's target audience would be primarily speed-runners or indie game enthusiasts.