SekaiNi, a DM Worldbuilding / Organizational tool
Hi all, my name is Bard! Here's a more organized post for this project.
TL;DR Glorified character sheet. GD link with GitHub source code and release build: (Your computer will warn you that it probably has malware, but you are free to build the .exe from the source code if you want.)
New Version is released, now featuring 60% less blindness-inducing code! Wow!
GD Link, contains link to GitHub, as well as executable:
https://drive.google.com/open?id=1ZFj0snDAyekdu3xr9lRVFLyBLVrI-fiI
Gihub for source code:
https://github.com/Retroroid/Sekai
SekaiNi is a free, open-source, and offline world-building and organizational tool aimed towards DMs who enjoy creating excessive detail in their setting, and keeping their world connected and consistent.
Example editor interface:
Currently, the release version is little more than a character/item/location/association/facility sheet editor, allowing (at least simple and quick) saving and loading of the shown entities, but in the future, I plan to add a lot more features. I've had this idea for awhile, making a tool that can allow easy access and reference between every aspect of a setting and campaign, but I finally got it started after getting sick of trying to populate a guildhall with adventurers while trying to remember whether they were there, if they were busy on quests, what they looked like, which groups they were part of, etc. I thought it would be nice to have a way to keep all the adventurers in a database, and then be able to just draw several groups of them at random and use those as the people my players saw in the room.
Another example interface:
End goal will allow you to do something like this:
During your session: Open up the encounter from the file you saved during prep, and then it brings you to the page with all relevant information. You roll for each enemy's initiative, and then drag and drop them into the correct order on a list on the interface, including your players. On each creature's turn, you double click on that creature, and it brings up the character sheet, with their attacks, items, stats, etc. Do combat or whatever, and in the list, change hp/ammo/charges values for whatever occurs during that part of combat. As you change these, it updates all instances of these changes, so if you shoot an arrow and mark it as one ammo lost on the encounter interface, it will reflect this change on the character sheet if you open it from the database browser.
Other plans include d100 lists, Module/Event/Guildhall editors, database features, rolling tools, online database features, much better looking interfaces, and fewer bugs. Suggestions appreciated. Basically an all-in-one DM tool to help make sessions smoother and worldbuilding less tedious.
People have probably made things like this before, but I couldn't really find any that were available for free, so why not I guess. I am enjoying developing it, and if it ends up being useful to other people as well, all the better.
I am in need of testing, so please do let me know if you find any problems with it. I do know that the encounter editor does not work. I am working on improving the core functionality of the program currently, so the encounter editor will come after I get this done.
Main Menu:
Update: Making good progress with the code restructuring by getting over a few serious hurdles today. Figured out how to get object field changes to behave across classes, and finished the sorting algorithm for lists, which will allow you to sort your lists like Inventory, notes, attacks, abilities, etc. by any column you like. Pain in the ass to figure out, but really happy with the result. Just a couple details until I move on to interface re-design.
Having some trouble getting forms to play nicely. Trying to get them to be inherited but having problems with variables being accessible and consistent across said inheritance. If anyone knows good tutorials for VMMV in C# forms or any other resources that may be helpful, they are appreciated.
Finally got some stuff worked out. Base functionality is basically complete, so any testing, suggestions, and bug reports are much appreciated at this point in time. I'm a little burned out, having spent most of this past week working on it, but I still have some time in the next couple of weeks to work on it before school starts up again. The next big part of the project will be implementing "linking" of interface items, or being able to open an entity's editor from anywhere it is referenced in another one. Additional functionality for d100 lists, room/town/event population and random selection, and some small but noticeable improvements in usability and convenience like being able to select items in a list by clicking anywhere on the item line.
All the classes in the cs project:
Interface images and examples:
Update: A tremendous revelation! I have figured out that I am possibly the worst coder on the planet, and that instead of trying to reference objects by their ID or name I could literally just reference them by their actual objects. For example, instead of having a list of names or IDs and then trying to figure out which object you need to pull out of the box based on that, you can just have the list contain the objects you're looking for. Wow. I'm an idiot. I have been coding for like seven years and this is one of the first things you learn how to do. I knew about this all along, but I have no idea why it took me like 20 hours of work to realize. In all seriousness, this is a pretty good advancement, and accessing objects from other objects is not much much closer to completion.
Posted Aug 5, 2019, 6:36 PM UTC · edited
Looks really promising.
I always tend to get lost in the chaos of my way of taking notes