Inspiration

I wanted to create a sense of freedom for users to explore and learn about different cultures across the planet by offering an engaging and limitless adventure in geographical and cultural discovery.

What it does

The game prompts the user to give any description of a location, then transports the player to a 3D rendering of that location, where the player is then free to fly around to check out the area.

How we built it

Used a Cesium Ion to stream 3D map tiles from Google Cloud to a Unity environment, where the map tiles are rendered to create a globe in the game. The game then prompts the user to provide a description of where they want to go, and that prompt is then sent to a ChatGPT 3.5 Turbo API, which replies with the precise latitude and longitude in decimal degrees, and latitude in meters. This information is then used transport the player to the desired location.

To create the immersive feel:

  • Used a variety of methods like mouse input smoothing, momentum logic, torque physics, etc to create a smooth feeling flying mechanic.
  • Made use of post-processing and particle effects, as well as dynamically changing their properties based on game state -Tweaked many different parameters to make the game feel seamless

Challenges we ran into

  • Figuring out how to make the playing flying mechanic smooth and realistic.
  • Cesium Ion did not provide ways to change location dynamically, so I had to look at the source code to figure out how to do it myself.
  • ChatGPT keeps giving me the altitude of the object instead of the city, so sometimes my players gets transported far too high in the sky. For example if the user prompt is 'Mount Everest', ChatGPT will give me the altitude of the peak of the mountain rather than the base. This can be remedied by proving fine-tuning jobs, but this is not available on the free plan.
  • Synchronizing all the different components of the game with each other and game state
  • Unity keeps crashing for no reason

What did we learn

-believe

Accomplishments that we're proud of

  • Visually appealing
  • Smooth-ish
  • Actually works

Built With

Share this project:

Updates