Weekly devlogs: Rogue Legend 2
Get Rogue Legend 2
June 21 - Better Dungeons and Underground
https://www.youtube.com/watch?v=GNcCNaLoQ20
Continue Reading in the Dev Forums >>
Mar 14 - Great Bloomin' Factories!
Hey again everyone! The focus of this week was crafting tiers/progression and the day-night cycle, because I like to do the complicated stuff first. In the first game you mainly collected ores and money and used that to craft or buy better items, survival gear, and build up your farm using the Anvil and Tinker's Table. This time around it's all been expanded in a few ways: material types, factories, and the production line.
Before I was relatively limited in how ores and materials could be used, because each "type" of item was completely separate, meaning that an Iron Axe was technically a different item than a Stone Axe, and I had to create separate entries for each. So one thing I did this week is implement item properties. I'll be expanding it more as we get into equipment, but for now it means an Axe can easily be made of different material types, like copper or iron, and a bunch of other attributes. It sounds complicated (and code-wise it kinda is), but all it means for you is more options on what to craft stuff out of, and a much more interesting equipment system with unique stats and attributes.
Continue Reading in the Dev Forums >>
Jun 07 - A Colorful View (Alpha 08)
At a glance
- FPS Improvements
- Lighting changes
- Work on view distance
- Colored blocks for the metals. All the colors of the rainbow!
- Doors
- Ever more tweaks and fixes
I spent the majority of the week on view distance. I made some good progress, but it's still too buggy to roll out into the current build. It's frustrating to spend a lot of time on something and not really be able to show anything for it, but such is engine development.
Since I've spent a lot of time doing "technical" dev, I'm going to switch to "gameplay" coding for a bit, and try to get a bunch of new stuff in like buying/selling, animals, and combat. I think getting a bunch of gameplay in that may be a little janky and then polishing it and the engine in late alpha/beta may be the better way to go. Engine stuff easily takes three times as long as gameplay stuff, especially in 3D, and it's more something players "notice" rather than actively engage with. Tricky balance.
I've noticed a number of programmers amongst my alpha backers. Would more technical talk be interesting to you guys? I'll try it, let me know.
There are three main limiting factors when it comes to increasing the range at which you see: triangles, draw calls, and level loading. Triangles and draws is just how much stuff is on the screen, and how you batch it for drawing. Every model has a number of triangles, and the more detailed it is the more tris you have, multiplied by the number of times it appears on screen. A simple piece of geometry that appears a lot, like a slope, has an exponential growth for its tris. Adding 100 to the model can easily translate to 1,000,000 tris on screen, which will tank fps. If you're mobile-minded, then your goal is around 100,000. Having a good and flexible view distance system can let you fine-tune this to each device, but you don't want your lower-end users in a Silent Hill esque foggy bubble. Fun fact: That's exactly the reason for the aesthetic choice in Silent Hill, the PSX couldn't handle all the tris. Now, your phone can handle it easily. That was 16 years ago.
If I have two identical models that are perfectly static in relation to each other (animation, movement, etc) then I can batch them into a single draw call. Meaning instead of drawing one then the other, I just draw both at the same time since they're identical. It's still tris added, and it still adds a toll, but it cuts down greatly. Here's a look at my progress. The view:
The cost:
Getting there. I can bring my draws/batches way down, which will be the next step. Also the only biome currently is "lazy rolling plains." Once there are mountains and settlements to see off in the distance that view will be more impressive. In my initial tests I've gotten the view distance so high that I managed to fit the entire world in it. So I'll also need to increase the world size, which is currently held back by save file writing and optimization. There's a lot of lag when saving the game, because the save file is 19mb. I'll need to both eliminate that lag and split up the save file before I increase the world size again.
Easily my slowest thing is chunk loading. Every chunk contains a number of blocks, grass, trees and items, etc. All that stuff needs to be created and loaded in. That's why there's lag when you go running around, cause it's all loading it in. Ultimately I need to get that all way down, and is a part of the view distance system - splitting up all the initialization necessary into separate chunks at certain distances, and elminating initializations where possible. All doable, but, takes time. Takes *more* time than anything else! And it's just a thing you look at and go "oh that's pretty."
This is the primary difficulty in procedural building games. A static game with static levels gets to "cheat," because it's much easier to reduce tris on a building that will never change, and you can "bake in" a lot of your lighting and draws to be calculated before the game even launches, and optimize your file structure to make loading in assets nice and fast. However, I think procedural games are the future - making content by hand will pale in comparison to content made on the fly by a computer. You just have to teach it to do a good job of it, and I don't really think games have yet.
I've spent at least 6 years tinkering with procedural content, some stuff public but most of it not. And unfortunately it's usually the really simple stuff that gets complete enough to get out there. I spent a year and a half on another procedural game that hasn't seen the light of day (but hopefully will someday) with what I think is some of the most advanced procedural level design in the genre. I plan to apply a bunch of that to dungeons and biomes to "prove it," so I guess I should shut up and get there. That got rambly.
Alpha 08 now available
You can get it in your backer panel.
Check out Rogue Legend 2 or Patreon for automatic rewards!
Shout outs: Stacey, 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, Dave Walker, Rhonda Seiter, Alexa Hobusch, Jonathan Lekse, Katie White, JollyGamer, Tiernan Greenman, Burlyfighter, Gillian Tolbert, David R Abbott, ツ Htz_Michelle, Rick Marsh, Brittany DeNicholas, Phillip Hash, Amanda Kettles, John Trent Dumproff, Lou Bliss, Pythor Sen, Desedent, Michael Isberg, Nat, Thomas Wilhelm, Krueger82, Irate The Pirate, Mark L, Conall Reilly, Cam Largent, Siren, AstroLass, Lizzie, Michael Hamilton, Vedie V, Mylon Schroder, Nathan, Jordan Florez, Robert Rich, Rodney O'Dell, Robin Ellis-Foster, Jess, Lars Yell, Zee Livezey, Kevin, Kerry Melton, Mary Kieser, SallySparrow132, Naomi B, J, Millergendraft, Federica Frezza, Nick Soucy, Ellen Mitchell, Melanie Warga, Jeremiah Walker, Bryan Sheairs, Bryan Kempka, chris wilson, Max Hops, Sarah Holland, Joshua David Maddox, Jennifer Smith, Liz Fontain, Ray Bissonnette, Joe Dalby, Joline Tran, Nicholas Zamora, ShortyMcgibble, Mr. Vinclair, mtnman1979@aol.com, KFB_Patreon, eric sun, Kayleigh Sulin, Dani, Gundar Wez, Nahellion, Nicholas Hanke, bilbens baggo, Stuart, Brysen Packer, Maxwell Mayer, Gannon Dubay, Thobek, Aaron Teupe, Mage1X, XMrMonkyx ., Miss Zilla M, Jordan Brazeal, Kyle Clark, Jake Lane, Adam Ruiz, Phillip P Torchia, Stefan Gottschalk's, Remora Jewel, Alex Harford (VA7OMM), jeremy baisch, Daniel Edwards, Zealot23, Shane Andrews, Brandon Mußiq, CJMAXP, Dylan Rintoul, Lisa Tucker, KingHavok1217, Mx Charlie, Justin Snyder, Zachary Burgess-Hicks, Shazear, Steve Rosenlund, Ezzela1891, John Nazario, Gordon Alexander Fallon, Justin Stensgard, Jason Clark, Trey Vickory
Their contribution stands as a beacon of hope for all adventurers!