Skip to content

Architecture

Lyn Cork edited this page Oct 22, 2023 · 23 revisions

Frameworks and Libraries

GameMaker Studio 2 is an all-in-one package, which means it contains all necessary libraries to facilitate the creation of our game. GML is the sole programming language used for scripting in GameMaker, and it does not support other languages. Therefore, there will be no need for additional libraries, languages, or APIs to deliver our project.

Release

GameMaker Studio 2 allows for easy creation of an executable inside of a .zip archive.

Division of Demo Work

Lyn:

  • Screen - World Map issue
  • Game Level - Towns issue

Chris:

Zandair:

Hollis:

Meet:

  • Damage Type - Slash issue
  • Damage Type - Pierce issue
  • Damage Type - Blunt issue
  • Screen - Start Screen issue
  • Screen - Battle Interface issue

Release

Our game will be released as a binary .exe file, as GameMaker allows for compiling projects directly into executable files. Testers will be linked to a separate GitHub repository containing this executable, which they can then use to download and run the game.

Models

Town

town As can be seen in the model, the Town object will have multiple other objects within it. Houses will be decorative structures and will be impassable (the player will not be able to walk through it). The Wall works similarly, in that walls are decorative impassable objects meant to guide the player's path, keep them out of certain areas, etc. Villagers will be NPCs that walk/stand around towns, when interacted with, they will display their string of Dialogue to the player. The Player will be represented by a sprite on the screen, which will move in response to player input. Shops will be impassable buildings that when interacted with will bring the player into an interaction with the associated Merchant. The Merchant will display their string of Dialogue to the player, and the player will be purchase items from the Merchant's Inventory. Inns will be impassable buildings that when interacted with will bring the player into an interaction with the associated Innkeeper, who will display their Dialogue string (showing the price of a stay at the inn), if the player decides to stay they will lose some gold and regain all health.

World Map

mapModel The main part of the World Map are the multiple types of Nodes - the Node, the TownNode, and the OverworldNode. The Node is meant to be the most basic place that the player can visit. When the Node is interacted with, the player will be brought into a level, these can be a field or a forest, and act as the paths between more important and complex areas. The TownNode will bring the player into a Town level when interacted with. An OverworldNode will bring the player into an OverworldLevel when interacted with (these will not be included in the Proof of Concept), these can be dungeons, evil castles, caves, etc. Finally, the Player object is an icon that represents the player on the map. The Player will move around with input from the user, traveling along the lines on the map from node to node.

Views

Town

townView A basic example of a town with a wandering villager, a potion merchant stall, a magic shop, an inn, a smithy (weapon and armor shop), a house, and a church. Walls are used to keep the player on the path leading around town. This example is not representative of an actual town in-game, as those will vary in layout, house design, type and number of shops, and design and number of villagers.

World Map

mapLabeled A basic representation of the World Map of the game. The player moves from node to node and will enter the level at that node when interacted with. Designs of all nodes, shape of continent, number of nodes, player icon, color, etc. are all subject to change as development progresses.

Clone this wiki locally