db01dcea28
generate Shots on user input & reap them once offscreen
2020-11-19 17:55:27 -05:00
7695f45cc0
clamp player movement to world
2020-11-19 16:36:21 -05:00
fd4bf85d1c
add basic shmup game
2020-11-19 14:44:12 -05:00
39ac88b60a
switch back to Sneak as the default game
2020-11-16 14:43:21 -05:00
df436f8c32
TreeScene: draw a triangle
2020-07-15 15:56:56 -04:00
987c86fae9
mv World & Scene to SneakWorld & SneakScene.
2020-07-15 15:17:19 -04:00
56bc1abe06
Add TreeScene & TreeWorld.
2020-07-15 15:01:28 -04:00
9b25a8a6e0
Add new IScene interface.
2020-07-15 11:48:30 -04:00
811df57950
Make new IWorld interface.
2020-07-15 11:33:59 -04:00
c08defc656
Keep Update() from advancing by very large chunks; use more double math
2020-03-11 11:12:14 -04:00
37c679b704
move Camera into World
2020-03-10 14:38:08 -04:00
66ce866b12
move LinesOfSight into World
2020-03-09 12:19:19 -04:00
983a02b364
remove old Levels file
2020-03-08 17:28:45 -04:00
5121f6d775
World: load levels by parsing a JSON level description.
2020-03-08 17:23:51 -04:00
9672fabcfd
Add Sprite class & load sprite metadata from JSON.
2020-03-03 17:14:05 -05:00
d270efe643
move Player into World
2020-03-03 13:04:29 -05:00
65fe870a9a
let Scene decide when to draw itself & when to play music
...
GitOrigin-RevId: 0eac6682b0bbe4d436707c44d9685c1e518b8295
2020-03-02 16:47:42 -05:00
29cf5eb0c9
add short music loop to demo stage
...
GitOrigin-RevId: 7ea3d773b12341eb3eb3aabd9000cc32014faac8
2020-03-02 15:33:56 -05:00
02b1dd4874
Add simple NPC.
...
GitOrigin-RevId: 47cd7abaf80d7ced14d0b4b92390c8c0edddae1c
2020-02-28 17:13:52 -05:00
de8ca4a374
Add sword-swing sound effects.
...
GitOrigin-RevId: 946a808c6f7e96297ec291f2b8e55ae062d5193b
2020-02-27 20:24:36 -05:00
f4581ecaf8
Player now takes damage from spikes.
...
GitOrigin-RevId: e9096316218f2590aac74ce1055a0829f71bdff8
2020-02-27 19:13:59 -05:00
f8fa66385d
Display "Paused" message when paused.
...
Add a new "Banner" style font for the pause message.
GitOrigin-RevId: 62f9537574351b961d7a2bd74f12e218f1047062
2020-02-26 17:44:36 -05:00
026623ac82
Fix memory leaks of graphics resources.
...
Make Scene & LinesOfSight dispose of the graphics resources they create.
Force GC when a new level is loaded.
GitOrigin-RevId: 0640cced784e6bf5ee15f4edce8bf11d122dac51
2020-02-19 16:33:32 -05:00
b858c45b7e
Cycle through levels when player hits the "restart level" button.
...
GitOrigin-RevId: bbe909515fbc4b61be3357e506a113e82bb6e2bd
2020-02-19 15:07:55 -05:00
57d15cbbd9
Load all textures & fonts in one place.
...
GitOrigin-RevId: 076c86b24f4e4e314a52457a01d5c77e197a2fa2
2020-02-19 11:20:20 -05:00
02aba3ad84
Game objects now take in a ContentManager & load their own textures.
...
GitOrigin-RevId: 4f40548d9f100f4bad181a59f4df44397f7ccf76
2020-02-18 13:58:04 -05:00
f0ea8d8ef2
Reorganize Content/ into multiple subdirectories.
...
Add new tilesets from anokolisa.
GitOrigin-RevId: 90cfd52a3c374beff7c1b8d07899e822bdf2e541
2020-02-18 10:30:05 -05:00
7e7b0f7715
Move most of the drawing code into a Scene class
...
GitOrigin-RevId: 4515493a3bbf99b9513f2f1e66acadae1df53a5a
2020-02-17 21:08:32 -05:00
43f6bded70
draw backgrounds as partially transparent
...
GitOrigin-RevId: b570a9aab75d18e6f7778dc851537794f30d801a
2020-02-17 19:59:52 -05:00
e2ea2e1d3f
Add ability to restart the level. Fixes #9 .
...
GitOrigin-RevId: e7a0cdcdded50e2f02067a166a33e18504aac344
2020-02-16 19:22:36 -05:00
1ffe1444b2
Debug: draw rects as 4 GPU-accelerated lines.
...
GitOrigin-RevId: 3286d0476b5032d785f74191609db4fbd768433c
2020-02-15 16:32:39 -05:00
48a9297a57
draw Debug stuff on top of everything (after lighting)
...
GitOrigin-RevId: e07fbc6b27af23912de1344a1bc3788ef69fd9c5
2020-02-15 16:32:34 -05:00
5d21ff2a0f
Debug.DrawLines: use GPU to draw lines.
...
Fixes #19 .
GitOrigin-RevId: d837e0ddafa0b7ea66fea4bba05ca7412a3c5726
2020-02-15 15:47:45 -05:00
4d64d6fa12
Initialize and dispose of whiteTexture in SneakGame.
...
Fixes #7 .
GitOrigin-RevId: 024688e8fc8ed28950147baefc2fda2005e6aced
2020-02-13 18:36:48 -05:00
f01efcde01
Split LinesOfSight into separate Draw() and Update() functions.
...
Don't make new arrays every frame.
Partial solution to bug #41 , just need to DrawIndexedPrimitives() now.
GitOrigin-RevId: 0e769d3288dce17fe174b2a1d82a99b1d9994213
2020-02-13 14:55:18 -05:00
93a5d477bb
New FOV algorithm that works pretty well.
...
Saved for posterity here, approximately:
https://twitter.com/mcmillen/status/1227326054949408768
GitOrigin-RevId: e960dad1d9241c08dbf1292c6856311d4ebd7a85
2020-02-13 14:55:02 -05:00
ff0c9ddc26
Add a transformation matrix to spriteBatch.Draw().
...
Instead of having every drawable object know how to transform itself based on
the camera position, we pass in a transformation matrix to spriteBatch.Draw().
Unfortunately MonoGame only lets us specify a translation that works over an
entire SpriteBatch.Begin() call, so we need to begin & end separately for
objects that *aren't* supposed to translate at the same rate as the camera.
Fixes #39 .
GitOrigin-RevId: afab72c39236b1b46fe1597412209981ddae9c7c
2020-02-13 14:54:46 -05:00
80746ecaed
Use world definition from Levels file
...
GitOrigin-RevId: a5d19f4f0828bb52989b12590d6e364d0edd918b
2020-02-13 14:54:38 -05:00
9e4d863bcf
add performance counters to SneakGame. Fixes #33 .
...
Also, suppress drawing until Draw() has not been IsRunningSlowly for two
frames. This prevents janky behavior that happens during loading (I suspect
while texture loading is happening, but I'm not sure?)
GitOrigin-RevId: 5df31be3710457c7a8dae38b0b61c5dc50e3c54c
2020-02-13 14:54:18 -05:00
0e363de306
change player sprite to ninja
...
GitOrigin-RevId: 73bc09808a1abf1a130986adfed1d3aa6d220b5c
2020-02-13 14:53:11 -05:00
76dbdc6913
Bound camera by right edge of World.
...
Fixes #32 .
GitOrigin-RevId: e193c89509be035d5f6e899cd8c33ff2534a777f
2020-02-13 14:52:55 -05:00
50479bac3c
while paused, don't clear the list of Debug rects & lines
...
GitOrigin-RevId: d298abc6ad4d7808da927a20c726cab6a65dc61c
2020-02-13 14:52:43 -05:00
793b292a29
pass in AABBs instead of Rectangles to Player.Update
...
GitOrigin-RevId: 08fe1aaf34210415acaa41e7e407eb1275602889
2020-02-13 14:52:35 -05:00
61b50efa40
make CollisionTargets an array, and don't recompute it every frame
...
GitOrigin-RevId: 92a02231edae5729778ea9ac60a46c83e248c744
2020-02-13 14:52:03 -05:00
8c6b0e3c92
set vsync = true; setting it false seems to cause crashes on UWP
...
GitOrigin-RevId: 6f30cefcaa6c61fb0fc3b20eada333db79f4c480
2020-02-13 14:51:51 -05:00
84fa044675
more readability fixed via Visual Studio suggestions
...
GitOrigin-RevId: 330f13485cee32f3a069442bad69c57911a0a34c
2020-02-13 14:51:31 -05:00
4b14aef1b5
make a bunch of fields readonly
...
GitOrigin-RevId: 0c3533c6509a6f0199410e977d3377c34b4a753d
2020-02-13 14:51:27 -05:00
0c7c15c047
set target framerate back to 60
...
GitOrigin-RevId: 7a97b3cd07afccafab047ad81df10269360b066e
2020-02-13 14:51:23 -05:00
f5ca85264f
Add Clock class & use it from Player and SneakGame
...
GitOrigin-RevId: fe20c836ca693fdabad4ce72bfdf8952b59b735b
2020-02-13 14:51:19 -05:00
1ea4d6c39b
don't vsync; set target FPS to 120-ish
...
GitOrigin-RevId: 724e876b9ad97f515919cb150ef7be164d096367
2020-02-13 14:51:12 -05:00