Jan 24, 2012

So, I didn't spent lot of time on FFHtR, I confess.
But would try to find more time for this today.
Also, I managed to add BearLib map generator (another RLGclub project, cool roguelike libs) to semi-random  generator. So, game created small town and populated it. It doesn't look really interesting for now and has some other issues, but I'll fix them and it can be used for game world creation.
Another problem, I can't find sourse of that nasty "double site" bug!

Jan 20, 2012

Soon!

Well, boys and girls, my good friends!
Everybody, who interested in FFHtR!
It looks like 0.0.8 is really coming to this world. Yes, it wouldn't be today or tomorrow, I have few bugs to fix, some canvases to add, but I feel, it is coming!

Also, I really want you, to participate the development! If anybody want, drop the comment, of course, it would be possible for real, after 0.0.8 realize. Different sites, places, creatures and items you always want to see in roguelike, some features from FFH universe.

Participate friends! Drop the ideas, create your sites!
Togeather, we would make FFHtR game with really rich gameplay. I can make tools, but true pleasure, true story would be your part my friends!

I always want FFHtR to be the game of hundred people, but me. I would make tools, but together we would make game for ourselves.
I'll drop some more explanation, if you would be interested, with 0.0.8 realize, of course!

Funny bug has occurred!
Sometimes game counts one random site as two and add it twice.
Two hermits in one cave looks suspicious! ^_^

Jan 17, 2012

I don't feel any aspiration to work on new grab, open and other interface menus, right now.
But, I started making config files, maps and random canvases. It looks like for every 10 configs, we need at least 50 maps and 20-30 canvases. It would provide decent quantity of combinations.

Also, as promised, I'll "confess" why I have deleted previous global map.
Well, It wasn't interesting, no, it was booooring!!!
So, next version would have really small map, literally, maybe 20x20 tiles, some sort of new player territory, but it would have sufficient quantity of interesting features. When we would be sure, that randomization working  good and this small zone would provide gameplay interesting enough, we would enlarge it.

Jan 16, 2012

I have finished semi-random methods for now. Of course, they would be expanding, but we enough for 0.0.8. We should work really hard to use them all.

Also, fixed trade screen, it is not broken now.

So next one, would be interface menus, like open, grab or directly to creation of semi-random database. I think  that 50 random configs and 100 maps would be enough for next version. Later, we would expand this.
I have few FFHtR free days, sometimes we have to do something IRL. ^_^

But today, I have coded additional options for local map generator.
Now it supports randomization in different settings and you can order generator to load another config file (even random from the list), another file can load more configs ans so on.

You understand what I am speaking about, new semi-random methods, combined with decent quantity of map configuration files can give us really random, but interesting world every time, without less productive, but really hard to code totally random generator.

I think, that I'll finish coding it today and would fix trade screen.
After that, we would try to make lots of files (when we test and stabilize this code, we would accept players made, yes, yours!, config files and would add them to the world!).

And, maybe, I'll update "grab" interface to icon one.

After that, I'll report here, why I had cut main game map down and future plans for it, and then 0.0.8 would see   the world!

Jan 10, 2012


This is small screenshot, as example of new generator work. Be sure, it doesn't creates only dwarfs in hamlets! Later, I'll drop some more screens.

1.  Locked chest with trade goods.
2. Random merchant, he is selling items from the chest. (I used "leather merchant" profile, but it can be set to nearly everything).
3. Just some random guy of Khazad faction.
4. This items were in this house before generation, it means you can place some roleplay furniture, like fireplace.
5. Well, that my avatar. ^_^
and, I din't mark a piece of bone, just some trash.

and, it was created this way:
at local map, this zone was marked semi-random, game flood fill it and set borders, then selected semi-random profile variant. It was easy, I made only one, yet, for testing.
It was:


ADD_CIVIL:999;
ADD_CIVIL:999;
ADD_CIVIL:200;
ADD_CIVIL:50;


TREASURE:Treasure\Goblin_Trash_1/1000;
TREASURE:Treasure\Goblin_Trash_1/500;
TREASURE:Treasure\Goblin_Trash_1/250;


MERCHANT:Merchant\Leather,MERCHANT_CHEST;


It doesn't have MIN_SIZE and MAX_SIZE settings, I just want to be placed everywhere, we are testing, you don't forget.

First four lines would add four creatures. Well, two of them has chance 999 of 1000 to be created and we see them, last two had smaller chances and failed to appear. ^_^

Then, 3 treasure profiles. Unpleasantly for residents, I used trash profile, with one, 100% predefined item:

NAME:GOBLIN_TRASH_1;
CONTAINER:NONE;
LOCK:0,0;
ROTTEN;
ONLY_ONE_ITEM_FROM_LIST;
MIN_QUALITY:CRUDE;
MAX_QUALITY:CRUDE;
MATERIAL:DEFAULT;
CANVAS:BONES_GARB,MOSTLY,1;

Sorry guys, just pile of bone, but of course, it can be totally random items, even pile of them.
and the last one of them created merchant chest with trade profile Merchant\Leather (same like treasure profile, you can check them in Res\Custom) and linked it with last created creature.
Enough for now, of course, it would be expanded, but even this tools can create vast possibilities for adventure. Yes, it can be everywhere, at every dungeon, not just monsters and loot, but some themed, but random site!

Jan 9, 2012

What we have here?
I am adding new operators to semi-random sites.
It should have tons of them, creatures, items, merchants, furniture, trash, books, chests etc

Also,  I spent, maybe 15 mins  to add really cool button to talk menu. "Press Tab to start trade", easy and really nice and comfortable! ^_^

Today, I'll tweak broken trade menu or rework it completely. It would be better to make it icon based or not?
And, of course, continue adding new random sites.
semi-random mechanism is working now.
Of course, we need more operators for site variants and more files with such variant, but the main work has been finished.
Also, besides I wrote beforehand, that icon based interface would be used at every place when we have list, I recoded only "item info meny".
And, to addition to this, trade menu broken and talk menu need tweaks.

So, minimal plan is to tweak trade, talk and icon interface and, of course, finish semi-random sites, filling hem with good quantity of variants.

Jan 8, 2012

We are on the half way. Generator completing flood fill and makes table of such rooms to add random sites.
Just for test, generator adding to every such site one civil person of current faction.
I marked 4 houses in Hallowel as random and got random resident in every one of them. Generator respected size and shape of the houses, they are not square ones, but none were outside. Neat!
So, next step is to add semi-random canvases into files.

Jan 7, 2012

As I wrote before, faction semi-randomness wasn't something hard to create.
I got wolfs at first level of Broken Sepulcher. Also, funny bug occurred, wolfs armed themselves with urns, chests and barrels. It isn't new created bug, just item equipment method bug with animal gear. There wasn't any  animal dungeon with standing items beforehand. I'll fix it, of course.
But it isn't that cool, as I thought, I have an idea how to improve this, but later.

Right  now, I working on semi-random content of houses and dungeon rooms, when finished, it would change FFHtR gameplay tremendously, especially if a good list of random canvases would be created.
How it would work?
Lets see, on semi random maps or completely random dungeons some floor tiles would be marked as "random room tiles". If generator would meet such tile, it would use flood fill algorithm to get coordinated of such tiles unit, rooms and would create table of such rooms. Then, game would check every such room and put there something from one of the preset random variants.
For example, our old good hamlet of Hallowel has 10 empty houses, this houses would be filled with  "random room tiles". Generator would form 10 rooms to fill.
Also, Hallowel config file would have something like that:

RANDOM_ROOM:CIVIL_HOUSE_POOR,1,4,200;
RANDOM_ROOM:SHOP_FOOD_RICH,0,2,500;
it means, that Hallowel has two configs for random rooms CIVIL_HOUSE_POOR and SHOP_FOOD_RICH.
Of course, we need really big list, if we want it to interesting, but its just an example.
First number, 1 for CIVIL_HOUSE_POOR means, that Hallowel should have at least one of this, and second number 4, means maximal number of such houses in this hamlet (it is poor hamlet, but it isn't so bad).
And the last one, 200 means, that when guarantied quantity of such sites would be placed, there is 200 of 1000 chance, that random generator would try to select another type of canvas if randomly select that.
The same is for SHOP_FOOD_RICH.

Good, then we open file named CIVIL_HOUSE_POOR.
it looks like this:
NAME:house;
MIN_SIZE:2;
MAX_SIZE:5;

CONTENT;
CIVIL:RANDOM,500;
CIVIL:RANDOM,500;
CIVIL:BEGGAR,1000;

ITEM:TRASH,100;
FURNITURE:PLAIN_BED,800;

well, it is enough for poor house, I think ^_^.
MAX_SIZE and MIN_SIZE would control size of used room, and would tell generator to try another one, if requirements doesn't meet. It would prohibit beggars shacks in palace big rooms and palaces in carton boxes -_-.

So, you understand next, it would add 3 creatures. Persons with random civil profession with chance 500 of 1000 and one guarantied creature with beggar "profession", chance 1000 of 1000 ^_^.
And two items, trash and bed.
FURNITURE and ITEM constants would tell generator, how this items should be placed.

Of course, such system doesn't respect compatibility of room, so we can have shack near palace or thiefs den next to guard station, but it isn't concern of my current work. I need to make it runing smoothly. Compatibility would be future goal. Yeah, it would be nice to have bad, rich, merchant or docks districts, but ok, lets do what we plan first!

Jan 6, 2012

Randomization looking good!
It was easy to make randomized faction selection for sites, I looks further for more random content, like small houses, hermits, lone wolfs etc

Also, GoodSir brought amusing idea about randomization of pregenerated sites, I'll put his great idea to use and then would write here about it!

Jan 5, 2012

One World, One Save Folder, One Player

Well, I have cut multiple save slots and ability to reload game, after heroes death. FFHtR is hardcore once again. Its odd, because I spent lot of time to create that.
Damn, roguelikes should be hardcore! At end of of all, now you can avenge you previous Avatar with help of new one. I think, that I'll add hero status to Avatars killer, as nemesis of %Avatar_Name%, so, it would be easy to find "that bad guy". ^_^
Also, this way of gameplay tends to be more sandbox, that previous one.

Surprisingly, this change was really bugs free. Of course, there are some issues, such as: lands, explored by fallen hero remains explored, but it was predictable and would be fixed, when I would start "word validation, after avatars death" code.

So, next step, as I told before, would be semi-random sites,
then  "word validation, after avatars death" and the last ones would be different small issues from 0.0.7 version.

After that, I'll cut down global map up to small, really small map, I'll write about it later on and would realize 0.0.8  "One World, One Save Folder, One Player" version.

Work progress

If you wander, what is my current concern in game development, so here it is:

As I wrote before, I spent enough time analyzing gameplay of FFHtR and found some critical flaws in it.
I would make some serious changes in gameplay, game world at the next patch.

First of all, I'll cut down existing save system, one game world per copy of the game.
It isn't that horrible, then it looks.
First, it would temporary "resolve" save game files size problem.
And yes, it would be possible to enter game world after the death of one character by other adventure and even recover body and equipment of fallen one.
Of course, game would change game world a bit after every restart, repopulate cleared dungeons, clear trash a bit, pass some game time.

Game would ask you every time you restart the game, create a new world or continue at existing one (yes, of course, it would also speed up game start).

Next step would be randomization of global map. I am not sure, that totally random game world is really cool idea, it is really hard to create and result isn't that great.
So, first change in global map generator would be semi-random sites, with danger level and exist chance setting in config file (maybe I would later add some danger multiplier from distance from starting location and game date, not sure for now), so every time you create new world in older versions, you can be sure - there is level 2 goblin dungeon. In 0.0.8 it can be any type of "cave" site, for example wolfs, of wolfs and bears, or simple goblins, or tough goblins with orc leader etc

Another problem is pregenerated sites, like hamlet of Hallowel, they took lot of time to create and interesting only for the first time, but I don't have any ideas how to improve this, right now. Maybe experience would bring the insight.

And of course, different unfinished business from previous versions, lot of them.