<commit_before>#+Title: Software Design Document
#+Author: <NAME>
#+Date: [2013-11-02 Sat]
#+Description: This document details the design of the game internals drawing from the description of the game itself.

* Functional Requirements
** User Interface
The game has an interface consisting of
- navigation control
- tile interaction
- power interaction
- a way to choose a power

** World
The world consists of many maps joined together by a super-map.
The paradigm of Assassin's Creed is most applicable here:
  have each map (puzzle-maps) joined by classicly exploratory roads and settlements.
It is unknown whether each map corresponds to one puzzle;
  that is, it is unknown whether there are puzzle-less maps.
Their purpose needs to be entirely plot-oriented and
  thus their existence is, at this stage, impromptu.

See the [[file:../src/ButterSeal-android/assets/maps/map-descriptions.org][map description file]] for detailed information on each map.

* Implementation
** User Interface
A simplistic design would be as follows:

:   .                                                   .<commit_msg>Meeting notes from 2013-11-06<commit_after>#+Title: Software Design Document
#+Author: <NAME>
#+Date: [2013-11-02 Sat]
#+Description: This document details the design of the game internals drawing from the description of the game itself.

* Functional Requirements
** User Interface
The game has an interface consisting of
- navigation control
- tile interaction
- power interaction
- a way to choose a power

** World
The world consists of many maps joined together by a super-map.
The paradigm of Assassin's Creed is most applicable here:
  have each map (puzzle-maps) joined by classicly exploratory roads and settlements.
It is unknown whether each map corresponds to one puzzle;
  that is, it is unknown whether there are puzzle-less maps.
Their purpose needs to be entirely plot-oriented and
  thus their existence is, at this stage, impromptu.

See the [[file:../src/ButterSeal-android/assets/maps/map-descriptions.org][map description file]] for detailed information on each map.

** Meeting on [2013-11-06 Wed 15:55]
- load map
- load objects / object properties
- transition
- save state?
  - positions
  - starting point
  - item statuses
- interactions
- recognize current map / which map to move to
- render map
- obtain tile properties - perhaps load them into a 2D array
- render objects

other thought -- have a 'facing tile' object to see collisions before they happen
* Implementation
** User Interface
A simplistic design would be as follows:

:   .                                                   .
{'fraction_non_alphanumeric': 0.06585458698134755, 'fraction_numerical': 0.014084507042253521, 'mean_word_length': 3.484641638225256, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1241370', 'n_tokens_mistral': 705, 'n_tokens_neox': 651, 'n_words': 336}