## Inspiration

We as a team recognized the potential of AR pretty early as such a unique system with ubiquitous opportunity. As we thought more about how AR could intersect with other fields of interest, we thought it would be interesting to work somewhere where AR could cooperate with data and its visualization. Recognizing the theme of this PennApps, we decided to build a system that would use weather datasets to inform, instruct, and ultimately help people around the world.

## What it does

WeathAR uses AR to visualize weather and natural disaster forecasts fetched from OpenWeatherMap. With the data retrieved, we render and move assets to simulate future environments. Further data is rendered in an instructional table that also contains warnings and directions in case of coming emergencies for the sake of teaching as much as we can.

## How we built it

A basic app was build using Android Studio (Java, xml). Within activities in the app, we constructed our own API to retrieve and parse OpenWeatherMap forecasts (one was not previously built). Using the processed information, we delivered instructions to an embedded Unity application that rendered the appropriate environment and text. The Unity application itself was constructed in its own development software, using a myriad of assets found online and created. We also created custom scripts to add necessary functionality (C#) and initialized necessary prefabs to render the project. A calendar was added to specify date (alongside other UI improvements), and location fetching services were implemented.

## Challenges we ran into

There were a lot of challenges we ran into, given that not one of us had ever used any AR library before. On top of that, only one of us had any experience with Android dev. This was also more or less the first hackathon for two of our members. As such, we ran into a lot of issues integrating software and environments - especially given how complicated interactions between Unity and Android Studio can be. We also had to learn C# - though it was probably not a significant challenge - and a lot of the UI creation on the spot.

## Accomplishments that we're proud of

We're proud of everything! If we were going to be more specific, a lot of the tracking and spatially conscious elements of the AR rendering came out much better than one would expect of a rushed hack, and we're pretty proud of the calendar!

## What we learned

So much. In order: App Integration, Android App Dev, Unity Scene Construction, C#, Asset Creation, Git

## What's next for WeathAR: Visualizing Forecasts and Natural Disasters.

We'll try to polish up the assets, add some more, and maybe add some anchors for some of the assets to make a cleaner environment. Floor tracking for our flood asset might be an improvement over our status quo too. If it works out in the end, we'll try to publish on the play store!
## Inspiration

Twine is inspired the #dawg-spotting channel on the [Cal Blueprint](https://calblueprint.org) Slack, where the club’s members post sightings of other members on the Berkeley campus. Interestingly, the channel serves as a photo diary of the club’s time together. What if this form of photo diary was the basis for a social micronetwork—a social network for only your most important communities?

Another source of inspiration is some family chats that I’m in. Very little talking actually goes on here; these groups mainly serve as a place for people to post their photos and for others to comment on them.

Twine’s design draws on techniques presented in [this paper](http://eegilbert.org/papers/chi21-consent-im.pdf) from CHI 2021.

## What it does

Twine enables you to create collaborative photo walls—twines—where you can capture the time you spend with the communities you care about the most, like your friends and family.

The idea is simple: You create a twine and invite people to join. Then, everyone can post captioned photos to the twine; all the people on the twine are notified on every new post. Each photo on the twine has an associated chat thread where people can comment on it.

## How we built it

Twine is written in Next.js using Tailwind for styling and Firebase for server stuff. The prototype below was created in Figma.
## Inspiration

The California wildfires have proven how deadly fires can be; the mere smoke from fireworks can set ablaze hundreds of acres. What starts as a few sparks can easily become the ignition for a fire capable of destroying homes and habitats. California is just one example; fires can be just as dangerous in other parts of the world, even if not as often.

Approximately 300,000 were affected by fires and 14 million people were affected by floods last year in the US alone. These numbers will continue to rise, due to issues such as climate change.

Preventative equipment and forecasting is only half of the solution; the other half is education. People should be able to navigate any situation they may encounter. However, there are inherent shortcomings in the traditional teaching approach, and our game -S.O.S. - looks to bridge that gap by mixing fun and education.

## What it does

S.O.S. is a first-person story mode game that allows the player to choose between two scenarios: a home fire, or a flooded car. Players will be presented with multiple options designed to either help get the player out of the situation unscathed or impede their escape. For example, players may choose between breaking open car windows in a flood or waiting inside for help, based on their experience and knowledge.

Through trial and error and "bulletin boards" of info gathered from national institutions, players will be able to learn about fire and flood safety. We hope to make learning safety rules fun and engaging, straying from conventional teaching methods to create an overall pleasant experience and ultimately, save lives.

## How we built it

The game was built using C#, Unity, and Blender. Some open resource models were downloaded and, if needed, textured in Blender. These models were then imported into Unity, which was then laid out using ProBuilder and ProGrids. Afterward, C# code was written using the built-in Visual Studio IDE of Unity.

## Challenges we ran into

Some challenges we ran into include learning how to use Unity and code in C# as well as texture models in Blender and Unity itself. We ran into problems such as models not having the right textures or the wrong UV maps, so one of our biggest challenges was troubleshooting all of these problems. Furthermore, the C# code proved to be a challenge, especially with buttons and the physics component of Unity. Time was the biggest challenge of all, forcing us to cut down on our initial idea.

## Accomplishments that we're proud of

There are many accomplishments we as a team are proud of in this hackathon. Overall, our group has become much more adept with 3D software and coding.

## What we learned

We expanded our knowledge of making games in Unity, coding in C#, and modeling in Blender.

## What's next for SOS; Saving Our Souls

Next, we plan to improve the appearance of our game. The maps, lighting, and animation could use some work. Furthermore, more scenarios can be added, such as a Covid-19 scenario which we had initially planned.