Skip to content

mgemard/ikopit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

home

Ikopit is a non official fansite for the deceased online video game Empire Universe published by Looki (now owned by Gamigo).

It features tools to help players within the game. The project is multilingue:

  • English
  • French
  • German

The project is written in Java 1.7 and uses Java EE. The application is meant to be deployed on Google App Engine. It uses DataNucleus to access the Google App Engine datastore via JDO. We use Objectify to make this easier.

The UI is written in JavaScript ES5 and was initially using Knockback.js. The most recent components has been written with ReactJs. Graphviz and svg-pan-zoom helps us generate beautiful svg. Bootstrap is used for the design and the mobile experience. Gulp helps us with task like sprite or svg generation as well as compiling jsx.

Features

List of chassis, components and buildings

Visualize the list of available chassis, components and buildings in the game with their statistics, cost and production time based on your settings.

Chassis

Research time calculator

Calculate how much time is remained for your research based on your advancement.

Research time

Technology tree

Visualize the technology tree of the game to plan your researches. It also has links to each chassis, components and buildings!

Technology tree

Ship builder

Design your ships as you like with all the components available from the game.

Ship builder

Space battle analyzer

Analyze the performances of your ships in battles.

Space battle analyzer

Find planets using triangulation

The game only give you the distance to an unknown planet. This tool helps you find it using triangulation.

Triangulator

Router planner

You can use wormholes to travel faster within the galaxy. Set a starting point and a destination then let yourself be guided.

Route planner

The site also works on mobile!

home_mobile

Deployment

The website is meant to be deployed on Google App Engine.

There is a gulp file to help you do several things:

  • assemble images as sprites.
  • build the technologie tree as a svg using Graphviz.
  • compile the jsx files to javascript files.
  • place all those files in the appropriate war sub-directories to make them available for the backend.

Then, you need to deploy the Java EE application on Google App Engine. You will need the DataNucleus plugin as well as Objectify.

After thought

Lack of best practice

The site is poorly written. There would be a lot of things to change! From tooling, refactoring, coding style, tests...

Backend mistakes

Using the Google App Engine datastore was a mistake for two reasons:

  • It make us dependant of App Engine.
  • It is useless and we could have used the local storage instead.

In fact there was no need of a back end server and the application could have been written as fully blown single page application!

The project would benefit a lot with a build automation tool like maven or gradle.