Display Layout
With the display real-estate limits (currently 128x128 pixels) and the existing printText$Size functions in the codebase, it is desirable to define the display layout quite strictly. The easiest way to do this is lines of text output of a given height and of a given character length. Having this predefined will simplify the process of defining other data structures and functions.
Screen Layout
The PETI game screen will consist of a total of nine rows of text, arranged as follows from top to bottom:
- 1 row of 8x12 text, 16 characters wide (the "Upper Menu Bar")
- 6 rows of 16x16 text, 8 characters wide (collectively the "Playing Field")
- 1 row of 8x8 text, 16 characters wide (the "DEBUG" bar)
- 1 row of 8x12 text, 16 characters wide (the "lower menu bar")
Understanding These Elements
The Upper and Lower Menu Bar
These two rows are to be used to display system icons, along with which menu item is selected, that allow the user to access different menus within the game (feeding menu, status menu, and so forth). The exact number and use of icons is under development but could technically be as many as 32; some menu items may be more than 1 wide if practicable, for example a battery power level icon, if implementable.
The Game Field
The majority of the screen is given over to what is effectively a 6x8 cell field that can be used to display the pet itself along with other desired items. The relatively large field combined with the relatively sizeable character set available to PrintTextLarge() should lead to decent display flexability.
The Debug Bar
A thin bar - otherwise made up of waste lines - is reserved for using PrintTextSmall() to output status messages or register values when a given debug flag is set.