Nearing the first birthday of the Java Classic RPG project the drive to get to a prototype version is stronger than ever and seemingly it is more possible than ever too. The lot work put into different core aspects of the game engine under the hood, it is beginning to bring its first fruits on the UI part too as it is dragging the interface design too with its substance layn down already. Day by day we are getting nearer to a coherent game logic concept and creating/designing/programming the UI for the player's party gives a lot boost to the planning of it. So I'm trying to keep the documents up to date, game logic and architecture google docs received a bit more of input nowadays too.
I'm really happy to tell you that the different encounter phases (Interception, Encounter and Turn Act phases) have gotten a complete set of "first version" prototype windows in the game. Input fields are filled up now, so you can try out with SVN version how an encounter will look in jcrpg. So we are heading with full steam towards the first real combat / social rivalry situation ever in the history of this project... :-)
As much as time leaves will be put into the game till the first anniversary day (this 31 may), and a birthday release will be rolled out! Keep up reading, commenting and such and don't forget: you can still be the first one to donate some bucks here! ;-)
P.S.: I've forgotten to mention that we are in great need for 3D mythic monster models. This will help a lot to get close to the end of the roadmap for version 0.1 of jcrpg which road is currently tread upon.
Saturday, 24 May 2008
Full set of Encounter windows prototyped
Tuesday, 20 May 2008
netbeans 6.1 project settings added to SVN
While experimenting with netbeans 6.1 java IDE I've set up jcrpg project to work with it. I've committed the results into SVN. You can checkout and use/compile/run it easily in netbeans.
Sunday, 18 May 2008
EntityFragments - multi-roaming EntityInstance parts
"An EntityInstance can be fragmented to roam in specific fragments around, and these fragments can rejoin the entityInstance." - for specific tasks and goals EntityInstances will split themselves up into fragments. A base fragment is created upon EntityInstance setup, then later the Instance can create other smaller fragments of the base fragment or unite two fragments. For example a town's fighter group instance can decide to go for a trip around waging war against the enemies of the town. This EntityFragment is very low on contained data, restricted to size and RoamingBoundaries plus a special followingEntityMembers list that contains those NPCs that decided to follow the fragment for a while.
This all will serve as a small physical memory consuming solution for different multi placed operations of an EntityInstance. All the related codes were refactored this afternoon in SVN. A huge step in defining the game logic concept of entities. (I've even removed subEntities list of the EntityInstance class, because no hierarchy will build up of entityInstances, it would be an unnecessarily detailed Entity granulation! Instead EntityInstances consist only of small information containg fragments, and EntityInstances can join alliances or higher level integration groups coded in specific purposeful classes). More such concept definition will follow I'm sure.
Like EntityRelations, it has already been added to EntityInstance class, serving as relation quality storage for inter-entityInstance relations.
Saturday, 17 May 2008
Districts' integration: 'Town', new Grown Infrastructure
Population instances are to be considered fix sized blocks called district of a Town object. Now integration of neighbor districts to one Town is made possible. Also different population owner groups can name their town and district upon settlement. We'll just need a better world map that shows town names to make it funnier later. :)
I've implemented a new AbstractInfrastructure extension called GrownInfrastructure. In this one things are grown together from block to block flowing in random direction inside a Population. It looks better than just shuffled DefaultInfrastructure.
Friday, 16 May 2008
New term: Economic Update Turn
Walking around and around the problem of economic updating after trying different approaches in theory the final method has been born. It's called Economic Update Turn. It happens every X turns (let's say it will be happening daily in a stable version), and if a given population zone's inhabitant number has changed so much (or such an update-triggering event occurres) it recalculates a whole population infrastructure regenerating the population's physical form. (Different size levels are generated in a way that the structure of the previous size feels consistent with the new town structure.) Dynamic districts like in a "building your city" strategy game. The population's structure calculus is depending on extension of the class AbstractInfrastructure. The "reconstruction" turn means a total reload of the player 3D surroundings, a little tool icon showing that there's an economy update turn going on. Upon finishing, the player's position is recalculated to make sure that the player is still on the surface of the world. :) (This and the structure calculus algorithm will need further design, but the current svn will do as a first version.)
Little news is that external steps are also added to the economic grounds (e.g. street). Next turn a bit of EntityInstance relation coding comes.
Sunday, 11 May 2008
New animals in the fauna - models by wciow
A nice pack of models made by wciow at glest.org was added to the fauna of jcrpg. Thanks to wciow for allowing free use of it for the people. The Deer, the Heron and the Wolf was picked out of the models. The fauna of jcrpg is strengthening well! :) (On a side note, I've decided to replace old wolf model by theotherhiveking because the old one does not have a good texture, I hope someone will create one for it later although)
While adding them to the code I've fixed some minor bugs. Pre encounter window was not reset after the encounter (causing a crash to desktop on new encounter with less groups) and remov
ed the unnecessary use of audio-system when audio is configured switched off in config.properties (which was a bug especially using a Linux where audio device can be busy and you couldn't start jcrpg although you switched audio off). So I'm a bit back in the business. I plan to catch up with the population thing with fresh ideas I've gathered during my coding-free period. :)
Saturday, 10 May 2008
jMonkeyEngine at JavaOne 2008 - and a bit of jcrpg too
JMonkeyEngine's great staff has again visited JavaOne conference in 2008 too. They've created several interesting videos. One of them showing different projects using jME. I'm happy that jcrpg was given the possibility to show itself in some of the demo video's scenes! You can check the video with some jcrpg here. :) It includes several other projects demo video cut into one, so it's worthy to check out what the awesome jME is capable of! Thank you jME!
PS.: Here's the javablog post about the day jME was presented (scroll down to jMonkeyEngine part if interested, jcrpg is linked too although as "the Java Role Playing Framework" which is not correct :) ).


