critcodedtuna
Terrarian
This week I've started a new project that may make designing worlds much easier. Consider if you will: A pluggable core for world editors. Start with a single DLL, and use your favorite language and framework to build an editor or other useful application around it without needing to reinvent the wheel. Use on Windows, Linux, or OS X (see below). Interact with everything stored in the world file in a consistent manner.
Currently planned functions:
Current plans are that this will require .NET (Windows) or Mono (Linux and OS X) since it's in C#. There's a small chance this will also require XNA or Monogame since there are some data objects in play from those libraries.
As it stands now things are very rough, not even remotely usable (and doesn't even compile while I resolve references and pull out unnecessary code). I'd be interested in getting some feedback about possible vital features I might have missed, and if anyone would be interested in doing some proof of concept projects showing the capabilities. The above function list is just an initial draft from my notes, and is likely to change as I work on this. Source and binaries will be available once it's sufficiently functional and properly cleaned up, commented, and documented.
Currently planned functions:
- General: query supported version
- World (file): load, save, new (empty), dispose, status
- Tile: get all info for tile, get specific property, update property, compare tiles, clear tile
- World (properties): get properties, get specific property, set property
- NPC: add NPC, remove NPC, get info, set position, set home, rename NPC, get NPC count
- Sign: get sign count, add sign, get sign contents, update sign contents, move sign, erase sign
- Chest: get chest count, add chest, remove chest, copy inventory, update inventory item, delete inventory item, move chest
- WorldGen: No planned actions, but considering future support for potentially useful stuff (trees, giant trees, ore generation, etc.) without blowing up the project scope
- TargetDummy: Data is stored in the world, and should be interfaced. Functionality TBD.
- Tally: Data is stored in the world, and should be interfaced. Functionality TBD.
Current plans are that this will require .NET (Windows) or Mono (Linux and OS X) since it's in C#. There's a small chance this will also require XNA or Monogame since there are some data objects in play from those libraries.
As it stands now things are very rough, not even remotely usable (and doesn't even compile while I resolve references and pull out unnecessary code). I'd be interested in getting some feedback about possible vital features I might have missed, and if anyone would be interested in doing some proof of concept projects showing the capabilities. The above function list is just an initial draft from my notes, and is likely to change as I work on this. Source and binaries will be available once it's sufficiently functional and properly cleaned up, commented, and documented.
Last edited: