1
0
Fork 0
Commit Graph

292 Commits

Author SHA1 Message Date
Timothy Warren 98407d2c77 Spawn items from JSON data 2021-12-23 11:38:37 -05:00
Timothy Warren 70494d8122 Start of data-driven design (Section 4.2) 2021-12-23 11:00:37 -05:00
Timothy Warren cb2839733b Complete section 4.19 2021-12-17 16:54:36 -05:00
Timothy Warren f749d9a9e5 Create camera, and adjust drawing code to render arbitrary size maps 2021-12-17 16:35:30 -05:00
Timothy Warren 6af7476c51 Tweak door behavior, completing section 4.18 2021-12-17 14:31:39 -05:00
Timothy Warren 1e969db5b0 Allow doors to be opened 2021-12-17 14:23:36 -05:00
Timothy Warren a2cdf9e4cd Fix formatting of prebuilt rooms 2021-12-17 14:21:26 -05:00
Timothy Warren ae3f83b544 Make doors opaque, and block the way 2021-12-17 14:07:14 -05:00
Timothy Warren d028065a4a Spawn doors 2021-12-17 13:53:14 -05:00
Timothy Warren 2b91cbcc8f Restore randomness, and complete section 4.17 2021-12-17 11:33:21 -05:00
Timothy Warren 75d9af0562 Add ability to spawn items and enemies in corridors 2021-12-17 11:29:16 -05:00
Timothy Warren 132d1dac62 Track corridor tile locations, and update corridor builders to update the map builder state 2021-12-17 11:14:41 -05:00
Timothy Warren 5cbd914a98 Add straight line corridor builder 2021-12-17 10:57:03 -05:00
Timothy Warren ac8b70af2b Add nearest neighbor corridor builder 2021-12-17 10:44:35 -05:00
Timothy Warren f281a8be7a Add circular room builder, and finish section 4.16 2021-12-16 16:23:38 -05:00
Timothy Warren d7b617474f Create basic room drawer 2021-12-16 16:07:33 -05:00
Timothy Warren 2ef1f3e1c8 Make map building random again, completes section 4.15 2021-12-16 14:26:50 -05:00
Timothy Warren 939996c71e Expand Room sorter with more options 2021-12-16 13:48:36 -05:00
Timothy Warren b0b154c8d7 Decompose bsp_dungeon builder into rooms, corridors, and sorting 2021-12-16 13:26:48 -05:00
Timothy Warren 23dfbeeeb9 Split corridor creation from room creation for simple_map builder 2021-12-16 11:38:53 -05:00
Timothy Warren 9ef557d938 Update random_builder function with temporary setup 2021-12-15 15:51:01 -05:00
Timothy Warren 099f373ee8 Add room_exploder and room_corner_rounder map filters 2021-12-15 15:50:17 -05:00
Timothy Warren 74fcc25b8c Make dla and drunken map builders implement MetaMapBuilder trait 2021-12-15 13:58:47 -05:00
Timothy Warren ee9e96e828 Implment MetaMapBuilder for Cellular Automata map builder 2021-12-15 13:50:27 -05:00
Timothy Warren 8249622a3e Complete section 4.14 2021-12-15 12:08:44 -05:00
Timothy Warren ee5e690180 Clean up unused use statements 2021-12-15 12:08:23 -05:00
Timothy Warren fc0843847e Finish refactoring of map builders 2021-12-15 11:36:17 -05:00
Timothy Warren 71a07b301c Refactor waveform_collapse map builder to use Rust builder pattern 2021-12-15 11:07:19 -05:00
Timothy Warren 8a596bf93c Refactor voronoi builder to use Rust builder pattern 2021-12-15 10:57:30 -05:00
Timothy Warren db1c4c2d44 Refactor some voronoi-based builders to use Rust builder pattern 2021-12-15 10:45:58 -05:00
Timothy Warren a6d37bf0dc Refactor voronoi map builder to use Rust builder pattern 2021-12-15 10:08:05 -05:00
Timothy Warren 3f692846f8 Refactor bsp_interior map builder to use Rust builder pattern 2021-12-14 17:39:24 -05:00
Timothy Warren ec6e44477b Refactor bsp_dungeon builder to use Rust builder pattern 2021-12-14 17:29:44 -05:00
Timothy Warren 541421eb5b Refactor simple map builder to use the Rust builder pattern 2021-12-14 16:29:36 -05:00
Timothy Warren 9d97f3bd0d Complete section 4.13 2021-12-14 14:16:18 -05:00
Timothy Warren 99d5a78512 Fix some linting issues 2021-12-14 14:15:22 -05:00
Timothy Warren cce44f78f4 Finish Prefab map builder 2021-12-14 11:19:03 -05:00
Timothy Warren 5454dd0755 Add initial room vaults 2021-12-13 15:22:59 -05:00
Timothy Warren 9ff645066b Reorder use statements 2021-12-10 20:16:48 -05:00
Timothy Warren ce3d92bfe2 Complete section 4.12 2021-12-10 16:35:09 -05:00
Timothy Warren 28692ec50c Refactor entity (Enemy, Item, Equipment) spawning 2021-12-10 16:34:11 -05:00
Timothy Warren 8bf63ad876 Add ability to load string map in the prefab map builder 2021-12-10 15:17:51 -05:00
Timothy Warren db168dc01a Use named submodules instead of mod.rs submodules 2021-12-10 14:36:27 -05:00
Timothy Warren baec7dbee1 Refactor prefab_builder into a folder 2021-12-10 14:29:03 -05:00
Timothy Warren def589086c Create prefab_builder 2021-12-10 11:31:39 -05:00
Timothy Warren 54e9e684e7 Cleanup some code for the start of Section 4.12 2021-12-10 11:30:58 -05:00
Timothy Warren 9879fa30b6 Complete section 4.11 2021-12-09 11:34:46 -05:00
Timothy Warren 0bc9e1a938 Add a layout solver to the waveform_collapse map builder 2021-12-09 10:31:43 -05:00
Timothy Warren 5fcc22ab6a Add constraints and common submodules to waveform_collapse map builder 2021-12-08 15:31:52 -05:00
Timothy Warren 3ce4994417 Generate a map from a REX Paint file 2021-12-07 15:13:02 -05:00
Timothy Warren 5c78512002 Complete section 4.10 2021-12-07 14:55:39 -05:00
Timothy Warren 616f75f6a5 Complete section 4.9 2021-12-07 10:36:41 -05:00
Timothy Warren d0c4f9b8c2 Extract symmetry and brush size functions from DLA map builder 2021-12-07 10:23:52 -05:00
Timothy Warren 9b4953be7d Add DLA map building algorithms, finishing section 4.8 2021-12-07 10:17:13 -05:00
Timothy Warren 5e147b40c2 Complete section 4.7, using maze generation to build a map 2021-12-06 15:49:40 -05:00
Timothy Warren d01a60f8fb Finish section 4.6 2021-12-06 14:23:35 -05:00
Timothy Warren b24bf3562c Start section 4.6 2021-12-03 19:33:56 -05:00
Timothy Warren 545deb24d8 Generate map with cellular automata, completes section 4.5 2021-12-03 15:55:07 -05:00
Timothy Warren e8c03b9536 Add corridors to the bsp interior map builder, completing section 4.4 2021-12-03 14:15:17 -05:00
Timothy Warren c38a8f1629 Implement start of BSP Interior map builder (Section 4.4) 2021-12-03 10:00:19 -05:00
Timothy Warren 731e6dd243 Fix some clippy warnings 2021-12-02 15:03:55 -05:00
Timothy Warren 0f8d4d8fab Randomly choose which map builder to use 2021-12-02 15:00:06 -05:00
Timothy Warren 86d46b8d5b Fix some minor component issues 2021-12-02 14:59:35 -05:00
Timothy Warren 37b042e434 Add BSP map builder 2021-12-02 14:59:00 -05:00
Timothy Warren c7cd65af7a Add some convient trait implementations for the Position component 2021-12-01 15:25:48 -05:00
Timothy Warren e55218c325 Make map setup more DRY, add map generation visualizer, completes section 4.2 2021-12-01 14:45:27 -05:00
Timothy Warren 713c3f6fb8 Complete section 4.1 by removing rooms from Maps 2021-12-01 12:08:14 -05:00
Timothy Warren feb7988f5f Move map builder state into map builder 2021-12-01 12:03:49 -05:00
Timothy Warren 6b48111a97 Move more map procedure stuff into the map builder 2021-12-01 11:41:29 -05:00
Timothy Warren 7f8c16a79f Refactor map generation to return original player position 2021-12-01 11:02:39 -05:00
Timothy Warren 8bb6bf35d6 Refactor map generation into its own submodule 2021-12-01 10:47:41 -05:00
Timothy Warren 06e7311523 Complete section 3.7 2021-12-01 10:14:30 -05:00
Timothy Warren 4011e7d7d3 Make single-activation traps work 2021-12-01 09:46:34 -05:00
Timothy Warren 804904dd4b Add a basic hidden trap mechanism 2021-11-29 16:00:07 -05:00
Timothy Warren 32874bf9f5 Fix main menu selection if there is no save file. Also remove redundant variables and returns 2021-11-29 15:10:56 -05:00
Timothy Warren 1f8869879c Add background image to main menu 2021-11-29 14:59:46 -05:00
Timothy Warren d0b0a84984 Add item to reveal current map, completes section 3.5 2021-11-29 14:39:15 -05:00
Timothy Warren 3effbdb586 Use less redundant code style with 'if let' statements 2021-11-19 19:52:15 -05:00
Timothy Warren 87d825276e Finish section 3.4 2021-11-19 11:31:27 -05:00
Timothy Warren 69194a2dd6 Slightly simplify adding entries to game log 2021-11-19 11:30:25 -05:00
Timothy Warren 81f64b07a6 Add rations, and the ability to eat them 2021-11-18 15:25:29 -05:00
Timothy Warren 7b93ecc26c Show hunger status 2021-11-18 11:47:57 -05:00
Timothy Warren 950c0a3ef1 Arrange key mappings in a bit more intuitive order 2021-11-18 10:56:51 -05:00
Timothy Warren b9e499b421 Add additional set of controls for diagonals 2021-11-18 10:48:14 -05:00
Timothy Warren e0f3b7c255 Make sure all numpad inputs are mirrored on the number row, so that Mac OS works with numpad controls 2021-11-18 10:32:50 -05:00
Timothy Warren c490ab114b Implement the hunger system 2021-11-18 10:28:49 -05:00
Timothy Warren 15a0f1779c Add HungerClock component 2021-11-17 16:23:01 -05:00
Timothy Warren c4db6f5932 Make import style more consistent 2021-11-17 16:08:46 -05:00
Timothy Warren a973e6a444 Complete section 3.3 2021-11-17 15:55:48 -05:00
Timothy Warren 5bd85f5d86 Add particle effects for item usage 2021-11-17 13:50:55 -05:00
Timothy Warren 1dd5db42f7 Add particle effects for Melee combat 2021-11-16 11:33:58 -05:00
Timothy Warren c4bc637c79 Fix wall drawing bug and get rid of clippy warnings 2021-11-16 10:45:39 -05:00
Timothy Warren a198fe1832 Implement bloodstains 2021-11-16 10:28:05 -05:00
Timothy Warren b1b3105a80 Complete section 3.1 2021-11-15 14:12:27 -05:00
Timothy Warren ffc997ce20 Cleanup code structure to match the end of the first section of the tutorial 2021-11-15 13:55:31 -05:00
Timothy Warren 416af96be3 Complete the first section 2021-11-15 13:27:40 -05:00
Timothy Warren 43e9ebd52b Add some better equipment 2021-11-15 11:48:01 -05:00
Timothy Warren a2ef1810d9 Add ability to remove equipped items 2021-11-15 11:32:09 -05:00
Timothy Warren b2ed5e7758 Update dagger and shield to have attack/defense bonuses 2021-11-15 09:45:12 -05:00
Timothy Warren 4322b250cb Add ability to equip items 2021-11-15 09:19:22 -05:00
Timothy Warren f4f1800770 Complete Chapter 1.12 2021-11-12 14:12:15 -05:00
Timothy Warren 7079a7eedd Weight spawn odds, and simplify item spawning 2021-11-12 14:06:55 -05:00
Timothy Warren a51d63963f Add turn skipping and healing on skipped turns 2021-11-10 15:52:45 -05:00
Timothy Warren f6dc758f12 Complete chapter 2.11 2021-11-09 15:50:42 -05:00
Timothy Warren 57adc4bc01 Fix for WASM compilation 2021-11-09 10:49:39 -05:00
Timothy Warren 1330386b52 Fix some main menu-related code 2021-11-09 10:38:56 -05:00
Timothy Warren a307521d64 Implement game loading 2021-11-09 10:29:23 -05:00
Timothy Warren 48609aee1f Implement basic game saving 2021-11-08 13:58:40 -05:00
Timothy Warren 84934128d5 Add main menu 2021-11-08 10:22:11 -05:00
Timothy Warren 7d0200b262 Complete chapter 2.9 2021-11-05 14:32:14 -04:00
Timothy Warren 36af877217 Add Fireball scroll 2021-11-05 13:12:22 -04:00
Timothy Warren d2ebe5dc1d Implement ranged item attacks 2021-11-05 10:42:44 -04:00
Timothy Warren ef8d51de1f Cut down on some struct boilerplate 2021-11-05 10:41:47 -04:00
Timothy Warren 4e9869b09f Refactor potion, and its associated components to be more generic 2021-11-04 15:06:04 -04:00
Timothy Warren 923e0dc42b separate scope differently in the macro 2021-11-04 11:38:13 -04:00
Timothy Warren 7070fb0357 By the power of macros, reduce the amount of syntax required to register components 2021-11-04 11:27:44 -04:00
Timothy Warren cb475708c7 Rename the game log module 2021-11-04 10:44:52 -04:00
Timothy Warren 4efce51ded Fix rendering of menus by rendering before handling the RunState 2021-11-04 10:00:42 -04:00
Timothy Warren 4c84ae9822 Fix typo 2021-11-04 09:55:39 -04:00
Timothy Warren fee78663de Complete chapter 2.8 2021-11-04 09:54:38 -04:00
Timothy Warren e4be3b6855 Add ability to drop items 2021-11-04 09:40:58 -04:00
Timothy Warren cfd2ed887a Fix numpad navigation for Mac 2021-11-04 09:25:07 -04:00
Timothy Warren c6abd497a1 Clean up modules and their use statements in the main file 2021-11-03 16:04:36 -04:00
Timothy Warren 14895dac8f Allow drinking of potions 2021-11-03 15:59:23 -04:00
Timothy Warren 0ac2226947 Start of inventory system 2021-11-03 15:11:19 -04:00
Timothy Warren 07c703f2a4 Refactor entity spawning into its own module 2021-11-03 09:55:17 -04:00
Timothy Warren ce80b34c2e Finish chapter 2.7 2021-11-02 09:25:48 -04:00
Timothy Warren a17cc6f2e6 Add basic ui with healthbar, game log, and mouse tooltips 2021-11-01 14:46:45 -04:00
Timothy Warren 598032aadf Finish chapter 2.6 2021-10-29 15:15:22 -04:00
Timothy Warren 3009aa1781 Add map blocking and diagonal movement 2021-10-29 11:11:17 -04:00
Timothy Warren 45ab89f795 Add initial monster chase mechanism 2021-10-29 10:30:17 -04:00
Timothy Warren 30b0449e99 Complete Chapter 2.5 2021-10-26 15:43:59 -04:00
Timothy Warren b8be87868e Show first monsters 2021-10-26 14:38:30 -04:00
Timothy Warren 1345248b15 Finish chapter 2.4 2021-10-26 14:23:08 -04:00
Timothy Warren 3df0d8592b First good iteration of field of view 2021-10-25 15:26:39 -04:00
Timothy Warren 8e23e09b3a Refactor map module 2021-10-25 14:23:19 -04:00
Timothy Warren cde079a029 Complete chapter 2.3 2021-10-22 14:50:04 -04:00
Timothy Warren ecff0e1ea3 Split into modules 2021-10-22 10:05:06 -04:00
Timothy Warren 7923d488ef Complete chapter 2.2 2021-10-21 14:52:03 -04:00
Timothy Warren 59a791de56 Finish chapter 2.1 2021-10-21 14:24:40 -04:00
Timothy Warren 6f65bf2420 Add first entity 2021-10-21 12:54:39 -04:00
Timothy Warren b05ccbaa7e First commit 2021-10-20 12:01:15 -04:00