The purpose of the Intelligent Thought
Entertainment (ITE) project is to develop
a networked game engine that supports
grid-based games and custom AIs. ITE is meant
for users to learn how to develop their own AI
and to have fun at the same time.
The project is divided into two layers:
- Client
- Server
The client is a thin-client that connects to
the server and gives a graphical representation
of what is happening on the server. The
server contains all the game logic and rules
and manages players, games, and statistics.
|
Written in python with the help of the
wxPython toolkit, the client provides a
graphical representation of what is happening
on the server. The goals of the ITE client
are to include chat channels, various
game board views, and user statistic displays.
Version 1.0 of ITE has already been written,
but it is a thick-client, containing all the
game logic internally and providing no
network support. Therefore, the next version
of ITE that is under develop is version 2.0.
Goals of version 2.0:
-
Remove internal game logic and
replace with views of
game boards executing on the
game server.
-
Provide network connectivity.
-
Provide ability to communicate
in chat channels.
-
Provide graphical view of
user statistics, including
wins, losses, draws, and
defaults (losses by leaving
game).
|
Written in C++ with the help of libxml2 and
(as of yet undecided) IRC libraries, the
server provides a multi-threaded daemon that
simultaneously executes multiple games and
game types for multiple users. The server
also stores user statistics in a database and
allows users to communicate in IRC channels.
The server will contain all game logic and be
geared towards efficient use of network, CPU
and memory resources. Currently all game logic
from the version 1.0 thick-client must be
moved into the server and a GNU/Autotools build
system established.
Milestones to reach for a version 1.0 server
release:
-
Read XML configuration files.
-
Support game logic developed
as shared-library plugins.
-
Support at least 100 players
simultaneously across 30 game
instances.
-
Support multiple users chatting
in several IRC channels at
once.
|