Inspiration

Homecoming and other special events always seem to be crowded, no matter how much space there is, seemingly everyone crowds into one section of the space. The question of "Why?" came up when this topic came up in conversation, and being the day this hackathon was starting, we decided to set off to try to understand the "why" through simulation.

What it does

HomeCrowding Simulates Crowds such as the ones found at a school dance, and specifically we based it off of a (pre-covid) home coming type event.

How we built it

Although a portion of the team wanted to use LUA for the simulation, we ended up using java because we were more familiar as a team with it. We also selected Java so that we could use JKarel for UI, although this ended up being removed from the MVP submitted. The algorithm wasn't based on any existing algorithms, although we considered using crowding algorithms, instead it was based on a personality system which gave agents random traits that we thought would affect crowds and then we simulated the expected results of those traits so that each unique combo of traits in the personality and each unique combination of personalities in the population would create a unique result. We also toyed with a system of relations ships between agents such as friends, SOs, and not getting along, which would further affect traits and actions.

Challenges we ran into

We got started about a day late due to school, then the remaining day was spent with my at work for most of the day, one member on a road trip, and the third member unable to access the project as they were not familiar with the systems in place, and we didn't have time to walk them though it until we got home.

Accomplishments that we're proud of

We organized this team spontaneously after the hackathon started, which was a great improvement over trying and failing to organize well in advance, to the point that we wouldn't even compete/attend, like in the past. Furthermore, I'm impressed we have anything considering the time challenges faced. Finally, unlike most projects we've done this had no prior thought go into it before we had started trying to make something, the concepts and techniques used in it were almost entirely new.

What we learned

What's next for HomeCrowding

Fancy UI, originally, we were going to use JKarel for the UI, because that was library that we were all using in class when everyone on the team originally met, and we partially interpreted the theme as being a bit of a throwback to past hacking as well. Ultimately however, we only wrote the simulation without any UI so that we could have time to make the simulation good.

Built With

Share this project:

Updates