Generic Game Engine based on Drools
Java
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
drools-game-engine-capture-flag-kjar
drools-game-engine-capture-flag-model
drools-game-engine-core-api
drools-game-engine-core-impl
drools-game-engine-core-kjar
drools-game-engine-escape-room-kjar
drools-game-engine-escape-room-model
drools-game-engine-horserace-kjar
drools-game-engine-horserace-model
drools-game-engine-model
drools-game-engine-services
.gitignore
.travis.yml
LICENSE
README.md
pom.xml

README.md

Simple Drools Game Engine for creating Escape The Room (point and click) style games.

CI here: https://travis-ci.org/Salaboy/drools-game-engine/builds

#Scenario You wake up in a room, you don't know where you are, you need to: ESCAPE THE ROOM!

alt tag

alt tag

This example was created originally for the conference JBCNConf (June - 2016)

Requirements:

  • JDK 8
  • Maven 3.2.3 +
  • GIT
  • IDE with Maven plugin, and you need to know how to use it ;)

Instructions:

  • Fork this repository (with the fork button, you need to be signed in github.com): http://github.com/salaboy/drools-game-engine/
  • clone your forked repository: git clone http://github.com//drools-game-engine/
  • cd drools-game-engine/
  • mvn clean install -DskipTests (if you run it with tests it will fail on purpose, the rules are missing, you need to write them)

Update your fork from this "blessed" repository

Objective

Write the missing rules to make all the test green again! There are three incomplete DRL files with their corresponding tests:

Homework

Write more rules, improve the existing ones, create more complex scenarios. Some ideas:

  • Create sub goals and expose the compleated subgoals via a query
  • Generalize the concept of a House to be a building with multiple rooms in multiple floors
  • Add the time variable, for example, create a hint mechanism that kicks in after a period of inactivity
  • Expose the GameSession interface using Rest Services and wildfly swarm
  • Provide your own implementation of GameSession, without using the rule engine, so you can compare both impls
  • Add Enemies and rules to avoid entering rooms with enemies

Finally send your Pull Request! or contact me via twitter if you have questions @salaboy