CS 428/528 Games and Virtual Environments Homework #2

Due: Thursday February 3, 2pm. EO students you get the prescribed extra "lag time" but are encouraged to stay as close to the main class as possible so that you can ask timely questions. Turnin is by e-mail attachment to jeffery@uidaho.edu. Attachments should not have binaries in them, if I can't compile from your source code, put your turnin on a web page someplace and point me at it, or arrange to deliver binaries to me via CD-R or USB drive.

Remember to put your NAME in a comment at the top of your source code file(s)!

This can be considered a "warm up" assignment for the programming side of the course.

PART ONE. Write a program that complies with the following specifications. Although Unicon is recommended, you can turn in an original program written by you in any language that I can run on my hardware (Linux64, XP, Mac Snow Leopard, and Win7 are at my fingertips, but mind the portability issues even on same-platform machines).

Read carefully and do not underestimate this assignment. It is intended to be do-able but to allow some of you to distinguish yourselves. If you procrastinate, you will probably regret it. Almost every specification below allows you to do more than what is required. You may elaborate as you see fit, but are encouraged to complete the rest of the specifications before investing here.

  1. Develop a PirateDuel game that pits a human player against a computer-controlled celebrity pirate.
  2. The enemy pirate captain should have a name and should utter a range of piratey trash talk intermittently during the battle, possibly in reaction to how the battle is going.
  3. The game should have at least "rogue-level" ASCII-art graphics.
  4. Only one screen or "level" is required, possibly in the shape of a ship or a treasure cave.
  5. The game should have at least "D&D basic" level of combat simulation. This means: players have an inventory of stuff (weapons and armor), along with intrinsic traits (strength, dexterity) and skill/experience.
  6. Character traits strength, dexterity, and "hit points" are to be 3d6.
  7. The game may be turn-based.
  8. Weapons are to include cutlass (1-6 points damage on hit; armor class counts) and pistol (1-12 points on hit; 10 rounds to reload). You may define additional weapons such as whips, or different guns or swords.
  9. Armor classes range from 9 (no armor) to 2 (plate mail and shield). AC8 = shield only. AC7 = leather armor. AC6 leather and shield. AC5 = chain mail. AC4 = chain mail and shield. AC3 = plate mail. AC2 = plate and shield. Yes, conquistadores still wore plate mail, and they were contemporaries of early pirates. Oh yes, each AC point should probably cost the player a dexterity point.
  10. Base probability to hit is 55%. Against swords, armor class reduces hit probability by 5% per point better than AC 9. Against pistols, armor class reduces hit probability by 1% per point better than AC9.
  11. For swords, high strength or dexterity conveys bonuses to hit probability (13-15 = +5%, 16-17 = +10%, 18 = +15%). For pistols, only dexterity conveys this probability.
  12. How many weapons you can carry should depend on your strength; how fast you can change weapons should depend on your dexterity. Strength below 9 = 1 weapon. Strength 9-12 = 2 weapons. Strength 13-16 = 3 weapons. Strength 17-18 = 4 weapons. Dexterity below 12 = 2 turns to change weapon. Dexterity below 18 = 1 turn to change weapon. Dexterity 18 can change weapon with no loss of turn.
  13. Possible outcomes are: death, surrender, or running away. Running away should not be automatic.

CS 528

Your PirateDuel game should be "real-time".

PART TWO. In order to study Virtual Environments, we must begin by examining the technology first-hand. Our first technology study will be "MMOs" -- Massively Multiplayer Online role-playing games in persistent virtual worlds. If you have substantial MMO experience in the past, you can skip this part of the assignment by writing a few paragraphs about the virtual world you have spent time in. Describe the size of its world, the range of character types and development possible, and what styles of gameplay activities it supports.

If you do not already have substantial MMO experience, or would just like to participate with the class, the preferred game this year will be "Lord of the Rings Online". The reasons for its selection (over market leader World of Warcraft) are unlimited free play, and arguably superior graphics. Download the game and get an account setup and active by the due date. We will conduct a session in-game in the near future. You will need access to a Windows machine with decent 3D graphics; e-mail or see the instructor if you think this will be a problem.