Update 3: The first prototype
With some of the key building blocks of my project ready, I was open for business. Business code that is. And I did go down the rabbit hole for a couple of weeks and implement my prototype (surprisingly quickly, honestly to my own surprise). The result is a multiplayer-ready version of the game with basic PvP, even more basic PvM, a couple of maps, a first character class, a first attack skill, directional arrows motion, mouse drag motion, health & death event management, basic collision handling, and basic TMX-based rendering. I don't have sound yet, the UI overlay (healthbar) is pretty bare, but it's working and a few playtesting sessions with a few friends already suggest that the core mechanics are fun enough for people to start caring and enjoying the experience, which is already far greater news than I had even hoped for. But functional content such as game code and assets are actually not enough to make a game at the professional level. This update will therefore focus on one or two of many non-functional aspects I've been working on addressing in the last couple of weeks and will have to keep addressing in the future.
PS: as my wife is producing most of the graphic assets for the game, I'm intentionally not getting into that topic in here, I want her to be able to do her own asset dev log separately if she feels like it. The only thing I'll say on that note for now is that we render 2D sprite sheets from 3D animations loaded in Blender and add them to the game through the standard Animation and Texture packages in libgdx.
So by October 29th I was able to render a first (very silly) sprite on a TMX map that I had specifically built for test purposes and managed to make the sprite collide with the walls from the tmx map:
Early attempt at moving a sprite on a map video on Youtube
By november 7th I had a much nice character sprite (thanks to my wife), I was able to disappear walls or make them less opaque, and I had basic multiplayer synchronization working:
First multiplayer interactions video on Youtube
And by mid November, I had added targeting, attacks and attack recovery, thus enabling basic combat. Now as you can see in the following git log screenshot, as I introduced a new type of Being (a first monster in fact, an ant) and started generating different sizes for it, I realized that my quickly-thrown-together collision system had some major flaws in it. I could have debugged that and fixed it right then and right there but it's at this moment that I decided I had taken the prototype far enough. I needed to start investing into a test suite and start building out the project in a way that would enable long-term, professional-grade software quality.
This is where my prior involvement in professional software publication and IT experience started to kick in a bit and I let myself go down a new rabbit hole: not only starting to write unit tests but building a full fledged continuous integration & deployment platform. I also took the time to refresh my entire tool stack, moved to IntelliJ IDEA & gradle and even upgraded to an entirely new way of building modules in java: the Java 9 JPMS modules also known as Jigsaw. I could be writing entire tech-heavy blog posts on JPMS alone, and maybe I will somewhere else, some day, because I've noticed that most people are still stuck on either JRE 8 or at least are not adopting java modules and I find that fact interesting. "If I'm going to be in this for the long haul I need to prepare for the long haul" was basically my train of thought. The next update will be about how I built this CI/CD platform, I'll say a few words on java modularity and why I think it's important and has great potential (it's actually already payed off a couple of times already). I'll also briefly describe how I went about packaging both client and server programs and how I managed to deploy my server image in a kubernetes cluster that's managed and operated in the cloud. And with that I should be caught up with the current state of things and will start producing progressive updates as I go (I had to dump everything in here at once while it was still fresh enough in my mind).
Project Visionaries - MMORPG
An isometric post-apocalyptic MMO RPG focused on replayability
Status | In development |
Author | PVDev |
Genre | Role Playing |
Tags | 2D, Action RPG, Isometric, libGDX, mmo, MMORPG, Multiplayer, Post-apocalyptic, PvP |
Languages | English |
Accessibility | Configurable controls |
More posts
- Update 17: Item Management & new assetsNov 23, 2021
- Update 16: Loot, UI work & scalabilityAug 21, 2021
- Update 15: New skills, map & UI featuresJul 30, 2021
- Update 14: Fog of War and Network issuesJul 02, 2021
- Update 13: Multi-world management and more UI workMay 30, 2021
- Update 12: Asynchronous rendering & asset loading, UI skinningMay 12, 2021
- Update 11: Tile interactions & merged renderingApr 21, 2021
- Update 10: Pathfinding, Lighting, and a New map!Apr 21, 2021
- Update 9: The foundations of PvMApr 21, 2021
- Update 8: Reworking animationsApr 21, 2021
Leave a comment
Log in with itch.io to leave a comment.