heavyz
 

Espresso Game Framework

Overview

Generally speaking, Espresso is expected to be a mobile game application framework based on the J2ME MIDP 2.0 (Game API).

Interesting games are like beautiful girls: They are charming while they are different from each other. It's almost impossible to summarize the characteristics that all beautiful girls should have. So, i understand the difficulty to create a GENERAL framework for all game applications. What i am doing here is to provide a framework for games that comply to a certain set of rules. That is like to say, hmmm, i am providing a model for creating Chinese beauties. By using this model, you can make a girl with long hairs or short hairs, wearing sexy T-shirt or fur robe... all as you like. But anyway, she MUST be a Chinese girl, with some characteristics, such as black hairs and black eyes, that you can never change. If what you want is a French mademoiselle or an Egyptian queen, sorry, this model does not fit.

Espresso Game Framework project, as described above, aims to support RPG games and SLG (Strategy) games. It will consist of the following subprojects:

  • Kerno is Espresso's basic framework. All other subprojects are based on Kerno.
  • Batto is the battle game framework.
  • Rolo is the RPL game framework.
  • Combo dedicates to the implementation of combats, which may appear in both battle game and RPG game.

This project was registered at SourceForge.net on 2003-05-15.

A Short History

The ancestor of Espresso Game Framework project is a simple Pacman game implemented in C++. It was a project for my C++ course in the Ecole Nationale des Ponts et Chaussees, in 2001. After that project, i found that games might be developed in a similar way by encapsulating game logic of each game element in an individual class and providing a container for them. So i decided to extract the common points and write a more general framework. The original version of Espresso was finished in May 2003, during my internship at Sun Microsystems (Paris). I called it Espresso because every noon i liked to take a cup of espresso, and i chose Java as its implementation language (Java is also a coffee name). Based on the new framework, i rewrote the Pacman game. It ran well.

Later i decided to port the framework to J2ME MIDP 2.0. The next generation of Espresso was implemented at the beginning of 2004, during my internship at EDF. It was a complete rewriting of the previous one, and more design patterns were used. But at that moment, Espresso was only for RPG games.

Now Espresso is under another refactoration. The following screenshots come from the Nintendo's famous game "Fire Emblem". The goal of Espresso is to support such kind of games. I don't know when the first release will appear. I think that won't be long, if i can restain myself not to spend too much time watching DVDs and playing games...

About the Author

My name is ZHENG Zhong (heavyz on the internet). I am a Chinese Java developer. You may visit my homepage to know more (understanding of Chinese is preferred). You can also contact me via heavyzheng.at.hotmail.com