Skills and Attacks

Since the last client blog post, lots of work has been done on the groundwork for attacking, skills, and taking damage from mobs. Additionally, more networking progress has been made, including a bunch of bug fixes and the ability to see other players. There's also a handful of other minor details that were added, including a window icon and the map fade transition, bringing the client slightly closer to feeling like a finished product! # Networking To start off, some of the bugs that were in the previous blog post's client video have been fixed, such as NPCs not spawning, appearing flipped incorrectly, and falling through their spawn platforms (which will be showcased in the client video in this post later on). Players are now also visible to each other (along with their equipment), and movement packets are properly relayed. To mimic the real client, the imposed 500ms delay was added. Later on, we will likely be experimenting with low latency movement packets to reduce that delay. Here's a quick video showing the different stages of the movement packet implementation. <iframe width="1280" height="720" src="https://www.youtube.com/embed/e5HfqW8XCqM" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> **Movement work video** # Attacking and Skills + Taking Damage Along with movement, implementing basic attacking and skill support took up the bulk of development time (and of course, making mobs show up and move). Trying to replicate the real client's skill casting took longer than I would have liked, but I'm happy with the result so far. So far, basic skills function correctly for the most part, while skills with unique behavior aren't implemented yet. Attacking and skills have a lot of details to consider, such as: - Delayed damage (e.g. brandish has two lines of delayed damage lines, shout plays the animation prior to dealing damage, etc.) - Showing skill effects properly - Knocking back monsters (and showing hit animation) ...some of which haven't even been implemented yet: - Support for skills with special logic, such as Rush (only works with mobs nearby) - Meso Explosion - Movement skills (Flash Jump, Teleport) - ...and a bunch of other skills Along with using skills, attack-based skills and basic attacks properly search for nearby monsters in range and deal damage (which is currently just hardcoded to 12345, no actual calculation is done yet). The player also gets knocked back when hit by a monster, but no damage is shown yet either. Map obstacles are currently loaded, but don't deal damage to the player yet. To finish off, here's a video of the current client. There's a few issues present (namely the player hitbox needs some tuning and remote player movement is a little bumpy at times), but as usual, they will be fixed with time. <iframe width="1280" height="720" src="https://www.youtube.com/embed/aLag3mI0sHY" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> **Current client progress** # Bugs Starting from this post, we'll sometimes be including videos/screenshots of entertaining bugs that were encountered during development. The best bugs are typically related to rendering, since one small bug can cause strange things to happen. Both of the bugs below were caused when skill support was being implemented, as some of the core texture rendering code had to be changed a bit. ![](https://playselene.com/files/images/website/devblog4-bug1.png) **When you completely break basic texture rendering…** <iframe width="1280" height="720" src="https://www.youtube.com/embed/-aJLztcKL98" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> **...and when you break animation timing…** ![](https://playselene.com/files/images/website/devblog4-bug2.png) **High DPI handling seems to have broken as well for maps…** # Shutting Down Helios For those of you who have been with us since Helios, the Helios game server has actually been running up until now. Since the server hardware's rental period is about to expire, I hopped on and grabbed a screenshot of the server's stats for posterity. While we'll obviously be testing Sequoia more throughout the alpha and beta phases of Selene, Helios helped us to identify and fix a number of bugs, increasing the overall stability of Sequoia for the future of Selene. ![](https://playselene.com/files/images/website/devblog4-helios.png) **108 day uptime!** # Conclusion From here, the main focus will be implementing more combat support, including mob skills and attacks, along with actually dealing/taking damage, dying, dropping items, and so on. See you next time!

Back