Skip to content
This repository has been archived by the owner on Apr 20, 2023. It is now read-only.

Commit

Permalink
Dev QoL improvments
Browse files Browse the repository at this point in the history
- Scale speed system with global scale
- Split character utils and action system
- Move spawn points to map
- Move NPC path to map
- Fix NPC movement animations
- Add character shadows
  • Loading branch information
eth0net committed Jan 31, 2022
2 parents c4397c6 + 4cf8d03 commit 00f1244
Show file tree
Hide file tree
Showing 16 changed files with 4,729 additions and 571 deletions.
59 changes: 59 additions & 0 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# TODO List

## Planned

- [ ] Player HUD
- [ ] Magic/Weapon/Melee attacks
- [ ] Action interface to extract logic from system
- [ ] Action trees to build complex branching behaviour
- [ ] Add player detection to trigger actions
- [ ] Extend ActionComponent to support multiple schedules
- [ ] Wander action
- [ ] WanderTo action
- [ ] WalkShape action?
- [ ] Skill training system
- [ ] Interaction system for talking and looting
- [ ] Inventory system
- [ ] Shops
- [ ] Weather
- [ ] Generate new areas / NPCs
- [ ] Multiverse
- [ ] Time dilation?
- [ ] Multiplayer?

## v0.5.0 Dev QoL (WIP)

- [x] Scale speed system with global scale
- [x] Split character utils and action system
- [x] Move spawn points to map
- [x] Move NPC path to map
- [x] Fix NPC movement animations
- [x] Add character shadows

## v0.4.0 NPC

- [x] Add an NPC
- [x] Add character system

## v0.3.0 Gotta go fast

- [x] Add sprint to character controls
- [x] Fix window resizing with scaling

## v0.2.0

- [x] Add collision system

## v0.1.0

- [x] Bundle assets in binary

## v0.0.0

- [x] Add map
- [x] Add camera
- [x] Add player character
- [x] Add movement for player character
- [x] Animate player character
- [x] Follow player character with camera
- [x] Animate tiles using tilemap data
Binary file added assets/spritesheets/LightShadow_pipo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/tilemaps/fantasy1-min.tmx

Large diffs are not rendered by default.

100 changes: 83 additions & 17 deletions assets/tilemaps/fantasy1.tmx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.4" tiledversion="1.4.3" orientation="orthogonal" renderorder="right-down" width="50" height="50" tilewidth="32" tileheight="32" infinite="0" nextlayerid="18" nextobjectid="29">
<map version="1.5" tiledversion="1.7.2" orientation="orthogonal" renderorder="right-down" width="50" height="50" tilewidth="32" tileheight="32" infinite="0" nextlayerid="22" nextobjectid="53">
<editorsettings>
<export target="fantasy1-min.tmx" format="tmx"/>
</editorsettings>
Expand All @@ -14,7 +14,7 @@
</layer>
<layer id="7" name="Water" width="50" height="50">
<data encoding="base64" compression="zlib">
eJzt00EOQDAQheHpoZST4WS4WK1NQ0MaFrVphv9LXsTuTV4qAgAAAAAAvs5rWk1Xu8hLqb93IoN+G2fznl72/nnGmqUKxS3SDnniLlY2edrC2iaTZpX7G4JmqVet2BfeRxQ3meXcJRz/lra4SvdY7Q8AAAAAAP5nA6d3HVQ=
eJzt00EKgCAUhOHnobJOVp2sulitU1IyocA28uT/YDau5jEoAgAAAAAAWmZd+pChcpc/Yn9rRCa50hl994xy988zV+xVwm+R7pDH76Jhk68tNG3Syh2LyyHvN+wuW7V2ZVr4557fZJXnLnt407JFKt6jtT8AAAAAAChzAloGJik=
</data>
</layer>
<layer id="11" name="Trees" width="50" height="50">
Expand All @@ -27,30 +27,96 @@
eJzt0TEKgDAUBNFs7n9R7fQEamETsRACzocZkLX84aW31s8vxZdww4y9/6s2eqz5+6LvLXl67AXfsUUPUnqw0oOVHqz0YKUHKz1Y6cFKD1Z6sNKDlR6s9GClBys9WOnBSg9WerDSg5UerPRg9eZxva/ajh7Vl3DDjD0ALV+BYA==
</data>
</layer>
<objectgroup id="13" name="Collision">
<objectgroup id="13" name="Collisions">
<properties>
<property name="Collision" type="bool" value="true"/>
</properties>
<object id="17" name="Top" x="0" y="0">
<polygon points="32,64 1568,64 1568,86 32,86"/>
<object id="32" name="Water3" type="Collision" x="640" y="736" width="320" height="128">
<polygon points="0,0 320,0 320,128 0,128"/>
</object>
<object id="19" name="Left" x="0" y="64">
<polygon points="67.5,0 32,0 32,1504 67.5,1504"/>
<object id="33" name="Water2" type="Collision" x="672" y="672" width="256" height="256">
<polygon points="0,0 256,0 256,256 0,256"/>
</object>
<object id="20" name="Right" x="1536" y="64">
<polygon points="-3.5,0 32,0 32,1504 -3.5,1504"/>
<object id="34" name="Water1" type="Collision" x="736" y="640" width="128" height="320">
<polygon points="0,0 128,0 128,320 0,320"/>
</object>
<object id="21" name="Bottom" x="0" y="1536">
<polygon points="64,0 1536,0 1536,32 64,32"/>
<object id="37" name="West" type="Collision" x="32" y="32" width="32" height="1536">
<polygon points="0,0 32,0 32,1536 0,1536"/>
</object>
<object id="26" name="Water1" x="768" y="640">
<polygon points="0,0 96,0 96,288 0,288"/>
<object id="35" name="South" type="Collision" x="32" y="1536" width="1536" height="32">
<polygon points="0,0 1536,0 1536,32 0,32"/>
</object>
<object id="27" name="Water2" x="704" y="672">
<polygon points="0,0 224,0 224,224 0,224"/>
<object id="39" name="East" type="Collision" x="1536" y="32" width="32" height="1536">
<polygon points="0,0 32,0 32,1536 0,1536"/>
</object>
<object id="28" name="Water3" x="672" y="736">
<polygon points="0,0 288,0 288,96 0,96"/>
<object id="36" name="North" type="Collision" x="32" y="32" width="1536" height="32">
<polygon points="0,0 1536,0 1536,32 0,32"/>
</object>
</objectgroup>
<objectgroup id="18" name="Spawns">
<object id="29" name="PlayerSpawn" type="Spawn" x="832" y="544" width="32" height="32"/>
<object id="30" name="NPCSpawn" type="Spawn" x="736" y="544" width="32" height="32"/>
</objectgroup>
<objectgroup id="19" name="Paths">
<object id="47" name="NPCPoint12" type="Point" x="608" y="1056" width="32" height="32">
<properties>
<property name="Next" type="object" value="45"/>
</properties>
</object>
<object id="43" name="NPCPoint11" type="Point" x="512" y="1056" width="32" height="32">
<properties>
<property name="Next" type="object" value="47"/>
</properties>
</object>
<object id="48" name="NPCPoint10" type="Point" x="512" y="960" width="32" height="32">
<properties>
<property name="Next" type="object" value="43"/>
</properties>
</object>
<object id="49" name="NPCPoint9" type="Point" x="1056" y="960" width="32" height="32">
<properties>
<property name="Next" type="object" value="48"/>
</properties>
</object>
<object id="42" name="NPCPoint8" type="Point" x="1056" y="1056" width="32" height="32">
<properties>
<property name="Next" type="object" value="49"/>
</properties>
</object>
<object id="50" name="NPCPoint7" type="Point" x="960" y="1056" width="32" height="32">
<properties>
<property name="Next" type="object" value="42"/>
</properties>
</object>
<object id="41" name="NPCPoint6" type="Point" x="960" y="512" width="32" height="32">
<properties>
<property name="Next" type="object" value="50"/>
</properties>
</object>
<object id="51" name="NPCPoint5" type="Point" x="1056" y="512" width="32" height="32">
<properties>
<property name="Next" type="object" value="41"/>
</properties>
</object>
<object id="52" name="NPCPoint4" type="Point" x="1056" y="608" width="32" height="32">
<properties>
<property name="Next" type="object" value="51"/>
</properties>
</object>
<object id="46" name="NPCPoint3" type="Point" x="512" y="608" width="32" height="32">
<properties>
<property name="Next" type="object" value="52"/>
</properties>
</object>
<object id="40" name="NPCPoint2" type="Point" x="512" y="512" width="32" height="32">
<properties>
<property name="Next" type="object" value="46"/>
</properties>
</object>
<object id="45" name="NPCPoint1" type="Point" x="608" y="512" width="32" height="32">
<properties>
<property name="Next" type="object" value="40"/>
</properties>
</object>
</objectgroup>
</map>
51 changes: 1 addition & 50 deletions assets/tilesets/BaseChip.tsx
Original file line number Diff line number Diff line change
@@ -1,53 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<tileset version="1.4" tiledversion="1.4.3" name="BaseChip" tilewidth="32" tileheight="32" tilecount="1064" columns="8">
<tileset version="1.5" tiledversion="1.7.2" name="BaseChip" tilewidth="32" tileheight="32" tilecount="1064" columns="8">
<image source="BaseChip.png" width="256" height="4256"/>
<tile id="16">
<objectgroup draworder="index" id="2">
<object id="3" x="32" y="30.0435">
<polyline points="0,0 -2.08696,-0.0434783 -4.95652,-1 -5.95652,-2.13043 -6,-4.95652 -3.04348,-5.08696 -3,-7.91304 0.0434783,-8"/>
</object>
</objectgroup>
</tile>
<tile id="17">
<objectgroup draworder="index" id="2">
<object id="3" x="0" y="22">
<polyline points="0,0 3,0.0434783 3.04348,2.95652 6.08696,3 6.08696,5.91304 5.13043,7 2,8.04348 -0.0434783,8.08696"/>
</object>
</objectgroup>
</tile>
<tile id="24">
<objectgroup draworder="index" id="2">
<object id="1" x="31.913" y="29.913">
<polyline points="0,0 -2.08696,-0.0434783 -4.95652,-1 -5.95652,-2.13043 -6,-4.95652 -3.04348,-5.08696 -3,-7.91304 0.0434783,-8"/>
</object>
</objectgroup>
</tile>
<tile id="25">
<objectgroup draworder="index" id="2">
<object id="2" x="-4.44089e-16" y="21.9565">
<polyline points="0,0 3,0.0434783 3.04348,2.95652 6.08696,3 6.08696,5.91304 5.13043,7 2,8.04348 -0.0434783,8.08696"/>
</object>
</objectgroup>
</tile>
<tile id="32">
<objectgroup draworder="index" id="2">
<object id="2" x="-0.130435" y="21.8696">
<polyline points="0,0 3,0.0434783 3.04348,2.95652 6.08696,3 6.08696,5.91304 5.13043,7 2,8.04348 -0.0434783,8.08696"/>
</object>
</objectgroup>
</tile>
<tile id="33">
<objectgroup draworder="index" id="2">
<object id="2" x="31.9565" y="29.9565">
<polyline points="0,0 -2.08696,-0.0434783 -4.95652,-1 -5.95652,-2.13043 -6,-4.95652 -3.04348,-5.08696 -3,-7.91304 0.0434783,-8"/>
</object>
</objectgroup>
</tile>
<tile id="40">
<objectgroup draworder="index" id="2">
<object id="3" x="22.0435" y="29.913">
<polygon points="0,0 -12.087,0.0434783 -15.1304,-1.08696 -18.087,-2.91304 -20.087,-5 -20.913,-8.04348 -20.913,-9.78261 -19,-11.9565 -15.913,-13 4.08696,-12.8696 6.91304,-12 8.95652,-9.69565 8.82609,-6.82609 7.91304,-4.91304 5,-1.86957 3,-1"/>
</object>
</objectgroup>
</tile>
</tileset>
Loading

0 comments on commit 00f1244

Please sign in to comment.