- Project Lead
- Expandable Inventory System
- Performant Building System – Can handle thousands of player-placed items
- Cinemachine Camera System (FPS, 3rd P, and Bird’s Eye View)
- PC and VR (Oculus SDK)
- UX Design
- Save/Load System
About This Project
Indiecade was looking for a team of developers to make an app that will help then physically lay out their convention plans in 3d space. So I recruited and led a team that did just that. I went to the campus daily to take measurements and cross reference with floor plans. I built an inventory system that managed all the Indiecade convention gear as well as a system that allowed them to place that gear anywhere on campus. I also worked on a saving system that would allow them to create an event of any number of days and change the layout per day as necessary. Another side to that is heavily optimized loading system that carefully managed all the gear placed by levels and could handle thousands of items in a single scene.
The goal of this application is to allow Indiecade to plan their events on the CMD campus without needing to fly across the country multiple times. Effectively, saving them money every year while also making their event planning much easier.
- Highly performant rendering of the campus that is accurate and to-scale to accurate placement of event inventory
- Base-builder style placement of event items
- Can handle thousands of user-placed items in a single scene
- Saving/Loading of Events that have any number of event days within them.
- POV and Birds-Eye view perspectives
- Cut out views of each floor
3D Rendering of the Campus
This is not intended to be architectural visualization. This is designed to be a lightweight and performant rendering that can handle thousands of user placed objects in a single scene. It is accurate and to-scale, based off of floor plans. The lighting and textures are designed so that the user can see every corner of the campus clearly without shadows obscuring anything. This is a tool, not a demo.
You can see the actual campus here: Santa Monica College – Center for Media and Design campus.
My role on the team
I was the project lead for this app and the point of contact between our client and the team. My job entailed managing the team, ensuring we met an immovable deadline, reigning in scope, and ensuring accuracy and quality of the campus 3d models. This meant that myself and the team would routinely compare measurements in-scene to measurements on campus.
I wrote all the code for this project. This was made in Unity and C#.
The main programming items are:
Serialization of user-placed and customized inventory items. Saves locally to Unity default directory. This works on Windows and Mac.
Each event is a save file that can contain multiple days. Some events have different layouts per day and even per night. So a single save can seamlessly switch between them.
The implementation and design of the “base-building” system is inspired by the Sims (Birds-eye view) and Rust (FPS).
It’s important that the user can switch between FPS and Birds-eye view so that you can see the event from the perspective of the attendee as well as the layout from above. A simple press of a key or click of the camera mode button will toggle the user between camera modes.
The interface was designed and made by yours truly. I kept it simple with inventory tray inspired by the Sims and simple HUD that displays what day you’re working in, what camera mode you are in, and what floor you are on. All the HUD elements have hotkeys and behave like buttons when clicked on.
I used the nested prefab system and scriptable objects to create a type of templating system. This made making tweaks to the style of the UI easy without the need to update every single item.
There were two other members of this team that split the duties of modelling and texturing between the campus itself and all the individual objects found in the buildings (including the inventory itself).
The campus itself was made in Sketchup. This is because it’s a great tool for dimensionally accurate modelling. Texturing is much easier too. We started modelling in Maya however we found that this process was needlessly slow.
However, all the furniture, items, and inventory in the project were modeled in Maya. They too are dimensionally accurate based on real-world examples.
What is Indiecade?
Indiecade is an indie game expo that takes place every year in Southern California (the WEST version) and last year it was located on the Santa Monica College – Center for Media and Design campus. It’s a beautiful and brand new campus that is focused on the digital arts.
Indiecade loved the location so much that they plan on doing the event there every year. However, they have one problem. They are based in Boston and so they don’t have access to the space to plan their event. This has been a logical nightmare for them for a while. However, now that they picked a more permanent home for their event, at the very least they are working with the same floor plan.
So Indiecade decided to get a small dev team to make a 3D rendering of the CMD campus they can use to plan their events. This is where I come in. When the chair of Indiecade asked David Javelosa (their liason and prominent Game Design Professor at SMC) if he could get a team together, he contacted me to see if I could get a team together. Naturally, I brought in my team from the Cambio project since we are starting our own little indie studio called Team Beep Boop.