Mission Impossible? (Newbie - long)
Mission Impossible? (Newbie - long)
- Subject: Mission Impossible? (Newbie - long)
- From: Mike Brinkman <email@hidden>
- Date: Mon, 26 Nov 2001 23:11:22 -0500
Greetings! This is my first post to this list. Please forgive me, but I'm
going to be filling the list with stupid questions for about the next week.
I've got a project that I'd like to do, I'd like to do it in Cocoa, and I'd
like to have it done by December 4th (2001). It is a pretty simple program,
and doesn't have to be commercial quality.
I've got about 2 years worth of C++ and Java programming, but haven't done
any Cocoa programming except a few of the examples from off of O'Reilly. The
bad news is I've been having a real tough time picking up the Objective C
syntax.
The good news is that I've already drawn up a design document (a first!),
and also used the Interface builder to make up some of the windows and
controls.
It really is quite a simple program. It is going to be a gladiator combat
game. Minimal graphics (a few NSImageView boxes that just have to load an
image), and basically mostly text.
First off, let me tell you that my goal here is to learn, and there is no
commercial interest (at least not in this version of the game!). Ideally, I
would like to post the source code & files along with a PDF on iDevGames.com
as a tutorial when I am done with it, so others may have some sort of
stepping stone for Cocoa games. Your help will be greatly appreciated, and I
will give thanks in the "About" box if I use your recommendations (with your
permission, of course)!
Here is a run-down of my game. It is a high-level overview of the design
document:
The game play will be sort of like combat in D & D, turn based. You'll get
to attack or use an item. After you take your action, your opponent gets to
take their action. You fight until one of you is killed. If you win, you go
on to the next opponent, with an opportunity to buy new items with your
prize money. You will gain a bonus to your base values with each win.
Most things will be random within certain parameters. For instance, if you
hit your opponent with a Club that does 1 to 4 damage, the computer will
choose a random value between 1 and 4. I'm sure you get the idea.
Windows:
Create Character
Combat Combat Screen
Victory/Defeat Dialog boxes
Store Screen
Create Character Window:
All this will ask for is the name of your gladiator. All other values will
have default initial values for them.
Combat Screen:
Two NSImageView boxes for displaying player & opponent. The player's
character has only four attributes: Hit Points, Armor Class, Damage and
Money. There are buttons for "attack" and "use item," and text boxes for
armor class, hit points, damage and money. There is an NSTextView label for
the player and opponent below their images. There is also an NSTextView box
at the bottom to relate the action: "You hit Thorax the Invincible for 3
damage!", "Mongo the Unstoppable misses you with his attack!", "You drink a
healing potion and regain 5 hit points!", etc.
Victory/Defeat Dialog boxes:
This will be two different boxes. The Victory Dialog box will say "You Win!"
and give the player button options of "Save", "Quit" or "Continue to next
fight". "Save" will save the current player's character. "Quit" will quit
the game without saving. "Continue to next fight" will take the player to
the store screen where you can buy armor, weapons, potions, etc.
The Defeat Dialog box will say "You Lose!" and give the player button
options of "Quit" and "Start Over". "Quit" will quit the game, and "Start
Over" will take the player to the Create Character window.
Note that a player may quit at any time, but any unsaved data will be lost.
The player can't save during fights, only after them.
Store screen:
The player will be able to buy various items that will improve their stats.
Better weapons will cause more damage, better armor will make it harder for
you to be hit, and potions can be used to either heal the player's character
or damage the opponent.
There will be an NSTableView list of items and costs, an NSImageView for
displaying the item, and an NSTextView box describing each item's effect(s),
and an NSTextView label showing how much money the player has remaining.
There may be a few design elements I haven't taken into account yet, but I'm
certain that those will become apparent over the next few days. Thanks to
everyone who took the time to read this far, and even more thanks in advance
to those who reply!