This thread is to both advertise and receive feedback on my open-source
(GPLv3) game under development called Khazad. It is 3D, written in Java
and uses the JMonkey engine and it’s associated Nifty GUI system.
Code is available at GitHub - ImpalerWrG/Khazad: A Strategy game based on Dwarf Fortress
A development/suggestion forum is at www.khazad.net
Currently
the engine is still under development and the game is not playable, new
developers are desired as well as initial testers, game-play ideas and
goals are also welcome.
ABOUT:
If this game were a song it would be ♪ Diggy Diggy Hole - YouTube
This will be a game that revels in the glory of the Dwarves, their rise
and fall and re-conquest of their homelands. The flavor will be
somewhere between Tolkienesque and Warhammer, visually it will resemble a
slightly higher polygon Minecraft or Mythruna.
Khazad aims to
become the preeminent open-source Dwarf Fortress like game by leveraging
the talents and skills of the genres small but highly skilled fan base.
In addition to DF it draw inspiration from ‘A game of Dwarves’, ‘Craft
the World’, ‘Gnomoria’, ‘Banished’, ‘The Sims’, ‘The Settlers’, ‘Zeus’,
‘Prison Architect’, ‘Civilization’, '‘Evil Genius’ and naturally
‘Dungeon Keeper’.
A firm technical foundation is being built first, so far this includes
A
flexible map structure structure that can be expanded in any direction
at run-time and which tracks volumes as well as surfaces.
Highly
optimized and multithreaded path-finding which renders everything else
in the genre obsolete, unit counts of ~1000 should be possible with game
speeds that will have the dwarves moving too fast to even be seen.
3D
rendering of terrain, rotating camera and visual slicing of the map to
overcome confusion inherent in isometric or 2D perspectives.
Efficient
object update queue, rather then iterating every game object every loop
all objects are awoken at a dynamic determined future time.
Still under construction…
A
new Job management system which groups individual tasks into logical
group and assigns workers the same task type repeatedly to reduced
wasted travel time.
Demand-pull basied crafting and stockpile
management also know as ‘Kanban’, consumption triggers production
without micromanagement
GAMEPLAY GOALS
Khazad aims to be Deep, Challenging and Accessible.
Depth
comes from a complex and emergent interaction between the choices the
player is presented with. Choices need to be impact-full to the game and
non-trivial for the player to find the best solution. The classic
example is Chess, the player has a modest set of choices, but they are
very impact-full and very difficult to choose between. In creating a
settlement the player should be faced with numerous choices of what and
in what order to develop and how to manage conflicting internal interest
groups. Their should be no EASY choices or choices without a downside.
All elements within the game world which are presented and uniquely
named will be differentiated in some game play manor, mere ‘cosmetic’
complexity will be avoided.
Khazad aims to be Challenging, it has
become the norm to think of the DF-like genre as a ‘sandbox’ in which
the player (once familiar with the game) builds a settlement that is
very resilient and will generally resist all external abuse given even a
modicum of effort by the player. In contrast Khazad will be intended as
a challenge for the player at all times, a game in which survival of
the settlement is always in doubt and being knocked-back several stages
is common occurrence. Should the player build their settlement to a
mighty city they will face the challenges of keeping and maintaining a
kingdom built on fragil alliances, diplomacy and the sword.
Lastly
Accessible, the deficiencies of Dwarf Fortress UI have already been
mostly corrected in games such as Gnomoria, Khazad aims to have a
comparable UI built using Nifty. 3D rendering adds additional
accessibility as was seen in “A game of Dwarves” and Khazad will feature
nearly identical earth X-ray like rendering of underground tunnels.
KEY CONCEPTS
Dwarf
attributes, in keeping with an RPG theme all creatures have a basic set
of attributes, but keeping with the detail orientation of the genre the
attribute set is larger then the 6 in D&D, a set of 14 attributes
will be used, 7 Physically oriented (Strength, Flexibility, Dexterity,
Vitality, Reflexes, Endurance, Speed) and 7 Mental oriented (Logic,
Perception, Charisma, Memory, Judgement, Willpower, Intuition). A roll
of 2D4 is the normal range for each attribute. Each attribute will
directly and transparently effect a different aspect of a creatures
behavior and performance in certain jobs and skills.
Skills,
rather then the genre standard of each Dwarf having a skill level in
each possible skill Khazad will combine the class-tree system of ‘Evil
Genius’ and ‘A game of Dwarves’ with the classes of Dwarf Fortress into a
large tree of 3 tiers with an initial first tier division into 7 core
classes (Worshiper, Thinker, Fighter, Crafter, Builder, Laborer,
Gatherer), 3rd tier divisions may yield upwards of 100-200 highly
specialized classes, but the bulk of game play will be done with the
core classes and their 2nd tier divisions. Low level classes act as
generalists so a settlement can be effectively run with just 7 Dwarves.
Classic D&D character classes will be present to fill a variety of
roles and multi-classing might also be possible.
Off Map
activity, rather then having the players settlement sits passively and
receives attacks, trade and migrants from an outside world the player in
Khazad will send OUT just as many interactions as they receive. These
Expeditions consist of hand-picked dwarves and stockpiled materials that
are directed to a particular world map location with a specific goal,
all of which have an effect on the outcome. The Expeditions are run and
resolved entirely in the background without players being able to
control or see the results until the expedition returns (if it returns).
Significant political activity, wars, alliances and the like will play
out with the player bringing the whole of the Dwarven race under their
kingship as a possible outcome.