Archive for December, 2007

My third Lisp books

December 29, 2007

In time passed since my last post I was able to read two books: “Scheme programming language” by K. Dubvig and “Structure and interpretation of computer programms” by Abelson and Sussman, and whould like to share my opinion on them. Both books are freely available on Web, so anyone can read them.

“Scheme programming language” is not a very good book. While it describes a lot of features of scheme language, most of explanations too short, not deep and do not help to understand. So, for beginners this book is too complex, for advanced people this book is not interesting.

“SICP” is completelly different story. This book is brilliant! However, reader should be ready that book is about computer science, and not dedicated to Scheme as computer language. This means that book is concentrated on problems which arise in programming independently of language used. But it is important that authors show deep logical issues in usage of each element of Scheme for particular problem. So, reading this book will not make reader a specialist in tricky areas of Scheme (this book, for example, totally misses macroses), but instead it will make reader a specialist in logic, algorithms, program design and will show how in best way use basics of Scheme. Scheme is a simple language, and even it’s basics are enough in lots and lots of cases, so this book is very practical. Recommended to everybody!

Lands of Lore: throne of chaos

December 18, 2007

Lands of Lore: Throne of chaos was one of first PC games I’ve got, and you can imagine that I was really impressed. Excellent graphics, nice and simple interface, great story: the game exceeded all my expectations.

Later I saw “Eye of Beholder” and similarities are obvious. It seems that after EoB 2 ways of SSI and Westwoods were different. SSI asked another company (DreamForge) to produce EoB 3, which later evolved into “Dungeon Hack”, then into “Ravenloft”, “Menzoberranzan” and “Ravenloft 2″. Westwood used a simpler role-playing system which made a game more attractive for novices. AD&D system used in all EoB games and other DreamForge games is more serious, but is very hard to get without reading thick manual.

Main improvement of LoL over EoB is a navigation system: it is still first-person-view, but movements and turns are animated. During course of game player is also given a compass and automap, making travelling in game very easy. Second improvement is puzzle-solving: now it is as important as fighting. I can even say that whole game is puzzle-driven. Third improvement is story: it is reach and dynamic, with lots of quests. This game has shops, so many weak items could be converted in single powerful item. Also very radical move is abandoning of “character classes”, such as traditional fighter/mage/thief/cleric. Now every character can fight with any weapon and cast spells, only proficiency in some skill makes some sort of specialization.

At the beginning you choose a character which will represent you in this world. You have four characters to choose: drakoid who is master in magic, human who is strong fighter, feline (cat-like) who is quick and agile and balanced human. Your hero is weak and poorly equipped. In the castle he is given a first quest: to get a magical Ruby of Truth. Wandering in forest outside of the castle will give you your first fights, and will also lead to several places. If you got to marina without exploring all the forest, then better get out and return later. In the forest you can get to fist cave in the game. Here you’ll encounter secret buttons and pressure plates, and as reward you’ll get lockpicks and lamp. You can sell some items to smith who leaves in castle, and buy a good weapon. When all forest is explored, you can go to marina and sail accross the sea.

Some words about character screen. Here you can control equipment and check stats. There are three of them: fighter, rogue and magic. Each has a level and an amount of experience in it. Experience is given then you deal some damage with normal weapons, ranged weapons or offensive spells respectively. So, just swinging with sword or shooting with bow will not increase your experience.

In southern part you’ll be able to get second character. Fighting here is more hard then in previous forest, so second character will be very helpfull. You’ll get to Roland’s manor and will discover that Ruby was stolen. And that’s just a beginning of story.

I will not put here description or solution, just several things of interest.

  • In this game you will need to improve your characters. If game becomes hard, then you should return and fight for experience. Then you’ll gain a level, then you can advance
  • As I already said, experience is given only for damage. “Heal” spell will not increase your magic experience.
  • Magical items, such as wands, aces, green skull will increase experience of character who uses them. So, if you have some money and want to convert them into experience, then you can buy wands and use them
  • All spells have area of effect. To increase your experience, use spells then several creatures stand on square before you. I think you can affect up to 4 creatures. Hitting 4 orcs with single freeze will be a good addition to your experience.
  • Crossbow “Valkurye” is a special item. It shoots with fireballs. Very good to hit hornets, and will increase rogue experience quite quickly
  • Rogue skill is nesessary to open locked chests and doors with lockpicks. However, level 5 is enough for all chests in game except one. If you don’t want to develop rogue experience, then you can smash chests with weapons, but in this case some items will be lost
  • One of the hardest places in game is 3rd floor of white tower. Spirits here are really bad. There are two ways to deal with them. Easy way is to use valean cube: you’ll get second cube in Yvel woods, just keep it and do not use for destroying second barrier. Another way is to use emerald swords: these weapons will do good damage to spirits and will give good fighter experience, but if you’ll get surrounded – bad to you.
  • In Yvel town, one of barred doors could be opened. Here you’ll get “Hand of Fate” spell and a key to locked door.
  • Save often. There are situations which are impossible to solve. In such case you’ll need to return to earlier position.

Now I’m going to critisize some aspects of game. Some level designs are bad: in Urbish mines, in castle. Enemies later in the game are boring. Some puzzles are not very logical.

It is very easy to cheat in this game. You can find some trainers, but I prefer to hack a savegame file. By trial-and-error method I’ve found several things you can change. To apply those modifications you need to open savegame file with hexadecimal editor and change some bytes.

  • Character levels are easy to find and change: just look for three bytes which have values of levels (offset is +100 bytes from first byte of character’s name).
  • You can replace one character with another! It works for second and third character in party. At offset of +12 bytes from first byte of character’s name there is a byte which controls character. Values are: 03 for Bacatta, 04 for Lora, 06 for Paulson, and 07 for Dawn. Surprize, it seems that Dawn was designed as playable character, but was removed before game release.
  • You can change placement of party on the map by changing two bytes located at offset +585 from start of file. Add 1 to move party to the east, subsctact 1 to move party to the west. To move party south or north you need to add/subscrtact hex value 20. If first byte is “overloaded” then add 1 to second byte.
  • List of known spells is stored in bytes starting from offset +1131. Each byte represents a row in your magic atlas. Value FF means that this row is not used. Value 0 is for spark, 1 for heal, 2 for freeze, 3 for fireball, 4 for hand of fate, 5 for mist of doom and 6 for lightning. Value 7 is for spell “Vortex”, which doesn’t work. Values 8 and 9 are for spell “Caustic fog”, which is the same thing as using green skull. It seems that those last two spells were disabled in game before release.

So, enjoy this great game!