Showing posts with label concept. Show all posts
Showing posts with label concept. Show all posts

Saturday, 30 April 2011

PlanExecutionHelper, Plan types

Yeah, these two are now under development. Some Plan types were invented, so different events and behavior based impulses of the entities can use those types:
public static final byte PLAN_TYPE_EXPLORATION = 0;
public static final byte PLAN_TYPE_SPYING = 1;
public static final byte PLAN_TYPE_PEACE_MISSION = 2;
public static final byte PLAN_TYPE_ENCOUNTER_TRADE_AND_INFO = 3;
public static final byte PLAN_TYPE_PLUNDER_EASY_PREY = 4;
public static final byte PLAN_TYPE_MASSIVE_ATTACK = 5;
public static final byte PLAN_TYPE_SIEGE_POPULATION = 6;
public static final byte PLAN_TYPE_KILL_PMI = 7;
public static final byte PLAN_TYPE_PACIFY_PMI* = 8;
(*PMI = PersistentMemberInstance aka "Non-Playing-Character")
These will have different Executor implementations used by the PlanExecutionHelper. The helper class is also mapping available units of the entity for the tasks based on priority of the plans and the power level of the units. So these plans gonna be in the InformationContainer of the entities serving as incentive and source of information towards other entities like the player.

I imagine that the EntityInstances (large groups of similar beings) will by default have some Plans like exploration/encounter/plunder easy pray based on their set of Behaviors specified for their 'race' in the HumanoidEntityDescription of the EntityInstance. Those plans will lead to meeting with other Entities and thus relations will start to change leading into alliances and massive attacks/sieges etc.

Monday, 25 April 2011

Lesson learnt: Fate of world sealed. plus some AI concept.

Things progressing further: HistoricalEvents stored after won or lost or left battles; more refined decisions can be programmed for Humanoids (of type HumanoidEntityDescription) when they think about choice for encounter (choice: Hide, Attack, Indifference, Encounter (exchange info, commerce)) based on their Behavior patterns, and when they think about how to interpret a relationship level with another group of beings (e.g. based on their Behavior they can be forgetful, raising the relationship level a bit higher) -- these will have a huge impact on the AI vs/pro AI/Player happenings later. Now for test purposes the humanoid races are all quite nasty, attacking each other almost always, downgrading relationships and thus giving more aggressive battles turn after turn, railing down the entity groups around their hometown... Of coures this will receive more care and folks that are peaceful are always going to try to negotiate neutralization, commerce and info exchange with friends etc.

Now to the lesson learned: I had to root out all the HashMap.keySet() or values() method calls for iterating lists of those maps and replace HashMaps with TreeMaps in the encounter/ecology part. Otherwise a random order crawled into the happenings of the historical test application run. EncounterInfo was the culprit, full of HashMaps featuring EncounterUnit as the key, now I use TreeMap instead, and EncounterUnit implementer classes implement the Comparable class as well.

...And randomness was replaced with the Hash based quasi-randomness, and thus the fate of jClassicRPG test worlds had been sealed and unchangeably progressing the same route test run after test run with the same TreeMaps to Eternity. ;P

Tuesday, 19 April 2011

AI getting care, which is planned to result in dialogs

New things are getting into place, EntityInstances (group of beings) are being beefed up with decision making (based on behavior and additional relation data plus informations later) and quick battle calculus is being created to let things happen in the world/history generation phase and later. A lot of placeholder TODO's are placed, which means it's a much wider task than that I'm currently wanting to implement. I'd like to get to the first test of history flows and AI decision flows as soon as I can, leaving the less crucial (but important) parts for later.
After this first part will get it's first iteration of development finished, next stuff will be to add a capability to beings to flush out information streams to other beings (like the player) based on their relationship level. That stream of information tokens will be converted into meaningful dialog by a layer of 'info types to nice text' engine that needs to be created. Also player should be a source of information stream too, of those information that the player gets hold of while communicating beforehand. So you might be kind of resolving gameplay things by sharing information you got. Most probably player shouldn't be able to resolve a communication without the proper informations in the party's 'information container'. So the choices for dialog will depend on both sides' possesed information tokens and relation ship levels.
At least now we have a plan and some of the codes are already being forged. :)

Tuesday, 12 April 2011

Seems like we're dead. But no, undead we are. Updating.

Hey, folks.
SVN just got dependencies updated and code updated to work with it. Well, it's quite quite here to say the least. Because this one bus factor project's solo dev at these times felt like he has to continue some chillout time. Promise was not much kept, the ideas about quest/dialog system was not perfected since the last posts. No excuses.
But yesterday I was kind of say...unnerved by the brainless console fight of dragon age 2. And then I told myself, hey, why don't you friggin get your ass moving and finish those few things that need to be done to get jcrpg into alpha stage... and so I cleaned the dust out of the svn directories and see what's going on in ardor3d first. Now that that's done, I should finally design that brilliant quest/motivation/society's weave generator system. So let's see...
First of all it must be quite simple. Keeping the KISS design (some of you well know it, dear readers) here as well, till we get to a gamma stage. So simple and stupid.
We need a Pattern interface. Patterns should be weighed by importance. These should be blended together into a 'Social Tension Field' so the stuff in them can kind of 'inter-lock' with each other. You should be able to get info about the 'Patterns' and how those interrelate between the different 'Entity' groups. Then you can decide yourself what you want to do. Patterns should materialize in kind of 'Quest Points' where you go and resolve Pattern related tasks. These by the way should be 'player' independent so these stuff should be accessible to other AI parties or just simply put other 'Entities' aka groups or 'Persistent Entity Members' aka NPCs. So all the stuff should be just plain generated on grand level, no pestering with small details. Let me conquer the world...in those Patterns. After all that's what you mostly want in a good ol' RPG?! Have your say.

Monday, 26 October 2009

3D beings displayed in walk mode, more animations

Good news feature- and contributionwise. A quick feature idea born out of 'nowhere', as with the further development of the Entity'O'Meter and skills the code is now able to be aware who you can really percept/recognize, that way it's really straightforward to display those in the 3D world too! And that's already working well and committed to SVN. A little bit more care for the unit placement code and it's ready. I even wrote a little shader that modifies alpha channel of the fragment color to let the appearing units fade in and out instead of instantly popping up. Shaping it nicely. :) Check the owner of the house (the test NPC gorilla for all the humanoid towns :D) on the screenie.

Meanwhile our fearless 3D staff (embodied by tidbit) is ruthlessly treading on the path of The Federated Animation of Mostly All Beings in jCRPG. That means 3 new monsters got animation (idle,attack,damage): harpy, plant'o'bite, lizard. Big thanks to tidbit again! Also getter77 is providing nice new soundpacks to spice up the experience. It will be fun to play with the psychotic, the evil or the nice guy voices just contributed by him. :)

While the freegamedev.net forum is up again and the recovery of the posts and data is underway, the backup forum is still available. I want to keep the separated forum as a mean of alternative even after things get okay on the original forum, but I still think keeping jClassicRPG as a part of the fgd forum community is an important goal.

PS.: further refining placement, a test shot with a group of angry boarmages around. ;)

Sunday, 20 September 2009

Content integration on the way, still more smaller feature upgrades

While TheAncientGoat's worpion monster and tidbit's Shrine model is now integrated along with a proper placement of it around the road blocks (btw, shrines help you resting, giving you relieve from monsters lurking around), I've run into other smaller things that needed care since long. So I couldn't resist to touch those codes - some refactoring, some new codes. Two major tasks were done regarding this: first the upgrade of the EntityOMeter with being type / distance / angle, second is the rewrite from scratch the player movement verification code (logical, not graphical!). This along with nicer code means that a half dozen skills are now worthy to level: mythology/ecology helps to recognize nearby creatures, survival/hide/secure will help you to evade/avoid them, tracking/architecture will help you to spot entities and tell distance, hide/disguise will cover your identity (this one not of much use yet), climbing/tumbling will let you pass over obstacled height (mountains, steep riversides). It's good to know that setting up your Behavior skills is turning those into 3 times more powerfull at skill checks (like when you try hiding, tracking etc.)! Another good news is that I've added a heap of tooltips to the skills. Things are slowly getting over the coding and content integration phase, steadily floating towards that overdue test release.

Saturday, 22 August 2009

Enhancing the UI experience

Now that mouse support is in, I have looked at the possible ways to use the mouse over the default ways of input on the keyboard that are now already possible by using the mouse. Of two major thing the first to have a ButtonRow on the top of the screen, which let's the player toggle the different windows and to start/stop camping (resting). The second thing is to let the player use the character portraits to raise the Inventory or Character sheet for the given character. Both of these are now in the SVN repo. Check the screenshot! :) I plan to add unique image buttons for the top ButtonRow's instead of the text. Also a nice background for the strip. Nicely done contributions for these two would be mostly welcome! (The image buttons for: MainMenu, Map, Camp, PartyOrder, Behavior [party members background skill selection for use while walking in normal mode], Act [do things like use an item, drink potion], Search [look for opening a door, trap, chest]. For size, look at the screenshot.)

Saturday, 1 August 2009

Update on the roads

Yeah, I've tried to come up with something regarding roads. Now it's getting into shape! Certains towns of bigger size are now interconnected. Each town with two of the closest big cities. A web of road will get you into all the bigger towns. Currently it's very early but at least some kind of very simple path drawing is already in, using the WorldSizedFlowDirection class (already used for rivers and their directions). The WorldMap is already showing something of it, but the 3D view and abstract cube architecture is not yet aware of the roads. :) The screenshot shows the randomly generated world, with a few bigger towns connected with the reddish colored road.

Tuesday, 28 July 2009

Considering possibilities

Hey there, long time no post here! I've been on a long discursion into the lands of music - composing a lot of tracks mainly for a fellow FOSS project scourge. That is a great roguelike 3D game. Also a few tracks for parpg the post apocalyptic RPG. As time passed I felt like I should return - anyway as currently I'm the only coder and manager of this project, not much happened to it. :)

Now I've reached a point when I can again concentrate on jClassicRPG. I'm currently considering the next things to do regarding the project. I'm checking what's going on in the jMonkeyEngine community (looks like a lot, a new 3.0 is under construction), and also wanting to create a kind of new roadmap. I'm planning to boost the quest/story/dialog/NPC (persistent characters in jCRPG terminology) part of the game in the next iteration along with adding a kind of roads to the world and better map to guide you in the zones/towns of the world. This will be the first priority.

After all this means that I want to take a kind of shortcut to have an earlier prototype of a 'playable' game and to foresee what the real shape of the game architecture might look like. And to be able to create some kind of more concrete concept for media content (3d,audio,structures) as well. The project needs this shortcut for another reason as well - to let the interested people use it as a way to create some kind of story (tho' not in the usual way as story modules are planned to be injected into the world generation [you won't define a full world with all the places, just certain elements of a story to be weaved into the randomly created world]) and add content for them in an earlier stage that I was planning before - this might catalize the community of the project. This is a slight deviation from my original plan where I was working on implementing a living world which would generate quests and story by itself - but that still might fit into the system in a later stage of development.

I'd like to see some more feedback regarding the usability of the months-ago released previous version as there's been really few replies regarding the call for test. (Well actually there was some useful feedback, thanks them, but it wasn't too much.)

Jasper Brownrigg has returned (he created our beloved main theme) with a nice new soundpack for character voices. I've committed it into the SVN already. Thanks Jasper!

Also jClassicRPG turned two years - just two months ago, eh. :) Happy Birthday! ;)

Wednesday, 22 October 2008

Storage Points for the Economics, 3D model integration

Working to add storage point generation to economics. Currently this means that I coding in the labyrinth part to scatter around chests in the depth of the mazes. :) It will lure the player in probably! :D The economics will know about their number of storage points. Also they are generating the world coordinates by overriding the base getStorageObjectPlaces method of Economics superclass. The storage points are where the so called Entity Common Wealth (the usable properties of the group that are not currently equipped on members) will be stored in different quantities in different storage objects (currently only chests). This implies that you will find only things in those storage objects that the group is possessing - or possessed til you've put your hands on it. :D

goq669 the new developer who joined to help out in some tasks is working on some enhancement of the UI part creating a SimpleLayout for easier page definition. Also he has started to work on the Options submenu of the main menu. It's going to serve for modification of game settings obviously.

Also I've integrated some old contributions (eyebat monster by Scofield and shortsword by andycon). Also added a model found on quadropolis created by deathguppie with CC-BY license, hellpig2. Luckily it's animated and in md5 format. :) Thanks for your precious work all out there!

PS: Forgot to mention a bunch of new audios were added as well. All in SVN for the testing. :)

Friday, 25 July 2008

Tiling on a next level - smoother slopes

No, not releasing yet. It will take some more time because after discussing the tile based ground thing with Zphr who were in big favor of some better non-45 degree ground gen, I've found a quite goodly fitting way to add smoother slopes to the game - using jme's TerrainBlocks on a per tile basis and adding some additional 'cornerHeights' to the geo generated Cube class I could reach something like a thing seen in Transport Tycoons' tiled ground - quads with an angle. Check the screenshots. Some more tailoring will be needed before it's completely usable (trees, grass and such, plus override for economics), but I think it worths the time! :) We have been discussing this every now and then since the addition of 45 degree slopes, but now finally I could find the way that fits the classic cube based architecture of jcrpg! I'm quite happy about this fact...

Thursday, 17 July 2008

Nearing the next release

Well, although we're in summertime so I should expect low interest and low feedback still we're heading for the next release with ultra speed! Countless changes and improvements - again especially around combat. New sounds for spells, new UI graphics effects to easily spot who is doing things, flying 3D impact point counter for the enemies. Now you can quite easily follow the happenings of the combat with the cool turning encounter camera mode. :) Character sheet was improved too, added resistance point output to it. You can also try to leave a combat - in that turn you won't act, and if you survive enemy attacks you can escape. Neutralization social skills too have received real effect - you can neutralize enemies with social skills like Reasoning. :D Also some popups before starting a combat is added for better understanding of the situation. Zphr's actively helping out in the graphics part. Also Tranberry has created point bar graphics for the HUD bar elements! Thanks for them a lot!

Monday, 14 July 2008

Zphr's BoarMage ready to kill + Encounter Grounds :)

Zphr's übercool new Boarman Mage model is ready to rock the battlegrounds of jcrpg! It's completely suitable for a great battle - shooting fire sparks at you if you don't put them to sleep with your Fumes Of Twilight alchemy spell. :D

Another big change has been invented! Discussing encounter visualization with Zphr, we ended up with the idea to introduce Encounter Grounds. The tiled labyrinths and cities where you'll be walking around won't be enough empty and clear space for a goodly visible scenario, so it's a reasonable solution to have a separate 'walked zone' dependent Encounter scenario. Your view will be switched to a 'battle' ground like in many other classic games you were - but still you won't walk on that scene either, we still have the first person view and 'battle line' philosophy of Wizardry 7 and predecessor, instead of the 2d walk-around of other games like the Gold Box series AD&D game. The encounter scenario generated will depend on your actually walked ground's climate/economic zone. I've added a test screenshot with the jungle Encounter Grounds AND the BoarMage. Enjoy! :)

Meanwhile there's now a camera changing method too, in encounter mode, the camera will switch to the actually acting unit and after act the target unit. Cool, isn't it?

Saturday, 12 July 2008

90% ready Skill Act Form architecture - skill/spell tree to design!

Well, the good thing is a really big part of the Skill Act Form system (at least for Turn act phase) is quite ready! This means that we have:

  • basic impact form to decrease or increase all kind of points with the given act form - so you can create normal spells or combat attack forms that decrease stamina or health etc.
  • weapons / ammunitions with BonusSkillActForms for spell and such effects - for creating artifacts (of course with attribute/resistance bonus modifiers too if you want that)
  • armors body part dependent, that can also contain bonus Resistances/Attributes for enchantment
  • State effects - so you can create long time effects for spells like sleep, poison, an elemental shield, long term burning spells etc.
  • act forms can specify contra attributes/resistances that help the attacked resist them
  • usable objects with bonus act forms - to create potions, kits etc. even with long term effects (with the help of the new State effects)
So basically it's time to create the different State Effects (like I've already added Sleep, ElementalResistance, PhysicalResistance), the system of spells and combat forms, a long list of artifacts, armors, potions and the like. Nice, isn't it? And the prettiest thing is - this all works well with the combat system - although AI is lacking a refined choice algorithm yet, it will bash you with the most powerful skill it has at hand. :D (Not that it won't prove efficient - you can easily die! ;-) ) But that AI decision mechanism too will change soon!

Wednesday, 2 July 2008

Inventory and BodyParts in the works

Equipping/unequipping armor to a certain bodypart is now working. Also there's now Body part and Body definitions for different creatures, so they may have different Body build-up. Body parts like legs, torso etc. define their size and criticality upon injury. In a combat chance of body part hit will be based on size of a body part. The criticality of injury is also defined by body part. A lot of inventory thing has been developed, working Give, Drop, Attach (ammo type to a weapon). There's even a draft Inventory Object Detail page to see details about an item.

Also party order can be changed now so the lineup in a combat can be different. It can be done by pressing F5 on the Party Character Order window. A lot of small fixes, and a memory optimization for UI text generation were done (it was eating away a huge amount of memory, I've added caching for font quads now). Steady progress for now, I think! :D

Friday, 27 June 2008

First Particle Effect, EntityMemberState (HP,SP,MP and such) + many updates

Well, we're progressing at steam power level, my RPG-fan friends! We already have a thing we can proudly call a progressing and functional combat. You can die, you can have a Game Over, you can run out of Stamina so you have to wait, or run out of Mana so you can't cast spells. Yes, we have now an extensible effect program thing for the Skill Act Forms (spells, shots etc.) that uses J3DMovingEngine to handle jME based particle effects! Check the screenshot.

Also there's now a Camping button. If you press button 'C' in normal mode you switch to a camping mode with quicker passing time, Interception switched off, replenishing points like health and stamina (until you press C again or an AI initiated encounter surprises you at the start of the turn). The list of new things is not finished yet: we've just introduced Resistance values against skill act form impacts: Pierce, Bludgeon, Chemicals, Cold, Fire and Mental resistance for now! A new font is also replacing simple Verdana for a better more RPGish typography.

Well, yeah, we have now Experience Points as well, and it is accumulated upon each use of a skill! If you can get enough now you can even do a leveling of you experienced character! It's done with the help of the new shiny Character Leveling Window where you can pump some attribute points (which can raise Health, Mana, Stamina, Sanity, Moral points as well) and some skill points - which may lead to addition of new Skill Act Forms to you character if you've hit the right skill level needed for them.

Zphr is still working heavily on new 3D contents for jcrpg. The Boarman Thug is mostly complete with pain and death animation! He's working on a Boarman Mage currently. You've a more complete shot here about the tough thugs!

Much progress, working ahead to version 0.1 steadily. So loyal jcrpg people, get on and do some trumpeting around about jcrpg on forums you are at. We're about to get some serious innovated classic-RPG fun here! :D

Friday, 20 June 2008

Working on EncounterLogic Turn Act Phase playback

We're continuing the accentuated work on turn act phase! Several new things designed to make it a working system. Just to mention a few: added multiple animation type definition for MovingModels, boosted the EncounterLogic with a real turn plan listing choices that units and player made ordered by the EvaluatorBase speed evaluator code. Success of a given skill use is now calculated by EvaluatorBase too. Another new thing is Impact and ImpactUnit that is calculated by EvaluatorBase - modifies actor's points and target's points (like health, stamina) on success.

Based on results different sounds and animations (etc. attack, pain) are played now when available for the model/skill. It's starting to round up well, although this part just needs tones of work as you can imagine. Ugh, not even mentioning the particle system and such that will be needed for spell effects. Lots of work ahead. But it's FUN! Watching the enemy attacking and struggling when hit by player's party members - a visual turn based game logic is (will be) just right before the nose of player. :D

Check the screenshot for a preview - also a faint glimpse at Zphr's brand new fantastically looking animated boarman thugs (modeled in Blender again) and the text box in the bottom shows combat messages of the previous round... Thanks Zphr for doing a great-great job with the boarmen! I will post more about the boarmen when it will be more complete.

All in SVN!

Monday, 16 June 2008

Boosted, boosted encounter code

Dozens and dozens of little and bigger changes are being made to the encounter code, especially the part which abstracts the description of encounter unit topology - lineups in encounter information (containing all information of units and topology of the encounter), encounter unit (common superclass for EntityFragment [roaming groups] and PersistentMemberInstance [NPC]), encounter unit data (for representing a unit with more detailed data in a given encounter, temporary data like generated member instances, current lineup line) -- lotsa lotsa changes I'm not patient enough currently to describe (most of them are a lot of helpful classes to make encounter logic code's calls more uniform, adding generalizer helper classes etc.) ...

Well, the most important change that has been made is that now EntityInstance groups are refactored to contain only one type of units each, thus in an encounter a group can be represented with only one 3d unit (like in Heroes of might and magic for example). In 3d view now you'll see a 3d unit with billboard labels describing unit lineup line/type and current size to help easy measurement of encounter/combat situation. Check the screenshot. So lotsa changes, yeah! :-) And still working a lot now on the turn act phase logic + its visualization. Tough designing and coding times.

Also to make it a little more nicer, I've added partial transparency for the encounter and turn act phase windows - you can see the units behind the window giving a more aesthetic look, probably.

Thursday, 29 May 2008

Character Sheet - first draft but working version

As you can see I've decided to put much info into one page with the help of drop down lists again. It's good enough for a first version, isn't it? All other character data have received place on the sheet, and still room for more values later. Also point bars (health, stamina, morale, sanitz and mana) are present beside the HUD character portraits - with some minor problems with update yet. All in SVN. You must create new characters and a new game - changes made to the character classes require it!

Monday, 26 May 2008

Inventory Window in the works - 4 days left till jcrpg birthday

Coding, coding when possible. Few hours in the night, yeah, trying to squeeze minutes out of the small free time I'm left with. And just passed another day - 4 left till the jcrpg birthday release! :-)

Regarding the inventory I cast my vote for a preorganized (not player organized) categorized inventory. As you can see, I've already added categories and multiselect dropdown lists for items. You can multi select items and later the window will have options like move objects to another party member, drop selected items and such. I've also added small icons to the multiselect list representing the item. I bet it's classic yet easier to use because of the categories. Always sorted, always categorized but a classic look.

Twitter