Giter Club home page Giter Club logo

pla-java's Introduction


Automatons 2D game

A 2D game including an artificial intelligence

3rd year educational project

OverviewHow it worksPresentationScreenshotsLicense

Overview

This project was made during my 3rd year in engineering school.

It main purpose was to create a 2D game with Java (and its graphic librairy JavaFX) that would use artificial intelligence with automatons behaviours. I worked on this project with 5 other students and I was fully in charge of the graphic design part. I also helped for the game development (end of the game, implementation of automaton behavior ...).

How it works

The idea of the game is that the player (who can move his character with the arrows keys) has to face enemy robots whose only goal is to reach and hit his character. In order to defend himself against these enemies that spawn frequently, the player can summon allied robots but he needs to collect and gather coins all over the map to do so. These robots can have different purposes that depend on the kind of coins collected (there are 4 different types of them, each represented by a different color):

  • attack the enemies by reaching them and hitting them
  • collecting coins with the player
  • patrol the whole map by moving randomly on it

In addition, it is possible for the player to mix the behaviours (described above) of its robots in order to ensure that he wins. He can do so at the beginning of the game where he can define 4 different kind of robots thanks to sequences. Some of them are explained down below (refer to the selection menu screenshot for a better understanding):

  • M;H stands for Move and Hit, meaning the robot will move randomly and hit and enemy if he is next to him
  • H>M stands for Hit and then Move, meaning the robot will first look after enemies to hit and then move randomly
  • M;R stands for Move and Gather, meaning the robot will move randomly and collect coins

Furthermore, it is possible to combine complex behaviours (for instance {M;H}>{R;M}).

The player has 3 lives and loses one of them each time he gets hit by an enemy robot or if he hits an obstacle on the map (represented by lava). He wins if he survives a certain amount of time. Note that it is possible to play against another player.

Presentation

The presentation is available here.

Screenshots

The whole interface can be seen on the first screenshot on top of this file.

This is the selection menu where the player can define the behavior of its robots (note that some behaviors are already predefined and pickable on the left column):

Here we can see the character and a certain type of coin he needs to collect:

License

© Julien Cordat-Auclair

pla-java's People

Contributors

jcordatauclair avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.