Vangard

I was reading an interesting book the other day, that had a section that pertains to hunting. A key evolution for humans was the ability to sweat and thus not overheat. The hunting advantage was that a human could track and pursue for much longer periods than animals could flee–reducing the advantage the animal might have in speed. Animals apparently overheat more quickly than humans and need more cool-down periods. Thus, a team of hunters that spell one-another could be a deadly hunting team.

I wish I could remember the name of the book. It is about four ways human evolutionary advantages have become too successful in the modern context. The craving of salt, for example, that is part of the endurance advantage becomes more a hindrance when we don’t need it to run marathons and high blood pressure becomes a health threat.

philfrei, you might like a book called After the Ice, which is about post ice-age archaeology. It’s a long and somewhat repetitive book, but I think it has a special something too.

Fixed the bug that day behaviors would continue their goto instructions into the night. But the problem is when hunters get close to a deer they switch to attack behavior, which remains active day and night, and also has very high priority. So they are still getting no sleep sometimes.

It’s probably not a bug, just an indication that I need to add exhaustion to the mix here. The hunter should tire out after a couple of hours.

After I add that I will upgrade SleepBehavior so that Vangardians that are far from their home will make a little campfire and camp overnight rather than commuting back to their hut - they often spend all night travelling and get no rest :slight_smile:

That’s important for activities like battles, where dozens of Vangardians will need to camp for a couple of days at their respective mustering grounds.

ags1, your medals are nearing 28 :wink:

Are hunters taking that long to kill a deer?

Some don’t seem to be highly skilled with the bow…

To clarify, even the good hunters take a few hours to bring down a deer. Think how long it would take in the real world :slight_smile:

I finally put down my ideas for a magic system.

There are 5 minor arcana and 7 major arcana, each opening up different sets of spells. Each spell is inbdividually upgradeable. Instead of getting more spell points as you get more powerful, you can upgrade the cost of the spells.

Some spells are aligned to the Norse elemnents of fire and ice or to the principles of good and evil, and a caster can’t learn spells of opposite natures.

Its all in a google spreadsheet but I can’t yet figure out how to make it public. Anyway, here is the spell list:

fireball A ball of fire engulfs friends and foes alike. flamingSword A weapon burst into hot flame. freezingSword A weapon burst into cold flame. zombie Raise a rotting corpse as a (potential) servant. Can upgrade from generally hostile zombie to allied zombie. iceBlast A blast of cold radiates from the caster. killingWord The caster has knowledge of the Terrible Word that is death to hear. lock Lock or unlock a door, even if it doesn't have a lock. invisible Become partly or completely invisible. shadowWarrior Conjure a half-real warrior to smite your enemies. summon Summon a demon from the realms of Niflheim, Surt or Ginnungagap. Controlling the demon is an opotional upgrade. blockFire Provides armor against fire. blockIce Provides armor against ice. dispell Break an enchantment. counterspell When targeted by a spell, a counterblast of energy hits the attacker. ward Spells are less likely to succeed in the targeted area. deflect Spell effects are deflected onto a nearby creature, possibly friend or foe. jinx Cast this on a spell caster. Their spells are less likely to succeed. thunderbolt A bolt of lightning shoots from the caster, striking a single target. astralTravel Transports the caster and possibly those nearby to another location. sleep Cause one or more people to fall asleep. sleepwalk Cause a sleeping person to walk to anothger location. terror Cause enemies nearby to take a morale check. curse Curse a creature with illness, weakness or ill luck. blast Shatter a structure with a word of power. fly Fly, upgrade from a slow hover to a swift hawk flight. shapeshift Take animal form. Upgrade to add alter forms or make current alters more powerful. seeming Steal the identity of another Vangardian. whisper Communicate over great distances with other magic workers. undeath Become a lifeless, eternal being sustained by dark magic. eternalLife Eternal life. Less powerful versions of the spell only grant increased longevity. influence Select opponent's answers in cobversations. heal Heal injuries and cure diseases. blessing Bless a creature with strength, health or good luck. friendOfBeasts Summon wild beasts to your aid. light A magical light source. revive A weak healing spell that affects an area (allies only). darkness A cloak of darkness. fetch Send your spirit out of your body to prowl the world. attributeBoost Use body magic to become faster or stronger. confuse Befuddle a victim, stunning them into inaction. familiar Acquire a magical daemonic companion. drain Suck hit points out of a target and gain magic points in return. reverseDrain Transfer injuries, poison or disease from target to yourself. hiddenLand Enclose an area in magic so that others cannot find or enter it. trace Find someone or some thing. cloak Block the trace spell. banish Send demons and spirits back to where they came from. portal Create a portal. Portals you create are connected.

Edit: lots of typos, it was typed on my little tablet. :frowning:

I’m having a few bugs at the moment (player character shoots themselves when hunting, like wtf?).

In frustration I decided to do some work on diseases. This is very simple: a disease is a behavior that copies itself to neighboring entities. A sickness has the effect of causing characters to desire healing potions. For mild diseases (like Sniffles) that is all it does, more severe diseases like Plague should also periodically whack off hit points, alter stats and reduce movement speed.

In my test, I started with 1 sick Vangardian (the player character), went to stand next to a market, and now 6 game days later 244 entities are infected… ;D

At least I have created some market demand for the produce of healers :slight_smile:

Obviously in addition to normal diseases, this model can be applied with a few changes to zombie outbreaks (if I allow Necromancers to cause these) and to sedition or the spread of other political ideas. So once one peasant has revolt against the brutal king in mind, other unhappy peasants can be “infected” with the idea.

Isn’t reality surprising, challenging and dynamic enough? Why take all the nuance out of a game by hammering it with outliers?

I cast a spell upon your finger tips, making them first overly sensitive and then just aporize for a bit, reducing your effectiveness in countering the above leading question. Ha. Magic.

It’s not really an outlier… In the absence of sickness and injury healers and witches have no economic viability. And the disease code is a simple thing to add. Also I think it adds to the dark ages feel. Besides which, disease and magic were intimately linked in the mediaeval mind.

I was more concerned about zombies and spells to set your foe on fire by mumbling the alphabet in reverse order.

It is often very important to get the order/reverse order thing correct. The spell for making a Golem from mud can turn the person who speaks the spell into mud if the wrong order is used.

Yes, zombies don’t quite fit the viking theme. But did you know the Norse idea of a ghost was the dead corpse physically getting up and walking around? I could use the term Walking Dead, but might run into copyright issues. Some of the spells are quite Disney but I will evolve the list… At the moment I can tie about half of the spells to period sources.

But you’re right I think, less is more in this case. Halving the number of spells will give more character to the game, as well as saving me a shedload of code. :slight_smile:

Walking living-challenged.

Bugs, bugs, bugs… Graah! One thing game programming has taught me is to use the debugger. At work I mostly do client server code so stepping through a debugger just invites timeouts, but in a game everything in nicely self-contained and finding the perfect breakpoint is a pleasure.

@Riven I took your advice and cut down my spell list to around 18 entries. There are no attacking spells left - only shapeshifting, illusion, and various kinds of healing and body magic. Getting the AIs to use illusions properly is going to be a challenge…

Hunters no longer randomly shoot themselves :slight_smile:

Root cause analysis: copy-pasting code.

Disease outbreaks cause localized spikes in demand for healing products at marketplaces. In order to meet demand, I have to implement a basic inter-market trading mechanism, so markets can import high-demand items from other markets. To enhance market liquidity, items will teleport from market to market.

Another bug solved: Vangardians now correctly estimate the cost of items in the nearby marketplaces.

Spent the afternoon creating half the runic alphabet in vector graphics. I’m trying them out as cryptic tab headings in the UI:

I might upscale the images slightly so they are not so heavily pixelated.

While doing this I added the ability to load one vector graphics file in different colors, rather than having to define a vector graphic for each color.

I connected the health bars to the player character so they are not placeholders any more. In addition to the health and stamina bars I added a power (magic) bar and an experience bar. Rather than clutter the user interface with labels, you can click the health bars to show the label and text readout.

I also added a carousel widget to my arsenal so that you can click the carousel to cycle through categories, for example in the new marketplace right-hand sidebar (so you can filter for weapons, armor, clothes, food etc) or in the Social view where you can click the Ranking carousel to see how your character stacks up against the AIs:

Currently, the most Experienced ranking is being shown, if you click the >> carousel, it switches to the next category, Most Wealthy.

Here is a view of the market sidebar on the right. Currently it pops up automatically when you get to a market.

[requested dummy post]

Thanks Drenius. I started this thread 9 months ago, so it’s about time I put up a demo.

I would appreciate it if anyone could download it and give their opinions of the enhanced UI.

https://bitbucket.org/aclarke/headline-distribution/downloads/vangard.jar

In this version:

  • A ton of user interface work, including repository views, minimap, powerbars now have rollover text, I use multiple fonts, market trading, stashing at house, collecting from unowned entities

  • numerous stability fixes and resolution of multithreading issues

  • many new AI behaviors like CombatBehavior, ForagingBehavior, DoRecipeBehavior…

Controls:

  • to change game speed [ and ]

  • to zoom in and out: - and +

  • to switch between stats, combat, inventory, minimap, social and debug UIs, mouseover the runes at top left.

  • put player character on autopilot (AI takes over): Shift-A

  • to switch player control to a neighboring entity (you can only switch to entities that can move): Shift-S

  • to view an accessible inventory (e.g. market, home or apple tree): collide with the entity, this opens a right hand view showing the inventory of the neighboring entity

  • to stash at home: go to hovel, open the player inventory view and click the items to drop in the home, likewise click on the right to pick up the items again

  • to collect apples: walk to apple tree, and click the apples you want to collect.

  • same interaction at the market except you can get money from putting items in the market and pay (more) to get them out.