★kindred
About
★kindred requires the .NET Core 2.0 runtime, a cross-platform library. (It's similar to the .NET Framework that you've probably installed for many other games, but unlike .NET Framework, .NET Core is cross-platform.)
In the future, Microsoft may ship this with Windows; for now, you'll have to install it yourself:
- For Windows: https://www.microsoft.com/net/download/windows/run
- For Linux: https://www.microsoft.com/net/download/linux/run
- For macOS: https://www.microsoft.com/net/download/macos/run
Hey, listen! Though similar in name, .NET Core and ASP.NET Core are totally different! For ★kindred, you want plain .NET Core!
Running ★kindredRun StarKindred or StarKindred.bat, depending on your operating system (StarKindred for Linux and macOS; StarKindred.bat for Windows).
★kindred comes with a command-line interface. ★kindred has been created with a plugin system that allows people to create their own interfaces - including graphical interfaces - but I'm not aware of one existing at this time (2018-03-25).
CLI Instructions- Use Tab and Shift+Tab to navigate between fields.
- Use arrows to select items from lists (for example, checkboxes, or lists of buttons).
- Press enter to select an item from a list, or press a button; the CLI interface will automatically move focus to the next field when pressing enter on some fields (for example, text fields).
You will need the .NET Core 2.0 SDK from Microsoft.
- For Windows: https://www.microsoft.com/net/download/windows/build
- For Linux: https://www.microsoft.com/net/download/linux/build
- For macOS: https://www.microsoft.com/net/download/macos/build
I only have experience with C# and Visual Studio, but in principle other languages and other compilers will work, so long as they'll compile .NET Core 2.0 libraries.
- Create a New ".NET Core 2.0 Class Library" Project.
- Add StarKindred Engine.dll as a dependency.
- Create a new class for the plugin.
Take a look at the CLI interface's source code; the project is open-source:
- https://github.com/BenMakesGames/StarKindredCLI
When creating your own plugin class, the following code should serve as a good starting point:
using System; using System.Collections.Generic; using StarKindredEngine; using StarKindredEngine.UIElements; namespace MyStarKindredUI { [PluginInfo( Title = "My StarKindred UI", Version = "Potato 1", // whatever string you want, really Author = "Me!", AuthorWebsite = "http://...", AuthorContact = "[email protected], Steam: mySteamName, Twitter: @me, etc" )] class MyStarKindredUI: StarKindredUI { public override void Play() { Output out; // "Game" is a GameInterface; it comes with StarKindredUI while((out = Game.Output()) != null) { // do stuff with "out" } } } }