Spells

There are two schools of magic with their own sets of spells. Each spell has a mana cost in parenthesis.

Wizard Spells

A—Smite Goblinkind (0)
B—Magic Missile (5)
C—Light (10)
D—Down (15)
E—Up (20)
F—Fireball (25)
G—Blink (30)
H—Mind Blast (35)
I—Great Light (40)
J—Priest Magic (45)
K—Mass Fireball (50)
L—Kill (55)
M—Time Stop (60)
N—Mass Mind Blast (65)
O—Mass Decay (70)
P—Mass Kill (75)

Priest Spells

A—Smite Undead (0)
B—Open (5)
C—Heal (10)
D—Light (15)
E—Up (20)
F—Down (25)
G—Blink (30)
H—Cure (35)
I—Exit (40)
J—Great Light (45)
K—Great Heal (50)
L—Peer (55)
M—Kill (60)
N—Resurrect (65)
O—Mass Kill (70)
P—Great Resurrect (75)

File Extensions

These are the internal file extensions used by the ZXodus][Engine.

.atr:   LZ77 compressed attribute map for 8x2 mode
.bmp:   LZ77 compressed bitmap for 8x2 mode.
.ctile: ColorTILE format tile set.
.dng:   LZ77 compressed dungeon map.
.enc:   LZ77 compressed encounter map.
.img:   LZ77 compressed 8x8 mode.
.map:   World map.
.fnt:   Font set.
.m:     LZ77 compressed P3X music file.
.raw:   Byte-order bitmap data.
.sfx:   Sound effects file.
.twn:   LZ77 compressed town map.
.txt:   Digraph compressed strings, terminated with a zero.

JRPG Class Suggestions

I’m assuming at some point that someone else may want to make a game with ZXodus. Therefore here are some alternate class suggestions.

  • Warrior — Ronin
  • Wizard — Shugenja
  • Priest — Gakusho
  • Rogue — Yakuza
  • Warrior-Priest — Samurai
  • Warrior-Rogue — Budoka
  • Warrior-Wizard — Artisan
  • Priest-Rogue — Shinobi
  • Priest-Wizard — Shaman
  • Wizard-Rogue — Merchant
  • Multi — Kyudoka

30 Years of Ultima III

Yes I know it was released in 1983. But the Atari ST version that I played didn’t arrive until 1986, and I didn’t play it until 1987. Anyway, I’ve decided to give myself a target deadline to finish U3.5. Not publishing it, but hopefully it will enable me to make some progress this year. To begin with, I’m rationalizing the number of groups and pages I’m involved in on Facebook. One side effect of this is that I’ll be moving some ZXodus][Engine documents to this blog. Happy 2017!

Timeline

I note that the Titans of Ether have a timeline. Here’s how U3.5 fits into it:

[71 P.B.]
The Stranger reappears in Sosaria and journeys with a party of adventurers on a quest to vanquish Exodus.

The lost island of Ambrosia is rediscovered.

The Stranger consults with the Time Lord for the first time and gleans the means by which he might destroy Exodus.

The Stranger and his companions destroy Exodus in his Castle. This triggers a violent series of cataclysms that rearrange much of the land, destroying several cities in the process. The destruction is likely the result of Exodus losing control over his transformation mechanisms, which he used to raise the Isle of Fire to the surface with earlier on. Due to his interface with the natural world being destroyed, most of the towns of the Lands of Lord British are utterly destroyed in this cataclysm, except for Fawn, Montor East, Moon, Yew, Paws and the capital town of Britain. The Tower of Knowledge and the Pillars of Protection are both destroyed. The cult of Truth disappears from history altogether from this point on.

General Jakher, commander of Lord British’s army, defeats the forces of Exodus in a massive battle on the Bloody Plains. Thousands of soldiers die on both sides, including General Jakher. Large catacombs are built beneath the Bloody plains to contain the fallen soldiers of both sides.

Nearly seventy years pass as the world recovers from the devastation and anarchy that Exodus had brought. Famine, plagues, rioting, and wars divide the city-states for decades. Lord British keeps the city-states together as best as he can.

It is noted that Lord British and many of his offworld associates do not seem to age.

Moon has become a despicable city full of unscrupulous wizards and dishonest mages. Erstam’s experiments have met with some success. He has barely aged since searching for the secrets of immortality. Erstam conducts shady deals with contacts in Montor East and Fawn. Both of these cities are crumbling economically and physically.

[0000 A.B.]
The current calendar begins.

City-states band together and form Britannia, electing Lord British as Sovereign ruler and Monarch. The Kingdom of Britannia is thus formed.

The system of virtues is established. Yew is given the representation of Justice, and Britain the representation of Compassion. Moon is cleansed of the corrupt mages inhabiting it, much to the dismay of Erstam, and the city is renamed to Moonglow, representing Honesty. Construction on five towns, representing a virtue each, commences.

The Council of Wizards is established, made up of surviving mages from the old Cult of Runes. The mages do away with the old system of magicka levels based on jewel types and embrace the eight circles of magic, expanding the usage of magery to its fullest extent.

Construction on the eight shrines of virtue begins by order of the Council of Wizards.

Azure, first of the great tinkers of Minoc, crafts the eight runes of virtue.

The Council of Wizards creates the eight coloured stones of virtue. Each stone is placed within one of the great dungeons. The wizards hope to stem the evil within the dungeons through the use of these magical stones.

Lord British commissions three Shrines of Principle to be built on the Isle of Fire, the former abode of Exodus.

“The Quest of the Avatar” is announced by Lord British. The quest is meant to offer a new way of life to the citizens of Britannia to find happiness through spiritual fulfillment.

Magincia loses sight of its embodiment of the virtue of humility and the city turns to decadence, materialism, and pride.

[0005 A.B.]
Fawn and Montor East are in near ruin and are abandoned. Erstam and the people of Montor East, Fawn, and many residents of Moon that lived there before its cleansing, protest Lord British’s system of virtues and leave Britannia for Serpent Isle after discovering the Serpent Pillars.

The three great keeps of the principles are erected: Empath Abbey, the Lycaeum, and Serpent’s Hold. Serpent’s Hold is built upon the ruins of Montor East.

Meanwhile, on the other side of the world, the gargoyles summon the spirits of Mondain, Minax, and Exodus to inhabit their three Shrines of Principle. Exodus’ summoning causes the Isle of Fire to sink under the sea, not to be seen again for over three centuries.

Sir Percy rids the islands near the Cape of Heroes of evil dragons and becomes the first member of the Order of the Silver Serpent. The Order of the Silver Serpent is officially established by Lord British, with Serpent’s Hold serving as the order’s headquarters.

Sentri is given the title of Baron and oversees Serpent’s Hold.

[0045 A.B.]
The town of Magincia is destroyed by daemons under the leadership of a powerful daemon known as ‘Virtuebane’, presumably due to the pride of its inhabitants.

Tile Set RC1

u35tileSet

Here’s the first release candidate of the U3.5 tile set. It’s closest to the EGA U4 set, but with some U3 (healing station, thief, cleric and serpent), U4 Upgrade Patch (demon, devil and text) and U5 (walls, floors, doors and ladders) influences. The tiles have 8×1 attributes (only two colors per 8×1 pixel block).

[Edit] For some reason this has the wrong version of the priest. It should feature an ankh, not a cross.

Situation Report

I’ve now listened to #SSSH 33.1. And here’s my response:

Thanks for all the nice things you had to say about my project (especially about the music). I’d just like to clear up a few things. U3.5 is an unofficial epilogue to U3 and prelude to U4. However you do not play the Stranger or the Avatar. You play a new character known as the Envoy. It’s not called Ultima for two reasons; 1) legal, 2) some people feel that calling it an Ultima is a bit presumptuous. It calls back as far as Ultima I and foreshadows events up to the end of Serpent Isle. Inevitably one or two things were missed in the summary. Here’s the status of the project:

The ZXodus][Engine that underpins the project has had a major overhaul as a result of me reading Jason Gregory’s “Game Engine Architecture”. The code is in the best shape it’s ever been in.

Things that are complete:
* Plot
* NPC list
* Tile graphics (2D top down and 3D dungeon)
* Music (engine and 11 tracks)
* Maps (world, settlement, encounter)
* Display systems (top down, dungeon, mini-map, cut-scene)
* World navigation (overview and mini-map)
* High-def character generation graphics
* Mechanics (classes, combat, magic, etc.)
* LOS algorithm
* LZ77/LZSS decompression
* Load/Save parties
* Pseudo-random number generation
* Feelies (manual, reference card, box art, trinket design, etc.)
* Console (keyboard in/text out)
* Character generation gypsy dialog
* Virtue/anti-virtue card graphics
* 3D dungeon engine
* Monster scaler (for dungeons)
* Player reference card
* Weapons and armor list
* Wizard and priest spells
* Moon phases.

Things that are close to completion:
* Character generator
* The four dungeons
* The sound effects
* The scripting engine

Supported platforms:
Yes, it’s written for the ZX Spectrum, but there is a ZX Spectrum emulator available for almost any machine you care to name, including (as mentioned in the podcast) the Nintendo DS, which gets its own U6-themed U3.5 skin for the ZXDS emulator (which uses the touch screen as a keyboard).

ColdSnap Audio

As part of the development of the ZXodus][Engine, which underpins U3.5, I’ve built an audio engine. ColdSnap Audio is a cross-platform music engine for Z80-based computers with AY-3-8910 (and derivative) sounds chips (as used by the Mockingboard for the Apple ][). In fact a friend of mine is looking at doing a 6502 port for the Oric, which might eventually lead to an Apple ][ version. The engine comes in at around 1.8KiB of code. It features ADSR envelopes based on real instruments (brass, choir, flute, guitar, harp, marimba, organ, piano, and strings). Note tables are generated accurately based on the clock frequency of the AY chip in each machine. This ensures that when you listen to the U3.5 music on the real machine (or an emulation of it) it sounds the way it does on the SoundCloud site.

[Edit] ColdSnap Audio is now available to purchase separately: https://zx.itch.io/coldsnap