|
|
JCraft: Real-Time Strategy Game Engine Overview
Overview
| About |
 |
JCraft
is a free cross-platform tile-based real-time strategy game engine (RTS). It includes
support for playing over the internet/LAN, or playing a computer opponent. The engine
is configurable and can be used to create games with a wide-range of features specific
to your needs. The initial version has been initiated by a software project assignment
at the University Of Applied Sciences Rapperswil (HSR).
It has "familiarities" with the famous strategy game called Age of Empires but it is of course
free Software and distributed under the terms of the
GPL
GNU General Public License.
|
| Project status |
 |
- Pre-Alpha_v0.1 (stable but not downloadable anymore)
- Pre-Alpha_v0.2 (Under development)
|
| Keywords: Platform, Principles, Techniques and Technologies |
 |
General
- Java Fullscreen-Mode(FSEM)
- Java2D
- LWJGL (Lightweight Java Game Library)
- Java5
- Windows and Linux
Graphics and related things
- Animated Sprites
- Sprites supports 8 Sky-directions (just like Age Of Empires)
- Tile-Based Movements (JCraft PreAlpha-v0.1)
- Floating-Point Movements (JCraft PreAlpha-v0.2)
- Isometric tile-based view construction
- Tile-based Layering
- RTS optimization techniques (Clipping, etc.)
AI and related things
- Steering Behaviours (JCraft PreAlpha-v0.2)
- Optimized Pathfinding
- Micro and Macro Pathfinding (JCraft PreAlpha-v0.2)
- Group formations / steering
- Resource Gathering strategies
- Smart Random Map and Terrain creation(JCraft PreAlpha-v0.2)
Collision Detection/Avoidance
- Simple Collision Avoidance(JCraft PreAlpha-v0.1)
- Advanced look a head collision avoidance system with Steering Behaviours (JCraft PreAlpha-v0.2)
- Simple Low-Level-Collision Avoidance or Evading (JCraft Pre-Alpha-v0.2)
- Low Level Collision Detection(JCraft PreAlpha-v0.2) with Cell Spatial Partitioning.
Engine Architecture
- Architectural Layering:
-Presentation Layer (View and Layering)
-Domain Layer (Game Logic)
-Technical Services (Communication & Persistence)
Specials
- 3D-projectiles i.e: by Archers

|
| Isometric, tilebased RTS Games Article |
 |
Some of you guys might have read our first article about Real-time Strategy
games at gameDev.net. Well we refined it quite a bit...
This article explains programming language independent concepts and principles in reference to this engine.
Download it and tell us about your opinion. Topics covered in this article are:
- ISOMETRIC-VIEW (LAYERING, ISOMETRIC TRANSFORMATION, COORDINATES, MAPPING TILES TO COORDINATES AND VICE-VERSA (WITH CODE)
- COLLISION DETECTION TECHNIQUES
- FLOATING POINT V.S TILE-BASED MOVEMENTS
- GAME LOOP
- FULLSCREEN-MODE
- PATHFINDING
- STEERING BEHAVIORS FOR AUTONOMOUS CHARACTERS
- GAME ARCHITECTURE (CLASS AND DOMAIN MODEL)
|
| Release Plan |
 |
- Pre Alpha-v0.1 University - Version
Basically Proof of Concept. Implemented features:
-Map Construction (Layering)
-Tile-Based Unit movements
-Tile-based Unit formations
-Unit fighting
-Pathfinding, Basic AI
-Resource Collecting
-Mostly Game-Core work
-Basic I/O handling (Mouse and Keyboard)
-Simple Persistence Concept
-Initial Sound Concept
- Pre Alpha-v0.2
Implemented features:
-Floating Point Unit Movements
-Collision Detection (Low-Level) with Cell Spatial Partitioning
-Collision Avoidance (Low-Level)->Evading
-Collision Avoidance (Look-Ahead)
-User interaction (Action menu) Constructing
-buildings
-educate peasants
-Peasant-Action-Menu
-Warrior-Action-Menu
-Computer AI basics (Interface)
-Steering Behaviours
-Random Map Creation
-improved: Resource-Collection-Algorithms
-improvements (Tree-Fell, Gold-Digging, Fishing...)
-General Performance Improvement
-Intro
- Alpha-v0.3
Implemented features:
-Singleplayer-Mode
-Campaign and Scenarios support
-Tech-Tree
-Computer AI
-(Game logic abstraction accomplished)
- Alpha-v0.4
Implemented features:
-Network-Layer, Multiplayer-Mode
- Beta-v1.0
Implemented features:
-Game Design
-Sound
-Art and Design
-Bug fixes, testing, improvements. No more functionality or Add-On’s! Further Ideas are to be captured and considered at most in v.2.0
|
| Frequently asked questions |
 |
1. What is JCraft? Is it a Game or an Engine?
Actually this is a very entitled questions since a short while ago we didn't even
know it. But it has been crystallized itself out as an Engine and a concrete Game implementation as well!
2. What type of game can I create with JCraft?
JCraft is syntonically programmed to create real-time strategy games with a large variety of features
to choose from. For instance: You can choose between different predefined type of resources like: Water,
Wood, Fish, Grape, Meat, Grain, Gravel, Bread, Gold, Berry, Iron, Loam etc..
To simplify the art part our designer made fantastic neutreal sprites which carry all those listed resources and
even more. You will only have to configure the other images and sprites, determine the game logic and the culture and you're DONE!
You can compare games created with JCraft with well known real-time strategy games like Age of Empire.
Well graphically and the large set of features are astonishing and can keep up with its brothers Age of Empire and
Warcraft, easily.
Not having forgotten about that this amazing game has been programmed completely in Java!
4. I heard that Java is very slow and not capable of updating in a decent framerate at all!
First of all: Alltough it is Java have you ever played any game in resolutions up to 1600x1200?
Well we did it with regular laptops having 64MByte Graphic Card, 512MByte DRAM and far less than 2GH
CPU! Framerate 20-30. Any other questions?
5. When will the project be available for download?
The first beta release is planed to be finished in January 2005
6. Will there be any test game implementation as well?
The first release encompasses the game engine called JCraft and a sample game implementation called
Battle of Enigma. The age will be taking place in the Dark Ages as most of the strategy games do.
7. Where can I download the enigne/game?
8. Is it capable of playing in multiplayer-Mode as well?
Frankly speaking we just can't comply it with our schedule. We just can't afford to exceed the deadline!
And therefore not within the first release...
9. What do I need to run JCraft?
|
| Authors |
 |
The inital version will be developed by Nufer Stephan Kei(SWISS/JAP) and Bühlmann Mathias(SWISS) and star
designer Prokein Reiner(GER)
|
| Hosting |
 |
|
JCraft development is hosted by
SourceForge, and its
FTP mirror is hosted by Hostpoint.
More informations are also available from
|
| Donations |
 |
|
|
|
|
|