Friday, 21 September 2007

What is jcrpg?

Here stands the brief feature list of the Java Classic RPG framework and the reference game.

Java Classic RPG is a totally open source project (including source and media). Its source is released under GPLv3 License, media is generally GPL, CC or Public Domain depending on the contributor/source's wish.

Complete features:

- Classic tile based world view in opengl 3D
- Ground with small terrainblocks using its heightmap, smooth
- Cave with various parameters (height, size, density, levels)
- Plains, forests
- Economy, populations (partially working) with residences
- Classic keyboard input with four direction movement
- Neoclassic look around in 45 degrees.
- Changing day and night with orbiters and optional lighting and route parameters
- Climate with belts
- Flora engine with climate dependency: continental, jungle, desert and arctic implemented
- Configurable graphics detail level 3D core (based on JMonkeyEngine) with optional grass, water reflection, billboarded trees, fog state, bloom effect, shader based wind animation etc. that can load .obj and .3ds models.

- UI widgets & detailed map system (partially)
- Water system
- Wildlife engine (partially working, group based)
- 3D model animation (md5 based partially complete)
- Audio system playing sounds and music (.ogg)
- Strong skill system (skills partially added, coding of using them is being developed)
- Save/Load of game
- World generator for Geographies / Climates / Waters
- Ecology generator (partially)
- Object system (partially)
- Turn based combat (playable)
- Character leveling

Features of the future:

- Civilization engine (group intelligence instead of personal)
- Special NPCs for plots
- Plot, scripting, quest system
- External map editor
- Other tools
- The reference game
- ?

Basic documents: architecture, game logic.

Last modified 13 August 2008

7 comments:

Håvard said...

Hi!

I'm new at this, so if the question is dumb, I'm sorry..

I see that you're using Blender and Java together.. I'm currently working on a project where I want to model a 3D-virtual world in Blender and trigger small java-games inside this world. Example: If the avatar opens a door labeled "tetris", the tetris-game starts. Do you know if this is possible? Really need help here!

Paul said...

Well, well, it's surely possible. You should export the world in parts or in whole and load it into jme, if you want to use jmonkeyengine. And then you should program the control part as you wish. How to start other 2d games is a question of platform - on web (applets) or standalone applications. It needs work but with jme you can do it. Head to www.jmonkeyengine.com forum if you want more specific help regarding jme.

Håvard said...

Ah! Thanks!! Do you by any chance know how I export the whole world to jmonkey? What type of format will the exported file have?

Paul said...

Well, if you can export it to a format jme supports, you're okay. But that means that you might be losing the scripting details that you can do in blender (I just guess, for which blender's game engine seems good, but that's not java of course :))

Jme can convert these:
AseToJme.java
DTDResolver.java
FormatConverter.java
MaxToJme.java
Md2ToJme.java
Md3ToJme.java
MilkToJme.java
ObjToJme.java
X3dToJme.java

Paul said...

(DTDresolver and FormatConverter are the cuckoo's eggs :))

Håvard said...

Blender can import and export .x3d...
But if I export the world from Blender to jme, will the logics created in Blenders gaming engine follow, or is it just the graphics?

Do you have any other proposition on how I can make a connection between the games and the virtual world? I've been thinking about writing a pythonscript in Blender which trigger the javagames, but the downside is that the javagame will open in a separate window...

Paul said...

I don't know x3d at all and how it's handled in jme, so no idea. Probably folks at the forum may help you in that. I think the per object informations (name of meshes) and such are loaded, so you might be using those (jme is using a scenegraph, so you can get down to subelements).

I have no experience with other engines, so have no proposition.

Twitter