1 / 14

The Short Tale of Adlez: First Iteration Design

The Short Tale of Adlez: First Iteration Design. ENGI 5895: Software Design Spencer Bellows & Robert Gash. Summary. Top-down adventure game. From the Design Project Proposal:

Download Presentation

The Short Tale of Adlez: First Iteration Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Short Tale of Adlez:First Iteration Design ENGI 5895: Software Design Spencer Bellows & Robert Gash

  2. Summary • Top-down adventure game. • From the Design Project Proposal: The software design project proposed herein is that of a top-down adventure video game in the vein of Nintendo's The Legend of Zelda and Final Fantasy. The tentative title of this proposed game is The Short Tale of Adlez, and it will have a minimalist, satirical plot also in the vein of classic adventure games.

  3. Inspirations

  4. TSToA Game Concept • Player can explore the game world through a series of maps. • Player advances to save a princess by fighting battles and collecting items. • Each level has a boss battle, and the player can advance to the next level upon winning it.

  5. User Interface

  6. User Interface (cont’d) • Environment View: User can move player character through the game world via keyboard input. • Statistics: Display the current player statistics. • Inventory: Two tabs to allow user to change player equipment and use items. • Console: Provides game messages for the user.

  7. Initial Design

  8. Changes During Initial Implementation • Reduction of Model-View-Controller architecture to Model-View architecture (OCP). • PlayerSpriterefactored so that item and statistics management were handled in separate classes (Inventory and CharacterStats) (SRP). • Addition of GameModel class to control flow of game progression (i.e. the game loop). • Also contains lower-level elements of the model.

  9. Current Design

  10. Model • Abstract class Sprite is the core of the model. • All game entities extend Sprite (OCP/LSP). They are all contained in the composition that is EnvironmentSprite. • EnvironmentSprite is initially constructed based on external text files that are parsed based on a legend encoded in LevelParser.

  11. View • Each element of the view has the responsibility of displaying one element of the model. • EnvironmentPanel displays EnvironmentSprite • StatsPanel displays PlayerSprite’s CharacterStats. • InventoryTabbedPane displays the equipment and items in the PlayerSprite’s Inventory. • ConsolePanel displays feedback from the GameModel (not yet implemented).

  12. Use of Observer Pattern • EnvironmentPanel, ConsolePanel, StatsPanel, InventoryTabbedPane each implement Observer. • Sprite extends Observable. Each element in the view is added as an Observer of the appropriate part of the model. • The view (panels) are notified to be repainted given a change in the model (sprites). • This eliminates the need to make explicit calls to the view from the model when there is change to the model not provoked by the user.

  13. Future Challenges • A method for efficiently iterating through the EnvironmentSpriteand Inventory containers is needed when updating their associated views. • The Iterator pattern is being considered, given that there is specific details to be handled that are not supported by their base data structure. • Sprite animations need to be handled. The current implementation allows for images to be drawn to the screen, but there is nothing in place to animate their movement.

  14. Thank you for your attention.Questions?

More Related