dgarijo / VideoGameOntology

Repository for developing collaboratively the video game ontology
15 stars 3 forks source link

Where are game component fields? #17

Open linonetwo opened 7 months ago

linonetwo commented 7 months ago

I'm creating a prototype tool to help game developers find bug in their game data on compile time. (e.g. https://github.com/Kenan2000/CDDA-Structured-Kenan-Modpack/pull/262/files , core schema change, cause mod data outdated, and crash on runtime)

I'm seeking an ontology with fields like melee_skill melee_dice this kind of fields (see https://github.com/CleverRaven/Cataclysm-DDA/blob/17e0ee609a62d4461e4e838210c0e75a568147d7/data/json/monsters/bird.json#L3-L38 for example)

But your ontology seem to be some very abstracted concepts, that can't not be put into industry. What do you think about this problem? Do you want to create a useful dataset together?

dgarijo commented 7 months ago

@linonetwo thanks for your interest!

We designed the ontology to be a bit abstract, we extended it in three games that demonstrated its use (see the readme for the links). Mostly, it was used to interoperate data between games (e.g., items, events, etc.)

Here it looks like you are describing skills, monsters or items within a game. Is that the case? It's a bit hard to understand the file you used with no context. What would you like to do with the ontology? Use common definitions of items for more than one game?

It looks like an interesting challenge, although I don't have much bandwidth right now. I can't commit but I can help whenever I have the time. If you propose an interesting project, I may be able to convince a student to work on it too.

linonetwo commented 7 months ago

Use common definitions of items for more than one game?

Yes, and in this way, developers can share their gameplay logic more easily, also share some gamedata (with a few value adjustment).

The link I provided is an opensource game, that have tons of item/skill/monster def. I liked to play that game, I'm not its developer, but AFAIK they only have def, don't have a "Schema" for it (Schema is embedded in the C++ gameplay code, just like most of the games).

I'm starting a new game, and I want to store game defs on https://github.com/CommunitySolidServer/CommunitySolidServer with JSON-LD. So now I need a robust rdfs (Or simply JSON-Schema) for it, and I'm still looking for it.

I'm taking this project on my own for the first season, write a first edition of RDFs, to see if it is possible, and from April I might investigate more resource from my game company to it. But if such RDFs already exists, the progress will be much faster, thank you.

linonetwo commented 7 months ago

extended it in three games that demonstrated its use

I read the link, but I'm not sure how to use it, for example:

图片

Shouldn't this have fields like "attack" "material" "requiredLevel"? But I only see "subClass" and "superClass" (I have same confusion from many other ontology, this is the main difficulty when writing SoLiD apps)

I may be able to convince a student to work on it too.

If your time is limited, feel free to let me talk with one of your students, if we find something that needs collaborate, we can chat with Zoom later.

dgarijo commented 7 months ago

@linonetwo, in the case of browserquest, the main developer may have wanted to represent the item type, and not its properties for some reason. Adding fields like attack, material or requiredLevel look like appropriate extensions for your game (at least they make sense to me). You can create a new w3id extending the core concepts and define your own, of course.

Unfortunately, I can't put you in contact with a student directly. I would have to propose a project, then they would have to pick it up and then we may set up a meeting. These things take time. I would be happy to assist if you get stuck or have questions. I can help you setting your own w3id in your own repo to get the vocabulary in a machine-readable way.

linonetwo commented 7 months ago

Thank you, Daniel, I will start building the first RDFs draft with LLM assistance using a BPMN workflow. This may start in April.

I will share my results in a GitHub repo and then get in touch with you in the next few months. We can propose a formal project and even write a paper about it at that time.