Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

GridlessDB

Create databases for games. Without spreadsheets. · By radmatt

[Added] A couple critical feature requests

A topic by thatpixelguy created Jun 01, 2021 Views: 317 Replies: 5
Viewing posts 1 to 6
(1 edit) (+1)

This tool is almost exactly what I've been looking for, but it's missing a couple critical features before I can really use it for my current project:

1. Export categories. Currently all items are bundled together in the same list/dictionary. I want to deserialize the items into C# classes with each item type being its own C# class, but there's no way to determine an item's type until the JSON parser gets to the "parents" field, which is a clunky solution and would require me having to heavily modify the JSON library I'm using. Instead, I really need an option to export the items in this format:

{
    "Equipment": {
        "Armor": {
            "Steel Armor": { ... }
            "Dragon Armor": { ... }
        }
        "Weapons": {
            "Epic Sword": { ... }
            "Steel Sword": { ... }
        }
    }
    "Consumables": {
        "Potions": {
        }
        "Food": {
        }
    }
}

This way, the type of each item can be inferred by the deserializer, and the resulting data structures are much more organized.

2. Export relative filepaths. Filepaths are exported as full, absolute paths, which makes them pretty much useless outside of a solo developer's environment. It'd be great if you could optionally set a working directory for a Path property and the exported path will be relative to that directory. Or, when exporting, set a global working directory and make all exported paths relative to that.

3. PascalCase and camelCase safe IDs. The current "Safe IDs" export option changes property names to snake_case. As I mentioned, I want to deserialize this data directly into C# classes so having the option to export property names into PascalCase would be great. This is easy enough to work around for now by just manually typing them out in the desired format, but again, it'd be great to have all 3 options when exporting.

4. Embed collections into the item pane. This is less of a critical feature, but collections currently open in a second window, so you can't see anything in a collection at a glance. It'd be great if they were just embedded in the item pane directly.

And finally, one bug I ran into: Renaming an option doesn't always work. It's particularly flaky when renaming the last option, and sometimes after renaming an option it will seemingly randomly rename the next option in the list to the old option name. Also, some items aren't always updated when an option is renamed. This whole feature needs to be looked at pretty hard.

Anyway, looking forward to future updates, I can see this being a super useful tool. :)

Developer(+2)

Thanks for the feedback! 

I will add these features to my to-do list right away.

(+1)

Thanks for detailed insight, I was curious about those either and will use with unity, so nested classes important. I would like to ask another one, how would you  load your sprite assets to unity? It is important loading for both editor and runtime.

Developer(+1)

Just released an update adding these features (and also dark mode): https://radmatt.itch.io/gridless/devlog/260090/update-11-dark-mode-relative-path... 

(3 edits)

Amazing, thanks for the quick update! The embedded collections view is so much nicer.

I'm working with it right now and one more little issue cropped up -- there's no way to edit or delete custom properties. I created a custom Vector2 property and accidentally gave the second component a "Y" suffix instead of naming it "Y", and now there's no way to fix it. I can see this being a headache to implement, but there needs to be some way of fixing errors like this.

At the minimum you should be able to do the following:

1. Rename a property.
2. Change the name and suffix of each value in a property, along with their settings (i.e. should be able to change "Step" for a number).
3. Delete a property, with a confirmation prompt. This would need to delete all occurrences of this property in the items database.

It'd also be nice if you could:

4. Add new values to a property.
5. Delete values from a property.

I really love this tool so far, I'm converting my manually written json database to this and I can already see this improving my workflow incredibly.

Developer

You can now edit custom properties, with the exception of adding / removing values ( that may be added in future updates).

See: https://radmatt.itch.io/gridless/devlog/263195/update-12-editing-custom-properti...