Weekly devlogs: Rogue Legend 2
Get Rogue Legend 2
November 8 - That was a thing
Well, that was a week. The short e/n of it is: I got sick, then my computer got sick, and a family member died.
I didn't get a lot done.
Things are getting better now though, so I'll try to get caught back up. I did however get a pretty major thing done this week: chisels are gone, and you can now place and rotate ramps freely.
The whole chisel/automatic slopes things was a lot of complicated work, but in the end I was unhappy with how restrictive it made placing ramps. I gutted the whole thing and replaced it with a much simpler system where ramps are just manually placed and rotated and don't try to figure out how to appear based on their neighbors. I've changed worldgen and converted saves so they should work pretty seamlessly for existing saves. When you load an old save for the first time it may take a bit longer than usual but be fine after that.
How it works now is you craft ramps and corners on the masonry bench, then you place them like any other block. You can rotate them and place them how you want, and I'll be adding more and fixing things as I continue on my changes/customizations to the building. There might be some terrain oddness in the interim.
Anyway, sorry for the lack of stuff for that week. It kind of bridged across two weeks and was almost a perfect wednesday-to-tuesday "thing." Ready to jump back into it now though.
Continue Reading in the Dev Forums >>
September 12 - Multiplayer Test
OK, we have an initial multiplayer test build.
When you connect to a server there's a little back and forth to ensure that you are who you say you are. Your character is stored on each server separately and when you connect you're given the character that matches the unique identifier to your account. This means that regardless of where you play from, your character will be accessible on whichever server you're on. I prefer this to local storage or client-based-ID characters, as it allows different servers to create their own rulesets/communities, and you can take your character with you when you play from a different location. I imagine stuff like normal rpg servers, competitive hunger-games style pvp servers, tournament duel servers, modded servers etc each with their own easier to manage economies and rosters. It also makes it harder to cheat, which I imagine will be an ongoing battle.
Synchronizing all the players with each other was the next thing, and required me to rewrite some code since Unity doesn't allow syncVars to function within getters/setters. This includes stuff like your appearance, buffs, survival stats, inventories, etc. It's an involved process and pretty much represents the entirety of the multiplayer functionality. Client A does something, tells the server, the server tells everyone else. All the clients are synced up so everyone is receiving the same world as everyone else. That means writing sync functionality for every single thing. Fortunately I (mostly) planned ahead and my interaction functionality can blend with synch. I have to rewrite some of targeting to recognize multiple players, which is my bad and why multiplayer ended up taking all week.
I've managed to create an elaborate workaround for Unity's render pipeline lighting bug which affected the sky and distant terrain, so some graphical glitches should be fixed as well as a boost to FPS as I switch back to the previous renderer. I had to rewrite the sky which sucked, and I'm not 100% sure what my workaround does or why it works, but... it does. Since the bug has existed in Unity for over a year I'm banking on it not getting fixed any time soon, so the hack is necessary.
Oh and quit to menu is finally back in. My tests didn't reveal any issues with it this time around, but let me know. Most single player activities should be fine, but I'd think of multiplayer as a bit more of an "experimental" feature at the moment due to all the complications and workarounds that have popped up.
Anyway because of all this mess the initial multiplayer is going to launch as IP direct connect and spectator only. So you'll need the IP address of who you're connecting to and you won't be able to interact with their world and have it stick, but you can hang out and look around. I'm not placing any restrictions on what you do so you can still build and get stuff, but it won't affect their world or be saved when you disconnect. You are a quantum paradox tunneling briefly into their world and creating a paradoxical alternate reality.
Continue Reading in the Dev Forums >>
October 4 - Rampin up
At a glance Most of the patch notes
- Added basic combat dash - jump in a direction while locked on
- Added Masonry Bench
- Added Brick Dungeon tileset
- Time and rain actively syncs in multiplayer
- Added combat to multiplayer
- Added some death support for multiplayer
- Added combat dash to multiplayer
- Prevented certain debuffs from saving
- Improved multiplayer movement for other players
- Fixed bug where crafting window would close unexpectedly. FINALLY FOUND IT AFTER MONTHS OF SEARCHING
- New worlds have more rocks
- Fixed even more UI effects occurring when other clients in multiplayer do stuff
- Fixed misc errors
- Added basic window slopes
- Hammer and chisel behave properly in multiplayer when breaking/shaping blocks
- Fixed issue with chopping down trees on dedicated/distant servers
- Fixed error with chests
- Fixed targeting buttons
- Got rid of creepy eyes that would sometimes show up in first person
- Converted players to use the new interactable system
- Added multiplayer support for targeting
- Fixed issue where client tools in multiplayer wouldn't be properly destroyed on the server when running out of durability, causing all sorts of issues
- Fixed multiplayer issue where it would spam targeting
- Allowed target clearing to work properly
- Prevented server from returning non-existent tools
- Certain tools used at certain distances wouldn't be able to get one last swing in. Now they can.
- Fixed a bunch of errors and UI interactions for servers when clients do stuff
- Can now unpause with the escape key
- Fixed an issue with crafting where if your actionbar was full and you right-click-crafted a bunch of items that were stackable in the last slot they'd end up in your backpack. I sure do fix a lot of esoteric bugs.
- Most items should now disappear properly when used in multiplayer
- Fixed an issue where players would get stuck or chunks would fail to load if there was another unrelated error.
- Fixed a server error with chests
- Factories should now properly remember their fuel levels on reconnect
- Fixed a load error with certain furniture. Your save should convert automatically.
- Fixed two sync issues with dedicated/distant servers for certain interactables
Multiplayer is feeling pretty good now, that's exciting! That took longer than I thought it would (the programmer catchphrase), but I've been playing with people most nights on the freebuild server and it's been a good time.
The dungeon tileset I teased last week is in now, and it's lookin pretty nice:
I saw too many... cubes on the freebuild server, so I figured it's time to start getting the more interesting tilesets and items in. Specially since worldgen is next. It's made on the masonry bench which I have BIG PLANS for. Bigger than any other factory has been, at least. That's me downplaying it a bit, since combat is next. *That's* me being a tease.
My plan for the next week (or two) is to get combat feeling good and fun and set up a little pvp arena on the public server. I've talked about it before but the basic idea for combat is dodging, blocking, stamina management, elemental combat, and the three basic archetypes: warrior, archer, mage.
New UI and some new creatures will also be coming before combat is done. I'll be doing creature spotlights whenever I add one to the game. A bit of lore info about each, their culture, etc. Since all creatures will be capturable, it helps to know a bit about them, no? I've also started doing weekly lore posts on facebook and twitter as I start to ramp up for proper world gen.
Continue Reading in the Dev Forums >>
Check out Rogue Legend 2 or Patreon for automatic rewards!
Shout outs: Stacey, mike richard, Brian Tanner, Serafina Moon, Thomas Spence, Armand Desharnais, Trev909, Bob Goode, TODD RICHARD, Iofire, Caitlin W., Damon Carrington, Mario Pizzamiglio, Phil Mehl, Wesley Muncy, elijah D. maben, R., bruschkin, Vincent Drone, thea musing, Brian Nunziato, Matt Yates, Elisa Martinez, Ryan Flagg, Jade Arrowood, Angelo Anderson, Syn21, Dave Walker, Jonathan Lekse, Katie White, JollyGamer, Tiernan Greenman, Burlyfighter, David R Abbott, Rick Marsh, Brittany DeNicholas, Amanda Kettles, Lou Bliss, Sik Makoyi, Pythor Sen, Bryson Waits, Desedent, Irate The Pirate, Mark L, Siren, AstroLass, Lizzie, Michael Hamilton, Vedie V, Mylon Schroder, Nathan, Jordan Florez, Robert Rich, Jess, Zee Livezey, Kevin, Kerry Melton, SallySparrow132, Millergendraft, Federica Frezza, Nick Soucy, Jeremiah Walker, Bryan Sheairs, chris wilson, Max Hops, Sarah Holland, Joshua David Maddox, Jennifer Smith, Packratt, Liz Fontain, Ray Bissonnette, Joe Dalby, Matt Price, Nicholas Zamora, ShortyMcgibble, Mr. Vinclair, mtnman1979@aol.com, KFB_Patreon, eric sun, Gundar Wez, Nahellion, That Video Editor Nic, bilbens baggo, Stuart, Brysen Packer, Maxwell Mayer, Thobek, XMrMonkyx ., Miss Zilla M, Jordan Brazeal, Kyle Clark, Jake Lane, Phillip P Torchia, Stefan Gottschalk's, Remora Jewel, Connor, jeremy baisch, Daniel Edwards, Zealot23, Shane Andrews, Brandon Mußiq, CJMAXP, Festus, Lisa Tucker, KingHavok1217, Mx Charlie, Justin Snyder, Zachary Burgess-Hicks, Steve Rosenlund, Ezzela1891, John Nazario, Gordon Alexander Fallon, zachary gee, Jason Clark
Their contribution stands as a beacon of hope for all adventurers!