• 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

  • Screenshot 2016-02-20 21.43.01

    Now that the basic rules for visualizing the city as tiles work, next comes the actual urban planning.

    Generative Proposals

    For now, I’ve settled on using Molleindustria’s rules from MultipliCITY to create a basic scoring system for the AIs. The AI looks through all of the tiles and finds the ones where they would benefit the most from either developing on new land or using eminent domain to evict existing residents or businesses for a new development. If I add an extra property to the tiles, maybe ‘productivity’ or ‘maintenance’, I can better balance for eminent domain.

    Before we generate a proposal, the system has already calculated how much each tile is worth to each group, the Real Estate Developers, Businesses, and Community Organizers. Next, the system generates a weighted random list of developments that will be proposed. By having this be random, I account for that though all the groups may want a school somewhere, only once a variety of factors (basically just funding) line up can a school be actually proposed on a lot. Next, the groups need to pick which developments they want to propose. Each group can only propose certain tiles. For instance, Real Estate Developers can’t propose where to put an industrial development, but they would be disappointed if it’s near residential development.

    • Real Estate: Real Estate, Service
    • Buisness: Commercial, Industrial, Infrastructure (all unique)
    • Community Organizers: Affordable Housing, Service

    This means that perhaps services will be contested (with a contesting mechanic [hard!]) or each group will get a certain percentage of all service developments (easier).


    For voting, I have a system where the player has a certain number of votes to spend on several proposals. Proposals either need points spent on them to pass or are already passing and you would need to spend points to fight them. I’m thinking of using a timer to force players to make quick decisions on whether each development is good or bad. The later the game goes, the more hectic it will get and though you’ll have more votes, you’ll have more proposals and have to make rash decisions.