Implementation

Content concentrates on game implementation.

Status Report

Done

  • Registration
  • Authentication [UC] Login
  • [UC] Logout
  • [UC] Choosing World - choose which world/map to play
  • Worlds management (admin functionality)
  • Player management (admin functionality)
  • World map
  • Settlement (town) map
  • Unit management
  • Settlement management
  • Resource management
  • Building management
  • Activity messages
  • Event queue and game engine capable of

Missing

  • Authorization (access to player specific functionality and data)
  • Visualization
  • More buildings
  • Add military units -> add battles and conquering to game engine
  • Resource management
  • Social features
  • Tutorial
  • Manual
  • Story
  • .. and much more

Read a more detailed list here!

Controller

What is your opinion on PHP and front controllers? But.. even you agree, that some kind of a controller is good (in any ways)?

If you haven't read the blog entry yet, READ IT FIRST!

Data Model, Database Table, Value Object and Data Access Object

Let's see what you have to say about my 6 steps of M from MVC:

  1. Design/develop data model
  2. Design database
  3. Implement database
  4. Implement value objects (VOs)
  5. Implement data access objects (DAOs)
  6. Implement tests

If you haven't read the blog entry yet, READ IT FIRST!

Data Model, Database Table, Value Object and Data Access Object

As I mentioned in my previous blog post, I have decided to start small - to develop functionality around player information management. At this point, a sufficient definition of a player would/could/should be something like:
"A player is a registered, identifiable user, who is playing the game. Identification is based on a username, authentication is based on a password. In addition, a player starts playing the game at a certain date and time and his initial origin in the game world is indicated by a set of x and y coordinates."

The following software development steps are very common in order to develop a working implementation:

  1. Design/develop data model
  2. Design database
  3. Implement database
  4. Implement value objects (VOs)
  5. Implement data access objects (DAOs)
  6. Implement tests

The first models that I typically.. Read more!

Development Tools, part II

So I continued downloading and installing tools..

MySQL Server 5.1

Since my web hosting provider only supports MySQL, it’s only logical to use it as the backend. So, I downloaded “mysql-essential-5.1.45-win32.msi” from http://dev.mysql.com. The installation went pretty much down with “typical” settings and “standard configuration”.

Eclipse for PHP

Then I downloaded the package “eclipse-php-galileo-SR2-win32.zip” from Eclipse.org. I have been using Eclipse for Java for many years now and I wanted to give it a try on PHP development.. Read more!

UMLet 10.4

Since I’m in a habit of putting my initial designs “on paper”, I downloaded this handy Eclipse plugin called UMLet. It’s used for drawing UML diagrams.. Read more!

Development Tools

Any comments or questions about development tools can be posted here!

Development Tools

I downloaded and installed some tools! Let's try to get something concrete of out of these things that they call computers. Here what I got and how it went down:

Apache Web Server 2.2.15

I was first thinking of running PHP scripts on Apache Tomcat, since I have a few versions of them on my PC already installed. However, after reading.. Read more!

PHP 5.2.13

I deliberately did not download PHP 5.3 since I know that my provider will not be running PHP 5.3 for some time now.. Read more!