Thursday, 31 January 2008

Radical Undecidedness

Hey, yeah, hard thinking, thought of going nuts after day past day in undecided planning... But yeah, finally here's the first draft and radical gameplay cycle diagram for you... really pen and paper, if you look at the photo. :) Mainly about things long forgotten in the past of RPGs... maybe not even classic things - roots of uncontrollable craziness... I'm beginning to think you will get mad in the game for sure! ;-) Or maybe not and you'll like it?

Sunday, 27 January 2008

Progressing Ecology

Wildlife baptized to be Ecology - the main class for all EntityDescription related things in jcrpg. Added some packs for wolf and warthog. In this early unreal stage, as a proof of concept demo thingy, Wolf is predator for Warthog. So these groups will play hide and seek per turn basis. :-) EcologyGenerator is founded too, much coding yet needed to make it good to go for planting the seeds of life on the face of World. First skill-like things are also created - Tracking, BiteFight, Wrestling, QuickPlanning - just to have a taste of it all. And yeah, your Party's class is also added to the source tree with EntityMembers implemented as humanoid.MemberPerson. Turns are being counted now, and some basic calculations for behavior is also done now per turn. You can have some log entries about behavior of nearby living groups towards your party. :-) So we are heading the direction. Hope to get there soon. A world coming alive - hostile or peaceful, no one knows before facing it...

Thursday, 24 January 2008

Animation goes live

Check SVN for the latest sources if you want to run the game with walking gorillas. :-) It was not an easy turn to make it work all together.

First Sirgazil@freegamer was so kind that he made a walking animation sequence to his gorilla model. Next I was trying to make it into jME scenario with the help of BlenderCollada exporter. But it turned out that the export is not so good to make it easily work with jME's collada loader, plus the development of the exporter is halted as far as I know. Then frustrated I visited jME forum and finally found the good way to go: the project md5reader2 for jME (after some changes in the animation reader's code and recompile) was almost perfectly working - except smooth normals were not displaying in the game. I had to re-UV map the gorilla model with a different wrapping and try again - yeah, it's working now! It seems that later animated models for the game that will be created in Blender should be wrapped for example with Smart UV mapping method (or some similar) to be sure that it will work well with jME.

Sunday, 20 January 2008

Small steps taken - Log and Movement

Log UI element has been added to the interface. In this first version it's possible to turn back and forth with PageUp/PageDown keys. This will be important to communicate different wildlife (later other additional things too) dependent events to the player. Meanwhile I've added a very basic movement action (startMovingOneCube, endMoving) to the RenderedMovingUnit. You can check the crazy gorillas moving to and fro in the SVN version. :-)

Friday, 18 January 2008

J3DMovingEngine - kick off coding

Well, I just put some final mods into the Geo Generation code and thought I will leave the externalization of the parameters to a later time and jump right into the currently much more interesting and appealing world of Moving things of Wildlife and such. Basics for it are already in SVN and it's already working in a very primitive way of displaying the rather simple preliminary version of the abstract wildlife content.

The first implementation of the AnimalEntityDescription was chosen to be the so called GorillaHorde. :-) An AnimalEntityDescription means some kind of animal group roaming the wilds and such with parameters as genders, size of the pack and also VisibleLifeForm types such as a male or female gorilla type. An animal entity description is bound to return VisibleLifeForms when you get near to the entity -- which will be converted by the J3DMovingEngine into so called RenderedMovingUnits which represents the quasi 3D parameterization of the being in your view. Very similar to the old representation of static thing called RenderedSide but this time it is much more emphasizing the dynamic attribute of the unit's representation. J3DMovingeEngine will get/load the jME model from the ModelPool when your view distance covers the RenderedMovingUnit's distance. All this needs much tuning and coding yet (like AnimalEntityDescriptor will need a so called RangedBoundary that will tell the game that you have entered its territory...and the start-up wildlife addition to the world with some kind of food chain implementation), but I'm happy to have started it and to show you a shot of the GorillaHorde... ;-)

Thursday, 17 January 2008

First iteration's World Generator finishing

Abstract joining points for the DefaultGenProgram and Geographies through the Generation Rule Set and its GenAlgoBase extensions Flow (River) and Add (Cave) getting completed - yes, soon the Geography Generation meets its finalized first version. Some of the many parameters I want to cut out into a configuration file. Thus I can get onto the next level of development: wildlife and moving units' display system basics for'em. :-) (Check the map's light blue lines of the rivers on the shot... the GenAlgoFlow has created'em...)

Saturday, 12 January 2008

Fixing some of the shadow bugs

I've tried to fire up max settings in jcrpg to test what comes out of my nvidia 8800GTS. ghoulsblade's post on jcrpg forum about shadows reminded me that shadows should be tested again to see if the render pass is still working. It turned out that it's not but fortunately I've found the reason of that. The partially transparent UI HUD image was blocking the correct rendering of shadow volumes. I had to shrink it to it's non transparent size to make shadows work again. I've made shots of the game at full detail (full water reflection, grass, shadows, far view enabled, bloom)...well it made the gpu a heavy stress. I'm not too happy about this, but I don't plan to optimize things in the short future. It still can pump out usable FPS with the 8800GTS ~ 15-30 FPS. :-) Check the one shot I've chosen for you! Unfortunately shadows of the tree foliage is missing...I still have to invent something there as it is not working good with JME ShadowRenderPass by default. Of course this I consider low priority thing.

Friday, 11 January 2008

Preliminary generation rules ready - Map extended

With a few hours of coding GeneratedPartRuleSet is shaping up and is used now in the default generation program. With hashing used again we have a quasi-random generated world geography put together. Still missing the River and Cave (called additional geographies currently in parameterization). This definitely needed visualization so I added an additional layer with colored indication of geography type to the world map (shot shows a 100x100 blocks sized map with 40x40 cubes per block rounding up a 4000x4000 cubes sized map giving surface for 16 millions of cubes to wander through not counting different levels in the Y axis (like caves and later additions). This eats up around 280 MB of memory, so there is possibility to raise the size even further - we still have to experiment with the enjoyable world size for a huge play-timespan RPG that jcrpg can become later).

Tuesday, 8 January 2008

New year's first bits

I'm trying to catch up with the project again as I've been a bit overgaming the past few days and concluded that RPG genre needs the fresh air so much that I can't longer stand still without development. 8-) I've left coding in the world generation parts. The work that must be done is making Geography class aware of its world generation modes and possibilities giving some abstract methods to implement in extensions like Mountain, Plain, Cave, River. The process will get rules described by the geographies directly. This means a way of abstract parameterization of the generation process and also makes easier to add new geographies later without modifying the generator code. Of course this is just a simple abstraction of everyday programming, yet I wanted to share with you in case of interest as this will become a strongly important part of using and extending JCRPG framework. :-) If it gets done then a nifty set of parameters will be available to configure ...and that's only for the geographies and the climate -- many more to come with the future implementation of new parts of the game.

A small problem with compiling the project with java 1.6 was revealed by Jan's post on freegamer forum. It's solved and committed to SVN already.