I've put up a new Linux build, see if that changes anything
Kassoon
Creator of
Recent community posts
I test on an i5 6600 with a Geforce GTX 960 and get 60-90 fps at medium settings on PC. Mac support is a bit sketchy at the moment as OSX has been changing a lot of their graphics support, which there isn't much I can do about except wait for further updates. The macbook I was testing on has died so I haven't been able to personally debug OSX specific issues.
I had to take the download down from my site for a bit because it was crashing the entire server and taking the website down. It's still downloadable from itch, but I can't see a way to send direct messages. If you post your email I can send you a download link that will allow you to download it via itch (which should always work, going forward)
I'm going to continue to work on it, but these past 2 months are the only "break" I've taken from it in the past 4 years. I wanted to work on the D&D tools for a while instead since they were getting more popular. The D&D site has become much more successful in less time and less work, so it's going to continue to be a priority for me going forward. However, I'm not sure how high the ceiling on it is since it's all pretty much a hobbyist market right now. On the other hand, indie games are in a really bleak place right now as well that is likely to only get worse with time.
That said, I have been working on RL2 every day typically for about an hour or two, but haven't put a new build up because it's been mostly optimization work and I'm worried people will be expecting more from an update after a long hiatus and so wanted to get a "flashier" feature done first. Certain tools for the site have also acted as prototypes for a feature in RL2. I'm currently trying to figure out how I want to split my time, and how much "legs" the D&D tools have. I understand that games aren't popular until they're finished, but the motivational forces of 30,000 people telling you to do A and ~10 to 100 people telling you to do B are awkward.
In the top right there's a [Permalink] that will always take you back to that specific world with all its same towns and such. If you copy that link and then save it to your campaign notes at https://www.kassoon.com/dnd/campaign-notes/ then you should be able to always access your world no matter where you are
Well, optimizing the tilesets is going to take a while because I need to go through every block in every tileset and modify their mesh to work with the optimization algorithm properly. There's a lot of blocks in a lot of tilesets, and I'm working through them. I will probably focus on the most common ones before switching to storyline and working on the rest in a half-and-half fashion.
Patch Notes:
* Performance!
Before, let me preface: this is all optional. I'm grateful for any and all bug reports, and often simply pointing out that something is wrong is enough for me to find and fix it.
In order for me to fix a bug I need two things: I need to recreate the bug myself so I can see it happening and what exactly in the code is causing it, and then I need to come up with a fix that won't take too long to implement. That first step is crucial, without making the bug happen again on my own machine it's very unlikely that I'll be able to fix it, and the bug will sit. Sometimes this is straight-forward, sometimes it requires a complex and precise number of steps. Sometimes it's hardware related, and without some sort of access to the hardware to reproduce the bug then I'm unlikely to be able to fix it, so make sure all your drivers are up to date and you've done a clean virus scan of your system using something like Malwarebytes.
Sometimes a bug will pop up an error message on your screen in red text in the corner. Good news! These are usually the easiest bugs to fix, all I need is the stack trace in the error message. If you click on the message it will expand and display a bunch more info. Like this:
If you take a picture of it (like this one) I can usually fix it quickly. You can also click on the "Open Log File" button to get the full log and upload/paste that.
However even with something as simple as an error message I also need to know the context, what you did that caused it to happen. So then I can go and do the same thing, have the error message pop up for me, and then fix it. Maybe that requires a series of steps. Maybe it only happens when you do something specific within one of your saves, in which case uploading the save may be necessary for me to reproduce it. You can find your saves in:
Windows:
C:\Users\YOUR_USERNAME_HERE\AppData\LocalLow\Help I Made A Game\RogueLegend2
Mac:
~/Library/Application Support/Help I Made A Game/RogueLegend2
Linux:
~/.config/unity3d/Help I Made A Game/RogueLegend2
Another thing you can do when posting bug reports is to hit tilde ` before taking the screenshot, which will cause a bunch of info to display in the top left corner. One of those is the random seed used to create your world. Since so much of the game is randomized and procedurally generated, some bugs may only happen in specific seeds in specific circumstances, so having the seed is another thing that can help me reproduce the bug on my end.
This is the state of my UVs after multiple attempts and different techniques:
I couldn't get the UVs working, since simplifying the mesh made a mess of the order. After many searches using terms that SHOULD have revealed the results, a totally weird and random search landed me on triplanar mapping which is a technique for applying textures without the use of UV coordinates.
The good news is it works, mostly.
There's still some blurring/stretching at corners, but it's usable enough that I can put it in this week's build and apply my mesh simplifier to SOME geometry (mostly cubes and terrain). The other tradeoff is triplanar mapping is expensive, it triples the render to project each side. That said, it doesn't really affect performance on my machine as much as the reduced tris, so it should be a net gain overall.
While this reduces tris, my mesh simplifier doesn't work for more complicated meshes like houses, which means the tris are still high in town and performance suffers as a result. Still, it should be better than it was.
Patch Notes
* Improved performance
Yes, I've redirected the official forums on kassoon.com to these. They were only being used by a few people for Rogue Legend 2 stuff anyway and phpBB has numerous security vulnerabilities that I was opening myself up to by hosting them on my own server. As the website was getting more popular I was noticing a lot more "non-interactive" and spambots accessing the forums and it's just not worth the risk of having all the tools and content on the site risk being interrupted by buggy free 3rd party software.
Anyway, this shouldn't really effect much except the inconvenience of you dear reader having to register an account in a new place. I'm sorry about that, but for the most part everything should be able to continue on as normal!
I've archived the old forums so nothing has been lost, and if there was something on the old forums that you'd like me to migrate here I can do so.
In the Negazone you can post negative opinions safely. No one will argue with you or say they think your idea is bad. You are free to post things you don't like or think should change without fear of being drowned out by the "sycophants."
The only exception is personal attacks. Do not personally attack others here or anywhere. That includes talking about anyone that could conceivably see it, keep your complaints to the game, forum software, etc. All the unfeeling robots that won't mind being badmouthed. If you're mad at someone, cool off, read up on cognitive dissonance, recollect your thoughts.
That said, this is not a prison for contrarian beliefs, it's just the only safe space. You can post about changes you want elsewhere, but I or others will argue with you about them. This can be a good thing in its own way, as it establishes a dialogue and allows for compromise. That said, you don't always want to argue, so feel free to post here instead. If someone PMs you to argue or harass you about a Negazone post you made, report them and I'll ban them.
Rambling Reasoning:
Official forums have a tendency of becoming hugboxes. People that like the game tend to stick around and defend it, while people that don't get tired of arguing with the pro majority and leave, causing that pro majority to become worse over time.
If someone doesn't like the game, I want to know why so I can fix it. It doesn't mean I'll make the changes they suggest (that's rule 1 of game design), but I will look into why it frustrated them and try to make positive changes. The more varied opinions and complaints I receive, the better the overall game experience becomes for everyone.
There's a cognitive bias to focus on negative opinions and ignore positive ones, which can cause you to believe that complaints are more common/oppressive than the positive ones. This is not true. Complaints make up roughly 15-20% of feedback received, and only 5% of users leave any feedback at all. Complete silence is more likely to kill a project than any amount of complaining, so I think it's important to encourage feedback. Try to encourage Negazone posts however you can, you can post to agree or relate similar experiences, or simply upvote. If you disagree, carry on. If you disagree and I end up making a change based on it that you also disagree with, then make your own negazone post, or post in a discussion thread. Nothing is permanent, everything is subject to change based on feedback, but only if that feedback is received.
I've gotten numerous requests for a wiki and offers to maintain it, and now there is one!
https://www.kassoon.com/content/rogue-l ... =Main_Page
It's pretty barebones so it would be great if you could help fill it out and share any useful tips you have.
Make sure to back up any files you mod!
There's a secret mode you can access on the title screen now, which will allow you to mod your world.
In order to access the prefab editor you'll need to be at the title screen and enter a code. Once you enter the editor there's no way to leave besides alt-f4 or otherwise closing the game. The code is:
up, up, down, down, left, right, left, right, b, a, enter
After a pause you'll enter the editor. To get started click on LAN Host, then Client Ready, then hit Done on the appearance editor. You can now run around freely, you're not restricted to any bounds, and you can also move up/down with e/q or space/ctrl. If you open up the craft window you'll have access to everything (even uncraftable stuff) and can use the arrow buttons to paginate. You can build as normal and place items as normal, except you can remove blocks with an empty hand.
If you click the new button everything will be deleted and give you a fresh scene. If you click save your current prefab will be saved and it will spit out a bunch of gobbledygook in the text field. That's your save data. If that gobbledygook is in the text field and you click load, your prefab will be loaded, so you can use that to save/load your prefabs. How to edit what shows up in the game? Go to your game's root directory, and open up the data folder then /StreamingAssets/prefab/ you should see some txt files. These are what's used in game.
To modify the basic town, open up town_basic_prefab.txt and you'll see a number of prefabs. How to read this file:
Empty lines and anything started with // is ignored, so you can use that for comments.
Anything using the code like TURLF_0_B is a prefab type, and the line immediately following is the gobbledygook of the save file.
The code defines how the prefab is to be used using the format NonTouchingSides_TouchingSides_Road (for town, others might have their own, usually stated at the top). Each of the letters is a code: T = Top, U = Under, R = Right, L = Left, F = Front, B = Back, 0 = Ignored. You may have noticed in the editor some colored walls with giant letters on them, that is which face it represents. The only ones missing are T (up) and U (down). Think of them like the edges of a puzzle piece, R pieces connect into L pieces, F pieces connect to B, and T connect to U.
To get a custom house or building or whatever to spawn in a town, you define what its edges are. Specifically which edges dont connect to others, which edges do, and which edges have road. So a code like TURB_0_LF means there's no connection T/U/R/B, it has no required connecting edges (the 0), and has a road along the R/F edges. So, a small standalone house with a road on the right and front sides. The road will connect to other roads on the L/B edges but otherwise it doesn't connect to any other piece.
Building connections (the middle _0_) can be used to make larger multi-part buildings. I recommend starting with _0_ though.
If you get your building in-game you may notice that it's been invaded by dirt, to prevent that you're going to want to fill the insides with Emptiness, which is a block you place in the editor. You should find it on one of the last pages. It's just like air, but it says "this space MUST be air, not any of that other stuff." If you take a look at my examples you'll see the insides of the building and the road all have forced air to ensure they're accessible. I usually place the air first so it's easier.
You can also place and edit grounditems, like if you want to make a shop. To do that you'll want to use the "Grounditem" item that should be right next to emptiness and place it like any item. Then if you check the "Item Edit" checkbox below the save/load you'll enter item edit mode. Click on the ground item you just placed and its values will be entered into the input fields. In order they're: Item ID, Amount, Data, Price%. If you hover over an item it'll have a number at the end of its tooltip, that's the ID. Amount is how many (dont set this higher than the actual max stack amount), data you can ignore, and price % is the individual mark-up vs the current market price. If you enter 100 it will always be 100% of the current market value, or 0 to make it just a regular ground item. Then click the set button. You can enter multiple numbers and ranges as well, like if you want a varied selection of shop items. Each number is comma delimited, or you can use a dash for a range. If you entered 12,14-29,45 for ItemIDs then it would be randomized between a bed, any of the seeds, or a yam. Or 1-3 for amount means it would contain 1,2, or 3 of the item.
That's it. Add or remove to the prefab files to modify your town. Feel free to share any towns you manage to cook up. If you'd like to contribute town buildings, enemy camps, or world ruins and landmarks then get in contact with me!
Getting your prefabs showing up
All the prefabs used for worldgen are stored in RogueLegend2_Data/StreamingAssets/prefab/
If you're using 64bit then that'll be /RogueLegend2_64bit_Data/ instead
To add a ruin to the world you'd open ruin_prefab.txt add another couple lines to the end of the file, then
:Ruin
SaveDataGoesHere
so something like
:Ruin
AAgAAB+LCAAAAAAABADsvQetc
The names after the : are important to determine where and how the prefab will be used. If you have multiple prefabs using the same name (like in the case of ruins) then one will be randomly chosen. You can look at the file to see examples of what valid names are, and copy+paste the save string into the prefab builder to see how it was built. If a name isn't used in the file, chances are good it won't do anything.
What do you want to see in the game as soon as possible?
Some of these features don't exist at all yet, some are in various states of completion.
All will likely be completed eventually, but the order they get done in or the amount of attention they receive depends on feedback. You can change your vote any time, and you can vote on up to 2 features. You can vote even if you haven't bought the game, this is to garner the general impression of everyone.
I collect feedback from multiple sources, so I figured the forums should have this too. I'll add all the sources together and use that to determine what's important to work on.
In-Depth List
I'll try to keep this updated with the poll options and as things change, a more detailed break-down of what each options means, as well as the current progress if it has votes:
Multiplayer
Functioning multiplayer, free of bugs and weird sync issues. Summon people to your world over THE INTERNET, or connect directly to your friend's worlds. Includes PvP and summoning for honorable duels, or invading others to hunt them down. Internet connectivity to your world will be opt-in.
Progress: Working on bugs and sync issues, online matchmaking partially functional but needs wider testing.
Story
More unique characters with their own appearances and storylines. Become friends with the villagers and adventurers and learn more about them through quests and dialog.
Progress: Building out the world and locations for the storyline. Theming some of the systems, and working on quest board.
Combat
Add and refine the combat system for fun and engaging combat. Abilities and magic, leveling, loot to find and equip.
Progress: The rough basics are in, needs more hit effects, weight, and abilities
Farming
More stuff for farming. More animals, more animal products, more crop and growing options, more farm-y stuff to craft like pens and churners and mills.
Progress: Been adding new stuff every week!
Merchant
More options and mechanics for Merchants. Supply/demand systems, store customization and beautification, more interaction with customers. More things to craft like armor/weapons/potions with different qualities.
Building
More tilesets and unique blocks to build with. Greater block customization, including ways to change color or cut off pieces of blocks to make mini-blocks for a greater control over its appearance. Machinery and automation crafting.
Survival
More survival things to craft, like water filtration, survival huts and low-tech tools and decorations. More animal types to hunt and unique modifiers to wild game. More options for realism and survival gameplay.
More World Stuff
Add more stuff to the world like dungeons and unique terrain features/setpieces. Add in more biomes and refine the appearance of the landscape. More unique locations like towns, improve the look of towns, and more systems to create a living world.
FPS
Improve the framerate, add more quality options to control performance. Add in more LoD to increase the view distance.
Progress: Working on LoD and view distance optimizations since that's currently the biggest performance impact for all devices. Also need more optimizations for on-demand loading.
Quality of Life and Polish
Better feedback, more satisfying interactions. This can include little visual things like plants swaying in the wind, woodchips and sparks flying off trees and overall tweaks and improvements to the visuals. It can also include things like UI tweaks and improvements to interactions, eliminating frustrations and pointless busywork in a fun game-y way.
Progress: I take notes and make changes when I notice them, I almost always have notes on how to make the world and characters look better. Other quality of life and polish changes I'm open to suggestions.
Ok, I've got all my files back, gotten caught up on my code, and even got something done enough to be included in the update!
Most users seem to have performance issues be their major limiter, so that's been my focus. Unfortunately, it's both extremely hard to do and doesn't result in much but "performance is better." I've complained about that before, so let's look at the current issue.
Triangles! So many tris! Voxels create a lot of tris, because a flat wall isn't just 2 tris like it should be, it's 16x16 blocks, which results in 512 tris with no visual difference. So I've been putting together a mesh simplifier, and it doesn't really work yet. I did however get it working with the simplified collision mesh, so here's the end result of a more complicated piece that's been properly simplified:
You can see from the black lines the original mesh, and the green lines are the simplified version. Unfortunately, it has errors with more complicated meshes and I can't get the UVs working on the simplified mesh, but the physics engine needs neither of those things so it can go into this release. This is just fine because it's a noticeable improvement on performance, since physics was one of the major slowdowns. Not the biggest, that's still the draw (number of tris), but an improvement. On that note if you have ANY IDEA how to get the UVs and complex mesh simplification working then please contact me! It's probably the fact that it's producing non-manifold edges with more than 2 facets attached during collapse, and if that made sense to you then maybe you can.
Patch Notes
* Improved performance. See what I mean?!