===== R A S E N S C H A C H ======
Single player, mouse controlled soccer game with simple graphics and flexible,
extensible AI. Based on the Yampa arcade and Gerold Meisinger's Yampa/SDL stub.
Backlog:
=================================================================================
No. T A S K S T A T E
=================================================================================
1 graphics rendering for ball and player done (basics)
---------------------------------------------------------------------------------
2 FRP version of Finite State Machine done (basics)
---------------------------------------------------------------------------------
3 basic FRP feedback loop done (basics)
---------------------------------------------------------------------------------
4 rendering for game object (score and game time) done (basics)
---------------------------------------------------------------------------------
5a basic version of player FSM done (basics)
---------------------------------------------------------------------------------
5b basic version of game FSM done (basics)
---------------------------------------------------------------------------------
6 "kickoff-situation": players move from sideline done (basics)
to pre-kickoff base position
---------------------------------------------------------------------------------
7 add sound to player and ball action done (basics)
---------------------------------------------------------------------------------
8 basic mouse and keyboard input events (see Yampa done (basics)
arcade parser)
---------------------------------------------------------------------------------
9 single player moves around based on input events done (basics)
---------------------------------------------------------------------------------
10 add ball control to 9 done (basics)
---------------------------------------------------------------------------------
11 add shooting to 10 done (basics)
---------------------------------------------------------------------------------
12 add another player to 10 done (basics)
---------------------------------------------------------------------------------
13 add "on key down"-FSM to parser done (basics)
---------------------------------------------------------------------------------
14 add "take ball from other player" to fsms done (basics)
---------------------------------------------------------------------------------
15 define core player (base for AI and user player) done (basics)
---------------------------------------------------------------------------------
16 add bounce logic to player collision done (basics)
---------------------------------------------------------------------------------
17 define team objects (which will compute AI orders) done (basics)
---------------------------------------------------------------------------------
18 add team membership and position to player object done (basics)
---------------------------------------------------------------------------------
19 define bouncing logic for goal post later
---------------------------------------------------------------------------------
20 add stunning logic (probably on hard collision?) later
---------------------------------------------------------------------------------
21 send proper messages on goal, out (side, end) done "simple events"
---------------------------------------------------------------------------------
22 set up new game afer goal or out (simplistic) done "simple events"
---------------------------------------------------------------------------------
23 enhance offensive ai: shoot on goal when free sprint "playable version"
---------------------------------------------------------------------------------
24 enhance defensive ai: attack when near own goal later
---------------------------------------------------------------------------------
25 add goalie (own player object?) later
---------------------------------------------------------------------------------
26 add proper throw in (ball behind player's head) done "simple events"
---------------------------------------------------------------------------------
27 selection of "designated player" by mouse later
---------------------------------------------------------------------------------
28 new key action: pass to designated player done "playable version"
---------------------------------------------------------------------------------
29 new key action: pass to running player (aim ahead) later
---------------------------------------------------------------------------------
30 write TH parser for AI commands later
---------------------------------------------------------------------------------
31 proper FSM for game object done "simple events"
---------------------------------------------------------------------------------
32 render something nice for designated receiver later
---------------------------------------------------------------------------------
33 new key action: switch to nearest player later
---------------------------------------------------------------------------------
34 pause and resume game action later
---------------------------------------------------------------------------------
35 enhance offensive ai: pass to better positioned later
player
---------------------------------------------------------------------------------
36 add multiple round mechanism a la Yampa Arcade: done "simple events"
new round would be entered on kick off
---------------------------------------------------------------------------------
37 controlled player can also throw in (very basic) done "playable version"
---------------------------------------------------------------------------------
38 AI action: throw in done "simple events"
- compute spot for throw in
- aim for this spot (not throw in immediately)
- throw in and resume play
---------------------------------------------------------------------------------
39 Bug: when ball goes out of bounce, and then ai done "simple events"
player touches it, then other team won't take it
---------------------------------------------------------------------------------
40 Bug: when player throws in, he immediately retakes done "simple events"
the ball since he is in the way of the ball...
---------------------------------------------------------------------------------
41 Hack: on base out, throw in near the base line done "playable version"
---------------------------------------------------------------------------------
42 display controlled player blinking done "playable version"
---------------------------------------------------------------------------------
43 controlled player can also kick off done "playable version"
---------------------------------------------------------------------------------
44 display goal event and score sprint "playable version"
---------------------------------------------------------------------------------
45 fix meterToPixel stuff (y axis kind of weird) done "playable version"
---------------------------------------------------------------------------------
46 player who kicked off or threw in etc. can not be later
the first to touch the ball again
---------------------------------------------------------------------------------
47 controlled player can aim for throw in (follow up later
to 37)
---------------------------------------------------------------------------------
48 if controlled player throws in, then stop other later
player moving_to_throwin from grabbing the ball
---------------------------------------------------------------------------------
49 Bug: if team consists solely of non AI players, later
this line in ObjectBehaviour / player blows:
let np = nearestNonAIPlayer myTeam vss pd
---------------------------------------------------------------------------------
50 Bug: if kick off goes directly to side out, no one later
throws in and the state remains "GSRunning" instead
of GSSideOut
---------------------------------------------------------------------------------
51 for test, it would be good to have an editor of sprint "refinement"
some kind for game situations (player position,
heading and speed, dito for ball)
---------------------------------------------------------------------------------
Taglist:
=================================================================================
T A G C O N T E N T S
=================================================================================
RSSP-0.0.1 basics
"simple events"
---------------------------------------------------------------------------------