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.