This new version of Empire Classic is a complete refactoring into Java, attempting to retain the classic user experience as completely as possible, while providing a modern development environment.
The server now runs as a multi-threaded process and uses an SQL database backend.
The clients are decoupled, and communicate with the server over an internet socket in a simple text protocol.
Although it is not required, the two clients presented here are also written in Java.
Things That Are Notably Different
- To support the GUI's ability to map any visible island you are now allowed to "visit" any island that you have viewed on radar to see the land mass. You are still limited from viewing any "ownership" information until you actually land on the island.
- RADAR (although still under development) now provides a combination of information from all radar transmitters in the viewing area (more like an Ascii version of the graphical client). For this reason, the "V" command from ships is unimplemented.
- The timing of automatic updates (census, ship course movement, etc.) is still changing, and may not ever be very close to the original.
- The formatting of NEWS and MAIL is different. Deal with it.
- There are currently no restrictions on the number of ships, islands, players, etc.
- Civilians are stored as a floating point number (instead of an integer). This means that, for instance, updating one time unit 15 times on a quad with a single civilian will grow one new person (where the old version would not, since integer arithmetic would round back down to one each time).
- In the old version, ore on ships was stored as an integer, but 10 times the land quantity. Now ore is stored on ships as a floating point number, and with the same radix as land.
JECThe Java Empire Client (JEC) is designed to provide a modern graphical interface to the classic game.
(Test games currently running are at "empire.floogle.net" ports 8283 and usually 8285)Note that this requires Java 7 to run (download JRE 7 from Oracle).
This is not yet a complete implementation and there are still a number of bugs, primarily in input handling. Mixing up commas and decimal points, extra spaces, and incorrect defaults may all be problematic.
JEC Release Notes:
Only limited functionality is available in the GUI.
Remote Empire JavaDoc This is the documentation for the general interface to the server. This library is used by both the telnet client (JTEC) and the GUI client (JEC), and is available to use to build other clients.
Empire ERD An Entity-Relationship Diagram for the Empire DB.
Empire Bug Reports