-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathProgramPlan
More file actions
105 lines (93 loc) · 5.69 KB
/
ProgramPlan
File metadata and controls
105 lines (93 loc) · 5.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
Comments from class:
Civil war reenactment game of battle of Gettysburg
Choose what side – at beginning
Stats atticuted – map, basic layout, number of people
AI program – as way other team acted historically
Or against other people
Set bataltions in positions want to go – press go
Every few realistic hours, can move them around – animation as plays through – until one side surrenders or annihilated
If you win the battle, say whether free slaves or not
Winner not predetermined – unless both AIs playing against each other
4-day battle – cycle – can have speed settings
Give orders move often, put general near regiment (can edit more frequently)
So long because – union army general blocks away (could only get messages out every four hours)
Game play layout: turn-based
Vertical, 2D map, have on terrain that is ghettysburg
Basing AI on historical data – player deviates – AI if they’re over there, we’ll go over there and attack (responsive AI that still follows basic strategies they used)
If do something random, AI might not be able to reaction properly
Type of forces: cavalry, artillery, infantry (you are the general, have different regiments separately)
Cannons for artillery – actual placement, but can move them (cost shells, take more time)
Always same starting position (can’t add in units from either side – everyone starts same, historically accurate)
Board game
Can add variety by adding battles (others)
If do what union did (exactly) – always win
One mode: historical
Zoom out – see entire hill
Can choose to zoom in – like total war
Enough of where battlefield was, possibly little outside it
Blocks of color – for each regiments
Nothing smaller than regiments
Drag units – location where go
Checkpoints – go here and then here; drag path (time period – each move an hour, two hours; limit distance)
Inventory – amount of ammunition for cannons, food (if can’t continue to feed them) (union faster rate of food than confederacy – can have bar)
What is ingame hour – shortened; depend on how well do against historical AI – minute per hour
Could fast forward – rest for 1 hour – can choose to add
AI for each regiment – scout, alert
How does sleep play in – exhaustion? Regaining health bonus (health bar)
How much damage can take – food, sleep, morale (could desert)
Number of rations – 1 ration to entire regiment (that feeds) – don’t worry about micro
If fancy – could buy time, food
In one term – fire off ten cannon shells, can send out orders (can take amount of time to have them implemented) - no disobeyed orders?
During your turn: pause in time, move people around GO
Your guys move for hour; while their guys move for hour
Only after both hit go – everyone moves, but can’t give orders now – after hour (freeze) – give more orders
If freeze in middle of battle – have people support; retreat
General only one who can give orders
Alcohol – for morale boosting?
Medics – x healthy, y wounded, z dead
Class Organization:
Player Class:
Controls and commands Regiments (or maybe just one Regiment!)
Access the map through the MapManager
Has a regimentSelected field (Regiment *) that will be nil if nothing selected
MapManager Class:
Gets updates from Regiments
Has a Board object
Displays/updates display on screen; remembers previous display and doesn't change things unless prodded by Regiments
Where are the regiments?
Where they going?
Are they alive?
etc.
Handles IO-getting (user touch/click) -> hands to Player
Board Class
Subclass of MapManager
2D array of Tiles
Tile Class
Subclass of Board
Has floats elevation, combatMultiplier, movementMultiplier
Has string terrain; for display purposes only
Has location in array, which is the index (int, int)
Regiment Class
Owned by a Player
Can send update messages to MapManager (I'm now over here/dead/moving/whatever)
Has fields for health, combatStrength
Has fields for location, currentVelocity, maxSpeed
Can moveTo location and attack other regiments
Location is (float, float), where integer part is the index (which tile you're on) and the fractional part is the location within the tile
INFORMATION COLLECTED FROM INTERVIEW:
Regement>Brigade>Division>Corps>Army (each had three times the amount as the group before, except a regiment has 800 men starting, and is considered defeated with 100 men)
Types of Infantry Arrangments: Skirmish Line (everyone in one line), 2 deep (only broken by artillery.
Types of Firing Patterns: Volley (everyone at once), Front then Rear, Wave. Muskets had a range of 250 yards
Cavalry Attacked with sabers, and were only effective in close range.
Infantry beats Cavalry, Cavalry beats artillery, Artillery beats infantry.
Cannons usually shot 3 shells per minute, but could go “Double Canister, No Sponge” to go faster, but risk explosion. range of 1000 yards.
3x Offense = 1x Defense
Necessities: Ammo>Water>Food
Time Delay between getting orders to the troops was longer the higher up the orders were from. Time also was longer for information to pass through the Confederacy than the Union.
IDEAS FROM INTERVIEW:
Title: “Double Canister, No Sponge; a Gettysburg Experience”
Levels: Play as Colonel and move up through the ranks commanding more and more people.
Focus: Only work on the first day’s battle (killer angels), possibly incorporate the other 2 days in later iterations.
OTHER THINGS TO MAYBE IMPLEMENT:
two guns were considered a section
each infantry corps was supported by one artillery brigade