Another 2 weeks have passed and we have another batch of updates for CrossCode!
We covered lots of ground in the past two weeks. The equipment menu is coming along nicely, a new system has been created for the database of items, equipment etc. and we implemented the first draft of a whole new feature (read more below... actually I can't wait to tell you. The feature is: Guarding!). But wait. There is more! We also started working on the deck/bridge/cabins of the cargo ship (We even have some nice screen for it too! All WIP of course) and rewrote the complete animation system.
So... Let's Begin!
Equipment Menu and Items
The menu has been on hiccups for quite a while, but I (R.D.) finally found time to work on it again. Specifically the equipment menu that is. While working on it we figured that a new system for all the items you can have is needed. So I made a small system which makes it super easy for us to create items and give them to the player.
After this was done I returned to the equipment menu and worked on some of the elements we needed. This includes status strips which display your different parameters and additional abilities we call Modifiers and some nice buttons to select what piece of equipment you want to change. This might sound like nothing but especially the buttons took a while since I wanted to make sure the animations look awesome when switching through the different equipment slots. Here's a preview:
(We will be adding a video of the menu with better quality as soon as the equipment menu is finished). And here is the mock-up we showed some weeklies ago:
Pretty close huh? The animations really take time since I have to make sure that you can traverse through the menu without menu elements looking weird or misplaced.
Lachsen gave Lea a new move: Guarding! As the name implies this makes it possible for our hero to defend herself against hostile attacks. Guarding will reduce the damage taken by some amount, even more so for damage with the same element as yours. You guard by holding the dash button without moving. This works very similar to guarding in Super Smash Bros., so you can dash and hold down the dash button to instantly guard. Of course you can't guard forever. If you use your precious shield for too long it will break and take some time to cool off, so you have to make sure to only use it when needed. You can also counter-guard attacks (which is currently not implemented). A counter can be done by guarding right before (or while) an enemy attacks. The effect can be compared to a charged ball. Some attacks will leave the enemy in a vulnerable state when countered. Again, here is a small gif showing Lea using the new guard feature:
In this context we also had to entirely rewrite the animation system. It makes it possible for us to combine multiple animations per entity. This is used for the guarding and will also be helpful for larger enemies or bosses.
New Maps and a new way to display map content
Working towards the demo also means we have to create new maps right? Right! So we started doing just that! And along the way we found some problems that needed fixing. The first problem were walls. Yep, walls. Or more specifically the fact that you can stand behind the walls. The problem is that you can't see Lea anymore. This makes it really hard to create narrow passages and well... you can't see yourself. So Lachsen added a new type of map-layer that enables us to fade-in/fade-out parts of the map. Now if you stand behind a wall it will go transparent and let you see through it.
Another problem was the path-finding. We created a small stress-test to see how the system handles lots of entities constantly moving around. The result was that entities got stuck and would walk very close to edges. This made it look kinda unnatural, so we fixed this by letting entities walk around edges and other entities smoothly. Also when entities get stuck, they will try to step back and walk around the obstacle.
Again here is a gif showing a little piece of a new map, some NPCs and the transparent walls:
(the mapping is very simple here, it is just to give you an idea of the environment)
If you read this, you found the end!
Thanks for giving the post a read. Until next time!