Inspiration

Our Team was inspired by classic level editors in old school video games (and even video game engines) that allowed the users to manipulate rooms and specify locations of items, sprites, enemies, and other design logic before playing. We were also interested in creating some form of AI simulation based on the user's own specification of a floor plan and their items. So you can treat this as a simulation maker too. Specifically, the level editing in the game TimeSplitters 2 and Ken Silverman's Build Engine were of great inspiration.

What it does

The Map Editor does exactly what it sounds like! The user creates and edits their own maps (or floor plans) by allowing them to add rooms/weapons/enemies to their own location in the map. The user can then specify paths for AI Enemies to follow. The Map Editor is also not limited to game planning; the user can utilize Map Editor to construct floor maps and city maps by substituting pictures with buildings and citizens!

How we built it

We were all very familiar with Java, so we ended up using JavaFX to create a GUI.

Challenges we ran into

We ran into so MANY challenges. It was definitely very difficult, but here are some of our struggles:

  • AI Pathfinding
  • Screen Resizing
  • Adding/Scaling Images
  • Determining (x, y) positions

Accomplishments that we're proud of

  • The AI traces out the path specified!
  • Rooms, weapons, or Enemies can be added in any order
  • Managing the GUI interface with buttons and images.

What we learned

We learned how to utilize JavaFX and create something similar to a Map Editor, for people who want to create their own simulations with their own desired floor plan of the given rooms, weapons, and enemies.

What's next for Map Editor

  • Allow the user to be more creative with the AI movement, instead of just moving in lines
  • Add more commands, such as deleting items or creating/accessing multiple floors
  • Maybe try collision detection techniques.
  • Maybe have the user specify their own images

Built With

  • artificial-intelligence
  • java
Share this project:

Updates