Non functional requirements - wladekpal/The-Lazy-Snek GitHub Wiki
Non functional requirements
Understandability
Goals in each level should be easily understandable and clear.
It should be easy to understand what each of the game mechanics do.
Block texture should intuitively determine its behaviour.
Learnability
User should be able to learn different interractions between the blocks and game objects. Outcome of those interractions should be replicable.
Mechanics should be added to a game in such a way that they are not confusing and overwhelming.
Efficiency
Game should feel responsive and smooth.
Loading levels, after selecting them from menu should happen fast.
Legal aspects
Resources used in creation process should be freerly available and not protected by copyright.
Creating graphic files used in game should be part of development proccess to avoid using resources protected by copyright.
Development process:
Game should be developed in such a way, that adding new features, blocks, snakes, fields or level types doesn't require major changes in already written code.
New mechanics should only implement few functions from engine components interface. If any new mechanic requires additional changes in engine components, these changes should only be extensions, especially they should not require modyfing already implemented mechanics.
Code should be written in clear and self-descriptive way.
System requirements:
Required RAM: 250 MB
Required disk storage: 100 MB
Game should run on Windows, Linux and OS X operating systems.
Availability
Game should be run either by executing python script or executable file.