-
Notifications
You must be signed in to change notification settings - Fork 0
/
dev-notes-bwj8.txt
99 lines (75 loc) · 3.42 KB
/
dev-notes-bwj8.txt
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
4/6/2022
Test out the concept of the player ship having energy gems follow behind with a little lag.
Energy gems result after a satellite piece has been obliterated.
DONE * Create Room with space background
DONE * Create Ship sprite and object
DONE * Create Energy gem sprite and object
DONE * Give Ship controls so it can fly around
** Thrust, rotate CW, rotate CCW
DONE * Position ship and gems in room
DONE * Change ship thrust and direction so image_angle and direction of movement are unhinged.
DONE * Make viewport / camera follow player
=========================
DONE * Make some satellite sprites and objects
DONE * Give satellites a parent
DONE * Put all satellites in room
DONE * Make satellites rotate
DONE * Change room size
1366 x 768 and now double that
2732 x 1536
** Some same-ratios:
683 x 384
DONE * Test current screen wrap to see if it is working.
* removed the sprite_width / sprite_height addition to wrapping.
TODO * Set origins of satellite sprite pieces.
* This will be done either at the beginning of the game, or when the satellite spawns the pieces object.
* Do this with `sprite_set_offset();``
* Or maybe just do it in the IDE
* We decided to do this in each satellite, so each is responsible for setting parameters and such of its own junk. That way when we add new satellites / if, each one is responsible for its own??
NOTE: So far we only did this for cute and hubble. The method is not DRY, and is done in the .create event.
TODO * Write a screen wrap function that we can pass instance into.
* Then call the function in player and satellite instance step events.
* NOTE: for now we have this code duplicated in step event of player and satellite base objects.
if (x > room_width + sprite_width) {
x = -sprite_width;
} else if (x < -sprite_width) {
x = room_width + sprite_width;
}
if (y > room_height + sprite_height) {
y = -sprite_height;
} else if (x < -sprite_height) {
y = room_height + sprite_height;
}
`
WAIT * Make satellite pieces
* First level of satellite being blasted by ship
* This will probably be just one object, and the satellite will spawn the object with appropriate sprite whenever satellite is destroyed.
TODO * Make player ship wrap
* Event is in there, but doesn't seem to wrap??
TODO * Make satellites wrap at edge of Room
TODO * Allow player ship to fire a missile
* Spacebar for now
TODO * Handle collision between missile and satellite
* Satellite explodes, spawns pieces
* missile gone
TODO * Handle collision between player ship and satellite
* Satellite explodes, spawns pieces
* ship gone
TODO * Respawn ship after destruction
* Pause
* Check for safety first
================================
== Later
================================
* Consider making center of satellite sprites off a bit, so they rotate in a funny way suggesting they are decrepit.
TODO * Have ship check circle for collisions with gems
** Make list of the collided gems in the circle
collision_circle_list(x1, y1, rad, obj, prec, notme, list, ordered);
TODO * Tell collided gems they are now being sucked in, so they can just have this STATE behavior in their Step event therafter.
BOOL is_captured
or
STATE captured, free, recycling, evil
TODO * Possibly prioritize collided gems in order from closest to furthest, so each gem knows which gem is their parent they are supposed to get behind.
** list belonging to player, of captured gems.
** captured_gems[] has their id's
** each gem has ID of the object it is supposed to be following