-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfeatures.todo
162 lines (136 loc) · 7.43 KB
/
features.todo
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
###########################
# #
# FIXES #
# #
###########################
COORDINATE IMRPOVEMENTS
Have a way to clearly call "map coordinates" and "screen coordinates"
OPTIMISATION
Fix unseen/inactive entities clogging the queue (see MONSTER AI)
Some of the entity loops could be replaced with dict lookups. Consider splitting the entities list by component. See things.todo.
DESIGN FLAW?
Is it better to kill or capture?
> The enemy should have a near-death state with almost 100% capturable chacne
> The default behavior should be to attempt to auto-cap this near-death creature
> The capture loop should have it's own key.
> Press 'x' and the next empty pokeball in your inventory is used to target the nearest enemy.
############################
# #
# ENGINE #
# #
############################
LOOK - KEYBOARD TARGETING
Add a way to snap to other targets?
########################### Primary game mechanic: combination
# # Gather monster essences
# # Combine essences for unique effects
# FEATURES # Merge essences to make entirely new ones
# # Goal: Repair ship using essence to leave planet.
# # Secret Goal : Merge all essence types into one, single essence. Then merge self with it. Ascend to Godhood.
########################### Lore: Something caused the omni-essence to split.
BIOMES
Fire-Water-Earth-Wind biome
Use two noise layers, one for Fire-Water, one for Earth-Wind. Middle is "normal" with generic materia.
Fire: Volcanic Wastes
Has very few sight-blocking props
Has some impassable terrain (open gorges)
Fire-Earth: Bursting Magmatic Activity
Has magma bursting through the terrain.
Still has some standing trees.
Earth: Lush Forests
Has many trees and bushes.
Earth-Water: Rain Forests
Tiles:
Has huge trees, but not much else
Water: Tropical Shallows
Tiles: Water, Sand, Mangroves
Mostly covered in passable shallow water.
Has low bushes taking up most up large amounts of space
Water-Wind: Marshes
Tiles: Cat Tail, Standing Water, Mud
Has a lot of cat tails and such.
Wind: Expansive Grasslands
Tiles: Tall Grass, ???
Has almost no sight blockers.
Fire-Wind: Barren Desert
Tiles: Sand, Cactus
Has almost no sight blockers.
HIDDEN EFFECTS
Roguelikes are built on random.
> At gen, creatures are given a random essence.
> Essences must be identified, either through use or other means. (Could include an essence that identifies items)
> Is there a way to reliably/intelligently randomize the effect of combined essences?
ESSENCES
Previously materia.
Essences can be combined for effects, or merged into one... the merger can give something entirely new.
Essences can be merged with themselves to produce higher levels.
Assume Fire and Water make Steam.
Fire and Fire make Fire2. Fire2 and Fire2 make Fire3. Etc.
Fire2 and Water make Steam. Fire2 and Water2 make Steam2.
Have different "trees" of essences. Fire-Wind-Earth-Water, Virtue-Bane-Yin-Yang(?), etc.
Mergers can only happen within a tree. Once an entire tree is merged, it may merge with other entire trees. Merge 'em all.
Combinations can be done across trees. So Fire-Virtue would produce effects, but not be mergable.
Possible trees: Fire-Wind-Earth-Water ; Gravity-Electric-Weak Nuclear-Strong Nuclear ; Virtue-Bane-?-? ;
Possible tree: WUBRG+C.
MONSTER/ENTITY CONSUMPTION (GAMEPLAY FOCUS)
When captured, monsters should be either converted to materia or trained to be a companion
> Have a new consumption menu state. Access this state via na item in the inventory, or a special key
This avoids having an additional prompt when throwing the pokeball to release the pokemon
This state could be used for other management things too...
> When consumed, create a new item based on the stats of the caught entity
All entities could have innate materia powers. Some could be very basic, some could be quite advanced.
Items by default could grant no power at all; instead, the materia embued within grants it power.
> Armor would have life-materia and strength-materia, giving you +hp and +armor.
> Weapons would have stength-materia, giving it +power
> Putting in a electric-materia or a fire-materia would give it chain-lightning or burn damage
> Have both fire and electric in one weapon could give an explosive chain lightning
Materia could be combined in powerful ways, and sometimes be even impracticaly powerful in certain items.
> The example above about explosive-chain lightning would be terrible in melee, but fantastic in range.
MONSTER AI
Monsters should "sleep" until they are roused by the player.
> The monster will have an "awake" bool. If it is awake, it is added to the queue.
> Have a "sleeping entities" list that monsters are moved to and from
A greater variety of AI should be added.
> Herd AI, that wants to stick together
> Hunter AI that wants to stalk and kill
* Have a way of choosing a target
> Territorial AI that will attack, but not chase
* Spawn a map tile that is "home", and a radious around home is "territory".
> Scavenger AI that will avoid contact, but be found near corpses or loot
STEALTH/DISCOVERY
Have a chance of not seeing the monsters, despite them being there.
COMPANION AI
Create an AI for a monster that is your friend.
> Idle behavior is to stay within your radius (leash)
> Attack behavior is to kill things that are within its radius
> Retreat behavior is to return to owner if hp is low or if distance is too great
Adapt Monster AI to also target companions
COMPANION UI
Include some sort o UI panel for tracking companion hp and name. (And behavior?)
> It could be very few lines in the top left. The name, hp/max_hp printed over the health bar.
MONSTER SPAWNING
Reevaluate how monsters spawn. It might be too random now.
> Different monsters could have spawning behavior based on their AI
> Herd monsters spawn in herds, Hunters spawn alone, Territorial could vary per monster
MONSTER IVS
Monsters should spawn with a variation to their stats.
ENDGAME:
Goal of the game is to find parts to spaceship in order to leave
> The propulsion mechanism needs to be found
> Fuel for the propulsion needs to be made
> Fuel will consist of materia from converted enemies.
TARGETING CONTROLS
Have keyboard targeting controls
LOOK
Add a "look" command to replace mouse looking
TOROIDAL MAP
The map should loop around the x- and y- axis. No borders, but not infinite.
BREEDING/TERRAFORMING
Is this how to get super dense materia?
There is no male female, any entity can breed with any entity. How alien.
TERRAIN
Terrain shoudl also have tiles, like other classic roguelikes.
COLOR CHOICE
Tiles have their own colors decided ahead of time.
Messages should have their colors decided too.
> Good, Bad, Informative, etc.