• …the easy-ish way

    I wrote this as I realized a few teammates haven’t had to wrangle with Unity and GitHub before so here’s a step-by-step for how to set up a relatively easy to use environment and how to share your work with others.

      1. Download Unity Hub (it’s a manager for different versions of Unity)
        1. Start downloading whichever version your group has agreed upon under the Installs tab
        2. If it asks for “Build Platforms”, you shouldn’t need to select any extras unless you want to experiment building out a mobile or web version
        3. You probably want Visual Studio
          • Personally I use Visual Studio Code (different than Visual Studio), but everyone has their preferences. Visual Studio will work out of the box.
        4. You don’t need the Documentation or Standard Assets, they’re both avaliable online
      2. Download Github Desktop (it’s probably the easiest git client you’ll find)
        1. Sign in and “Clone” your team’s repo (you can use the github.com website to launch GitHub Desktop as well)
        2. If you want to make your own changes, you’ll need to create your own branch off of the master branch
          • Name it either after a feature you’re working on or just use your name
      3. Once Unity is downloaded, you’ll load up the project
        1. In Unity Hub, click Open and open the project folder you just cloned
          • You want to select the root folder that contains folders like Assets and ProjectSettings
        2. Make sure to make yourself your own scene so that you don’t overwrite someone else’s
          • File > New Scene
      4. To share what you made, open back up GitHub Desktop (or GitHub for Unity [Window > GitHub]
        1. Select all the Changed Files you want to “commit”
        2. Write a quick summary (doesn’t have to be big)
        3. Hit commit (and maybe also “Publish this Branch”)
        4. You might also need to “Push” the commit to the cloud afterwards so we can all see it
      5. Last, you can add your changes back to the master branch
        • You can ask other team members to create a Pull Request for you or you can do it yourself
  • Screenshot 2016-05-01 21.11.40

    • Urbanomino will be shown at the Integrated Digital Media Student Showcase this year! Check out this as well as my other projects and the projects of my really cool peers on May 12th at 6pm at MAGNET, 2 Metrotech, Brooklyn NY.
      • For the IDM Showcase, Urbanomino needs to have a few more optimizations, bugfixes, and maybe a few more implemented features
    • Make the user interface better represent the simulation
      • Create information dialogs for the power struggle between the interest groups (image above)
      • Create dialogs for the existing state of the neighborhoods
    • Implement the rules of the simulation into the proposals/opinions game
      • Weigh the side effects of developments heavier than just accepting proposals
      • Better visualize the effects the rules are having on the neighborhood
        • Draw lines from sources showing the effects
    • Create an “attract” mode so players can jump into an existing game, rather than play out the one-sided beginning of the game
      • Let players start where the board is nearly filled and they need to make decisions about urban renewal
      • Perhaps create the start of the scenario system, so players can try out real cities like NYC or San Francisco

    Screenshot 2016-04-29 17.44.59

    • Create more buildings, improve existing architecture
      • Fix the train station
      • Strip Malls
      • School
      • Make the industry tile look like a classic, iconic factory
    • Animations for creating buildings and visualizing effects
      • Play with the elevations of the tiles
    • Test and work on the Urban Renewal mechanic
      • Build animations
      • Create associated punishment and side-effects

    Screenshot 2016-05-01 21.24.23

    • Build out the Special Request “Quest” system
      • Visualizing proposals
      • “Contested plot” proposal system for when two authorities want to put a development on the same tile
  • Urbanomino won first place at the NYU Tandon Senior Capstone Competition! This was a competition across the whole school for engineering and business projects. Urbanomino was the only solo team as well as the only digital-only project.

  • 512

    It’s been a long run, but it’s finally been released! I had to make a few last minute changes to the URLs, the exact wording, and branding. I’ve learned a bunch about the iOS build and publishing process as well as how ridiculously easy it is to publish to Android. This version 1.1 also comes with a new app icon that better explains that the app is from NYU and is a VR app.

    Download for Android Download for iPhone

  • Tandon Vision was created for Google Cardboard due to the incredible accessibility of VR experiences in Cardboard. Because Cardboard experiences don’t demand, and can’t create, the kind of high fidelity experiences of more expensive headsets, it allows a kind of low-fidelty yet immersive experience. The lack of cables tethering the phone mean that the user can turn in any direction. Because the cardboard only has one button, interfaces need to be primarily gaze controlled and more complex experiences need smarter interfaces capable of interpreting what users want.

    For the robot driving sequence, I ended up testing several solutions. The first idea was a first-person control scheme where you would see from a robot’s onboard camera. Any time you turned your head, the robot would turn too. To move forward, you would hold down the button. Trying it out, it started falling apart where users couldn’t see where they were going and would be very prone to motion sickness.

    The important change was switching from a 1:1 control scheme to a waypoint and route scheme with the Unity Nav-Mesh. Instead of the user piloting the robot’s every action, they would gaze and click to set their desired destination. The camera would follow from a 3rd person perspective, but would never turn on its own, so the player’s physical sense of 3D space while wearing the headset could be partially saved.

    To let players know where they were going, I added a simple compass to the UI that would point to their next destination. In addition, I used the unique aspect of Unity UI canvases that they’re not affected by lighting or fog so they’re visible from great ranges. Though it removes some of the exploration, it means no one has to aimlessly wander the sands looking for magical soil samples.

    Slow Awkward Giant Robot Battles (2014) by Matthew Conto & Oliver Garcia-Borg

    For future virtual reality projects, I really want to move away from d-pad style controls with WASD keys or thumbsticks. Room-scale, like with the Vive or by using the Kinect are really fascinating and tricking the body’s sense of movement is an open frontier for experimentation.

  • Screenshot 2016-03-22 20.02.18Though it’s probably too early to dream of a thriving modding scene, I did need to work on implementing a better system for the ingame balance. It turns out that serializing C# objects into XML files is quite straightforward. The key is that Unity Monobehaviors can’t be serialized, meaning that you need to make a few custom classes for the system to handle serialization. Plus, by building out the game’s balance into custom objects, it makes it quite easy to build out an ingame interface for exploring what’s going on.

    My dream with this is to let players easily change the core rules of the simulation without digging into HEX editors or decompiling source code. Imagine if you could fiddle with the factors influencing RCI in SimCity or change how land values are impacted by pollution as easily as you fiddle with the ingame taxes.

  • Screenshot 2016-02-20 15.15.12

    • Add more reasons for Real Estate developers to hate you
      • Protected land
        • Beaches
        • Local/State parks
    • Add more environmental effects
      • Factories have much more negative effects on nearby residents as well as overall environment
      • Visual effects from cars, pollution
      • Add detail to land
    • Improve ‘feedback’ system from local special interest groups
      • Notifications about what they liked, didn’t like
      • Punishment for hurting one group too much
      • Rewards for helping
    • System for sustainability of a neighborhood
      • Measure if residents can find jobs
      • Make plots decay over time / randomly until they need help
    • System for eminent domain
      • Less likely to happen in small towns, scales up into larger (and more desirable) areas
      • Play up emotional impact of evicting residents in populated areas
      • If a plot has decayed so much that it’s abandoned make it free


    • Scenarios
    • City-wide events
      • Housing bubbles
      • Market crashes
      • Earthquakes and other natural disasters
      • Market boom
      • Toxic industry
    • Full progression system
      • Ability to make own proposals
      • Landmarks
    • More special interests groups
      • Temporary special interest groups
        • Olympic planning committee
      • Governor’s office
      • Local universities
  • Play Urbaninimoes on itch.io


    In the future, I’m planning on adding a bunch of features including:

    • Success and failure leading to changing how many votes the people have elected to given you
    • Changing the kinds of proposals given over time
    • Creating your own proposals once you have enough power