-
Notifications
You must be signed in to change notification settings - Fork 12
Framework Requirements
So, what will the framework need to do? Simple. Run a bunch of minigames.
In more detail, the following are desired by the end of RapDev weekend:
1: A simple execution framework that can run any game that adheres to our interface. [check!]
2: What about resizing and window size? [needs more testing]
-
Pass in the size of the screen at game startup.
-
Games will 'deal with it'
-
Build simple scaling functions late in the weekend.
3: What about input?
-
Games self-report what keys they make use of, either full keyboard or defined subset. [check!]
-
During splash screen, report what keys the game uses. [check!]
-
Games can get an additional splash screen if more instructions seem necessary. [needs implementation?]
-
The 'esc' key should always kill any game that is in progress. [check!]
4: What about the FPS of the games?
-
Keep it simple! [check!]
-
Even more so, keep threading model (if any) as simple as possible. [check!]
5: What about game discovery / registration?
-
There will be a variety of details to self report, see below. [check!]
-
Adding into a manually maintained list of games is just fine. [check!]
6: What about game resources?
-
Have common images for player 1, player 2, and so on. [needs implementation]
-
Will want helpers for playing sound, as necessary. [check!]
-
Will want an image / animation helper to display '# of seconds remaining in the game'. [needs implementation]
-
Will want an image / animation helper to display 'PRESS THIS BUTTON NOW'. [needs implementation]
7: What about multiplayer?
-
The initial goal is single player, get that first. [check!]
-
Later addons can include the option for multiplayer. - Keep backwards compatibility! [needs implementation]
8: What about the stuff a game can self-report?
-
Number of seconds the game will take (can be a max, provide method to end early, e.g. if they die) [check!]
-
Once the game is over, a list of players and their score. [now a game mode thing]
-
The list of difficulties the game supports [check!]
-
Update methods [check!]
-
Draw methods [check!]
9: Is there anything else?
- Some simple animation helpers, even just linear interpolators, would be useful. [needs implementation?]