-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeveloper notes.txt
More file actions
47 lines (34 loc) · 1.78 KB
/
developer notes.txt
File metadata and controls
47 lines (34 loc) · 1.78 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
Developer Notes
Current development stage:
level design basics complete, lacks animated tiles
and tiles with functionality for each level
player movement mostly complete. some minor bugs.
The base game is still far from finished, like no main menus, or other ui elements, or content.
Level Design:
levels designed with Tiled and pytmx.
all tiles in "collision_layer" have bounding boxes taken from "tile_rect_list.PICKLE",
made with "tile_collisions.py"
all world tiles must be in same tilemap, when updating the tilemap, update the .tsx file also.
Types:
1) normal rects,
2) steps, are normal rects but 4 or less px high.
this tile will not stop x collision but do y collision as normal, making the player jump up the tile
with no speed loss.
3) stairs: they are special tiles with multiple rects to act as stair steps.
4) slopes: they are simmilar to steps as in they don't ineract with x collision, but they put the player on the slope
corresposing to where the relative x pos of player is to the slope.
slopes for now can only interact with the player on the slant edges and not the full sides.
slopes are a bit buggy, especially when colliding with other tiles.
Tile Rects maker:
script "tile_collisions.py" takes a tilemap and has vars for tile size and others.
it goes through every tile and lets you save a custom rects for each in a list where
the index corresponds to the tile pos in the tilemap.
```
01234
56789```
ADD functionality to objects:
like a button
add class to "level_object_funcs.py" with naming convection "level_{lvl_no}_id_{id}"
if there are mutiple of these objects in one class use incremented id: 0-inf.
any blocks that need to be changed in code like normal button to pressed button.
you need to have that tile in layer "replace_tiles" and hide them, this will load that tile (pytmx)