Hi guys! Lately I’ve been mainly focused on polishing our new Kickerinho game and taking part in BrainCode hackaton, so there is not much progress on the project. I think it’s a good time to present my concept of… The Proof of Concept of my engine, the minimal project scope that I would hopefully realize till the end of June. I think it will be enough to decide whether this whole idea makes sense.
On the concept
How did I come up with the idea of modelling in-game world’s objects relations using Temporal Logic? Well, I needed a master thesis topic connected with temporal logic, but I didn’t want to write some bots playing Mastermind (that was my tutor’s suggestion (???)) or chess. I really wanted to do something connected with my great passion – computer games. I wanted the topic that would make me shiver with excitement when thinking about it. Yea… I didn’t find such subject, but the one that I currently stick to satisfies me. My current idea involves creating two modules – one is the tool for creating entities and rules, the other would be the in-game system in shape of a Unity plugin.
In this post I explained how I imagine the tool.
Concerning the system – I’m planning to create the editor script that will allow to load rules definitions created using the tool. Loading would require reading the rules (in the PoC from a file) and generating C# scripts for every entity. These scripts would be ready to be placed on GameObjects and would provide some endpoints/events in case their state has changed along with methods allowing to alter the state by the game. Then, every time the change occurs, the temporal system would analyze it and provide new states for the objects. That is why I think some kind of grouping will be needed – to speed up the calculations. In case that would be too slow anyway, there is a backup plan of having the history graph exported during the time of rules creation and then walking through it during the gameplay.
Time for the example – this is the actual story that I will try to implement and use in form of a simple logic game. I will use once again the Farmer, Wolf, Sheep and Cabbage problem that I explained deeply in here. I hope that my tool will allow me to define rules, then I will load it to the game. In the game the player will conduct farmer’s actions. If he does something wrong, for example will have the situation when a wolf and a sheep are left alone – the sheep will die and the game will be over. :)
So – what do you think? Does it make sense? How do you rate the possibility of this system actually being useful when creating commercial games? Would you add some functionality?
And if you like my posts and are curious how will this evolve, like my fan page or follow me on Twitter – you will get notified every time a new blog post arrives.comments powered by Disqus