Code of the Savage Update #35

With a new version of the backer alpha live, we get this Kickstarter update for the Ultima-inspired retro RPG Code of the Savage that shares a fairly detailed progress report and a couple of quick videos. The first one highlights the recently updated NPC movement AI:

While the second one talks about the game’s magic system:

Here are some text bits:

Clicking and UI

I got a bit of feedback from multiple people telling me that the constant double clicking was getting annoying and after doing some testing, I completely agree… thus double clicking is no more. Now, to attack, open or interact with things it’s one simple left click.

When clicking on an enemy to attack, a short drum sound is played. I’m hoping this will help prevent accidental attacking of NPCs you don’t want to kill.

Also… containers now open at a fixed location on the screen instead of at the mouse cursor. They then cascade satisfyingly when multiple are opened.

Crops

Crops have received a MUCH needed facelift. The original sprites were among the first I created for this game way back when development started. Now they at least resemble what they are meant to be…

I like to a bit of randomness to the way the sprites are shown, so that patterns are not as easily noticed.

Main menu/Save game system

I’ve gutted and re-written the main menu with a much more functional save game system. There are now multiple save slots. Each slot shows a small screenshot of the saved game as well as date/time info.

I’ve fixed many bugs and issues related to the save game system. There are still some that need squashing, but it will get there…

Open the menu by hitting [ESC].

Enemy NPC movement AI

I’ve updated the NPC enemy movement AI. Ranged units now try to keep a safe distance from the player while also remaining in pursuit. Melee units no longer line up single file waiting to attack the player, like a bad action flick from the 80s.

As you can hear in the video, I also updated the arrow sounds effects. I always like to have some variety in each sound, so there are 6 variations of the firing sound effect that play at random.

NPC Dialog/Frames/UI

The dialog now window has a fancy background, and I have added frames to NPC portraits. When in a dialog, the background fades to dark making it easier to focus on the conversation. NPCs will have different portrait frames depending on their social status, job etc.

Magic system

The magic system received a lot of attention this update.

Spell effects now show up on the stats page of the sidebar (try casting infliction on yourself).

Most of the spells now actually do what they say they do. (some still don’t such as Charm beast, curse). Death grip now functions as advertised.

Spell damage now gets a bonus from the players INT attribute. Mana regeneration has also been added. The speed of which is also dependent upon the players INT.

I adjusted the look of various spell icons so that they more closely match the discipline they are part of. As well as improved sound effects of some spells.

I added an new spell “Burning Redemption” which cures the player of all negative effects at the cost of a small amount of health.

Lots of backend streamlining of how the magic system operates.

Combat system

Player stats now play a part in combat. STR adds a bonus to melee damage, and DEX adds a smaller damage bonus to ranged weapons. DEX also gives a small bonus to swing/firing speed.

The balancing of these bonus’s will obviously need to be tweaked as the game evolves.

I also added an indicator on the stats button when the player levels up to remind you to increase your stat points.

Bonus’s and resists now correctly display when hovering over an item. Elemental resists now also show on the sidebar stats page.

The Lich on Test Island is now a bit more of a challenge 🙂

Share this article:
Val Hull
Val Hull

Resident role-playing RPG game expert. Knows where trolls and paladins come from. You must fight for your right to gather your party before venturing forth.

Articles: 10020

Leave a Reply

Your email address will not be published. Required fields are marked *