Wednesday, January 26, 2011

pre-alpha-1 – 1 – Yogi Bear

Since I am in a feature freeze until I finish this pre-alpha, I am not going to be able to post new and exciting stuff about bright-and-shiny-bing-bong hot new features. So this obviously means that the Internet will declare this project dead. We don’t want that, do we? So I’ll continue posting I my usual style even if I don’t have any new features, only refinements. It will be clearly visible from the title that I’m talking about the pre-alpha.

Optimized rendering engine

I have added a new optimization to the rendering engine. It is very weird and has had some even weirder consequences on mouse interaction with the world (of all things), so I’m not sure if it good or not. Only time will tell. But, it did raise my FPS at maximal strain from 72 to 107-109. That is 35 extra FPS on a stationary screen, so it might be just worth it only for this bonus. As always, when I’m talking about FPS and don’t give any additional details, I always read the FPS on the same machine, with software rendering and an 800x600 window. On my gamming rig I get over 400 FPS with hardware acceleration, but this is not that representative, since my holly goal is to make DwarvesH run on anything with a processor that is still used today by non-dinosaurs. I may not be at my goal yet, but I’m damn close. I hope. All the dwarves have their fingers crossed.

Height map added

A persistent height map has been long since overdue. And now it is here. It has made world generation faster. It will make grass and snow easier to implement and fix in a satisfying manner. And other benefits.

Making the world a little less dull

Partially due to the height map, I can now do some small tweaks in world generation so that the world is not that uniform. I’ll add small patches of sand in the future, but for now we have small de-elevations in floors. It will look a lot better once we have grass in these holes. Also notice that it is possible for plants to grow there and that the mouse cursor selection box is displayed deeper, taking into consideration your elevation:

A lot less hardcoding

While most objects are handled by the editor, there will always be a few entities that have place nowhere but are essential. The tiles for such entities have been hardcoded for ages. This was a huge nuisance every time the tile set changed. Now I can handle these items from the editor. It will be easy to tell if they need adjustments.  This is the only tab from the editor in which you are not supposed to make modifications randomly or risk breaking your game because and everything has fixed meaning.

Missing skills

I removed all skills that are not used, but I would have liked to keep the combat skills in. They have been streamlined. Now we have “Melee” and “Ranged” governing their respective combat style. “Dodge” is useful for everyone. “Armor Use” allows both the better mitigation of damage when wearing armor and the reduction of the penalties resulting from the use of said armor. “Shield Use” is used both for damage mitigation and chance to block. These are the only skills you have for fighting, but I might add back “Wrestling” and others in the future. All weapon specific skills are no longer skills, but proficiencies, which stack with your skills. An expert melee fighter will be able to use all weapons effectively, but will have a bonus if he is fighting with a weapon with which he is proficient. You will not be able to put points into proficiencies, but they grow on use. Dwarves can acquire proficiencies with multiple weapon types, but you do not need to see them all as with skills. In order to activate the adequate proficiency, the dwarf only need to pick up a weapon.

1 comment:

  1. Really great stuff man. This could be huge. I'm loving the interface.