This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
notes:discrete:fall2021:projects:mpg0 [2021/11/01 20:04] – [References] mpronti2 | notes:discrete:fall2021:projects:mpg0 [2021/11/11 06:23] (current) – Added information about game ticks and screens smalik3 | ||
---|---|---|---|
Line 7: | Line 7: | ||
=====Objective===== | =====Objective===== | ||
+ | |||
Using the TIC-80 fantasy console simulator on your pi, implement a playable puzzle game, making sure to make use of the following features: | Using the TIC-80 fantasy console simulator on your pi, implement a playable puzzle game, making sure to make use of the following features: | ||
Line 28: | Line 29: | ||
* craft a coherent and organized document, with information located under pertinent headings | * craft a coherent and organized document, with information located under pertinent headings | ||
* explain the fundamentals of the process, conceptual background, algorithmic approach, and you can even suggest particulars related to TIC-80 (certain functions that might prove useful- individual, unrelated snippets to do things like capturing time, or displaying text, etc.) | * explain the fundamentals of the process, conceptual background, algorithmic approach, and you can even suggest particulars related to TIC-80 (certain functions that might prove useful- individual, unrelated snippets to do things like capturing time, or displaying text, etc.) | ||
- | * to get full credit, each individual that submits must perform no fewer than 4 changes to this document | + | * to get full credit, each individual that submits must perform no fewer than 4 changes to this document as viewable from the wiki revision system |
=====Specifications===== | =====Specifications===== | ||
====Display==== | ====Display==== | ||
+ | |||
+ | ===Screens=== | ||
+ | |||
+ | As is common practice, your game may require the use of multiple screens. That is, you may want to include a title screen, death screen, and other such differing states of the game. Especially in the weeks of saf# and pnf#, it became quite apparent that the ability to present the user with varying screens was useful in order to convey relevant information as well as provide relevant functionality at different stages in the execution of our programs. This has led to the development in several examples of what may be called **stateful programs** where a variable is reserved in order to keep track of what screen should be displayed. By referencing that variable using some form of a switch statement, more organized functionality is achieved by compartmentalizing each individual screen to its own logical corner. | ||
+ | |||
+ | It is important to keep in mind how game ticks affect your ability to display different screens, what screens should be given priority? Should my screens have their own separate functions? these are important questions to ask yourself as you implement these things. It would not be wise to implement too much inside of your ' | ||
====Controls (controller)==== | ====Controls (controller)==== | ||
====Controls (keyboard)==== | ====Controls (keyboard)==== | ||
+ | |||
+ | ===Mapping System=== | ||
+ | |||
+ | The key mapping system allows for keyboard controls as well as gamepad controls to be merged as the inputs are mapped to a set of constant values. This allows we as developers to develop for both keyboard and gamepad users simultaneously without much additional consideration except for ergonomics. | ||
+ | |||
+ | For said constant values, the bare minimum would be the x and y coordinates of the player " | ||
====Controls (mouse)==== | ====Controls (mouse)==== | ||
====Audio (SFX)==== | ====Audio (SFX)==== | ||
+ | |||
+ | ===Waveforms=== | ||
+ | |||
+ | In order to achieve a more natural sound than TIC80 provides in its waveforms by default, mocking a sine wave in the SFX editor and using that for your SFX is a decent strategy. It is also helpful to mimic the attack, decay, sustain, and release pattern in the volume section, as well as to add a small amount of arpeggio. Combining these strategies, a more instrument-like sound can be acquired. | ||
====Audio (music)==== | ====Audio (music)==== | ||
Line 47: | Line 64: | ||
https:// | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
=====Submission===== | =====Submission===== | ||
+ | |||
+ | To submit the game file, our " | ||
+ | |||
+ | //Of course, if you are using the TIC-80 application on your Pi then the file will exist there when saved.// | ||
+ | |||
+ | To submit this project using the **submit** tool, run the following command at your lab46 prompt: | ||
+ | |||
+ | <cli> | ||
+ | lab46: | ||
+ | Submitting DESIG project " | ||
+ | -> GAMENAME.tic(OK) | ||
+ | |||
+ | SUCCESSFULLY SUBMITTED | ||
+ | </ | ||
+ | |||
+ | NOTE: " | ||
+ | |||
I'll be looking for the following: | I'll be looking for the following: | ||