Ferazel's Wand

Ferazel's Wand is an action game by Ambrosia Software for Mac OS. It was released in 1999.[1][2]

Ferazel's Wand
Developer(s)Ambrosia Software
Platform(s)Mac OS
Release1999

Plot

Ferazel is a member of the Habnabit race, tunnel-dwelling creatures skilled in magic. Long have they dwelled in peace, but now they are under assault from a horde of goblins, and there are whispers of a far more foul foe leading the goblins.

The game concentrates more on thinking than fighting enemies — boss fights are often a matter of logically deducing a foe's weakness. Later levels emphasize trap-dodging, and all levels contain secret passages and hidden items. It's an RPG of sorts, but not in the traditional sense, in as much as the player fights arcade-style and gains power by finding magical crystals.

Reception

This game was never very popular but has a cult of fans; some created unauthorized sequels and expansions.

gollark: ``` func AddInt32(addr *int32, delta int32) (new int32) func AddInt64(addr *int64, delta int64) (new int64) func AddUint32(addr *uint32, delta uint32) (new uint32) func AddUint64(addr *uint64, delta uint64) (new uint64) func AddUintptr(addr *uintptr, delta uintptr) (new uintptr) func CompareAndSwapInt32(addr *int32, old, new int32) (swapped bool) func CompareAndSwapInt64(addr *int64, old, new int64) (swapped bool) func CompareAndSwapPointer(addr *unsafe.Pointer, old, new unsafe.Pointer) (swapped bool) func CompareAndSwapUint32(addr *uint32, old, new uint32) (swapped bool) func CompareAndSwapUint64(addr *uint64, old, new uint64) (swapped bool) func CompareAndSwapUintptr(addr *uintptr, old, new uintptr) (swapped bool) func LoadInt32(addr *int32) (val int32) func LoadInt64(addr *int64) (val int64) func LoadPointer(addr *unsafe.Pointer) (val unsafe.Pointer) func LoadUint32(addr *uint32) (val uint32) func LoadUint64(addr *uint64) (val uint64) func LoadUintptr(addr *uintptr) (val uintptr) func StoreInt32(addr *int32, val int32) func StoreInt64(addr *int64, val int64) func StorePointer(addr *unsafe.Pointer, val unsafe.Pointer) func StoreUint32(addr *uint32, val uint32) func StoreUint64(addr *uint64, val uint64) func StoreUintptr(addr *uintptr, val uintptr) func SwapInt32(addr *int32, new int32) (old int32) func SwapInt64(addr *int64, new int64) (old int64) func SwapPointer(addr *unsafe.Pointer, new unsafe.Pointer) (old unsafe.Pointer) func SwapUint32(addr *uint32, new uint32) (old uint32) func SwapUint64(addr *uint64, new uint64) (old uint64) func SwapUintptr(addr *uintptr, new uintptr) (old uintptr)```Seen in standard library docs.
gollark: Fun fact: that function cannot be written with a sane type in Go.
gollark: Esolang where multiple different garbage collectors run at the same time.
gollark: When you make an esolang in which it isn't!
gollark: "GCs are actually deterministic"? I smell an overgeneralization!

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.