Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - mkennedy

#621
If a game has a protagonist who performs reprehensible actions then the player will likely not be able to identify with the character and would then not find the game enjoyable. Each person  has their own limits to consider. A game that is poorly written will probably not get played even if the subject matter is controversal. The "Grand Theft Auto" games did well because they were well written and fun to play, (or so I've heard) not just because they were controversal. Games where the goal is to rape people or kill inocents are best avoided in my opinion, likewise I would find playing a racist to be objectionable. If such content as murder, rape, and racism are present in a game then they should not be glamorized and probably shouldn't be made light of either (Though making fun of such things has been done before in shows like South Park)
#622
If you're doing a fan game or a parody then I feel that using ripped sprites is okay, Though I'm not sure how others feel.
There are some fan made Monkey Island games out there using ripped sprites I believe. If however you are making an original game then I'd advise against using ripped sprites. Then there's always the issue of copyright and I'd imagine that using ripped sprites would increase the likelyhood of being issued a "cease and desist" order.
#623
Dictionary written entirely in "lete speak"

Small character (or object capable of mobility) with full conversation who you carry around in your inventory, the character makes witty comments and occasionaly escapes so you have to chase him down and capture him again.

Bunch of pieces that can be assembled (in 3D) to create various other onjects.
#624
"Necronomicon, gateway to the beyond" had a disc that could instal on either a Mac or a PC if I recall correctly.
#625
Now the automated parser also comes in Module form to add the parser functionality to your games. get it at:
http://www.rudolphuebe.com/suf/uploads/autoparsermodV2.zip

Works independant of GUI, use backspace to erase last character if you type the wrong key.
Games made with AGS prior to 2.72 may have some problems compiling so use with version 2.72 games.
If you encounter any bugs or have any problems or questions send me a PM or reply to this topic.
The testing has been limited to Demo Quest III so it definately needs a thurough testing.
#626
Adrift has a built in combat engine and World Builder, an old program for making graphic adventures for the Macintosh had one also. Idealy the player should have the option to avoid most combats using logic, or if you want to do something diferent allow them to pick fights with ANYBODY but have dire consequences if they choose the wrong traget.

Largo: Avast ye, VooDoo lady! I be robbing ye! Give me all yer treasure!
VooDoo Lady: Shame on you! Robbing a poor defenseless old lady! (Pulls out her Largo VooDoo doll and sticks a pin in it.)
Largo: Gaack!! (Keels over)
VooDoo Lady: Serves you right!

Just make sure that combat isn't too difficult or that there's an option to skip it, (possibly earning less points).
#627
The problem seamed to be caused by not capitalizing the first letter in the name of the GUI, so gPars.Visible seamed to work, but gPARS.Visible did not. However once the parser GUI was turned on I couldn't get it to turn back off.  Anyway I decided to make the module work independant of the GUI by storing the typed letters in a buffer and then feeding the buffer into the input for the autoparse code. when the player hits the return key.  So far I've tried the module out with the Demo Quest 3 game, But I haven't been able to see how well it works with other games as the module requires version 2.72 and I don't know of any other open source ags games. If anybody else want's to test the module out with their AGS game they can get it at:

http://www.rudolphuebe.com/suf/uploads/autoparsermod.zip

If you encounter any bugs with the module or have any questions send me a PM and I'll see if I can help.

#628
Ok, Thanks. The reason I asked was I'm trying to convert my text parser template into a module and I need to convert the old style strings to the new type.  so far I've imported a GUI named PARS that has a textbox named wordbox and my code for the module is as follows:

// Main script for module 'prsmod'
int random, inv[2];
String invent,idont,input,nchar,nhot,nobj;

#sectionstart on_key_press  // DO NOT EDIT OR REMOVE THIS LINE
function on_key_press(int keycode) {
  // called when a key is pressed. keycode holds the key's ASCII code
  if (IsGamePaused() == 1) keycode=0;  // game paused, so don't react to keypresses
  if (keycode==17)  QuitGame(1);   // Ctrl-Q
  if (keycode==363) SaveGameDialog();   // F5
  if (keycode==365) RestoreGameDialog();  // F7
  if (keycode==367) RestartGame();  // F9
  if (keycode==434) SaveScreenShot("scrnshot.bmp");  // F12
  if (keycode==9)   InventoryScreen();  // Tab, show inventory

  if (keycode==19)  Debug(0,0);  // Ctrl-S, give all inventory
  if (keycode==22)  Debug(1,0);  // Ctrl-V, version
  if (keycode==1)   Debug(2,0);  // Ctrl-A, show walkable areas
  if (keycode==24)  Debug(3,0);  // Ctrl-X, teleport to room
     if ((keycode >= 'A') && (keycode <= 'Z')){ 
    String buffer;
    buffer.Format("%c", keycode);
//      PARS.Enabled = true ; // line number 23

    wordbox.Text=buffer;
//    InterfaceOn(0);
                           }
}
#sectionend on_key_press  // DO NOT EDIT OR REMOVE THIS LINE

#sectionstart interface_click  // DO NOT EDIT OR REMOVE THIS LINE
function interface_click(int interface, int button) {
if (interface==0) {    //starts parsing, including any global commands
String curs[10]; //Hard code cursor modes
curs[0]="walk";
curs[1]="look";
curs[2]="use";
curs[3]="talk";
curs[4]="USEINV";
curs[5]="get";
curs[6]="pointer";
curs[7]="wait";
curs[8]="LEC";
curs[9]="verb";
int counter,invspk;
String unknownbuffer;

input=("");
input.Format("%s",wordbox.Text);
// InterfaceOff(0);
if (StrComp(input,""))
{ParseText(input);

counter=0;
mouse.Mode=7;
while (counter < 9) {//set cursor mode to typed word
if (input.Contains(curs[counter]))
mouse.Mode=counter;
counter ++;}
// Check for other verbs used
if (StrContains(input,"eat")>-1) mouse.Mode=9;
     
counter=1;
invspk=0;
inv[0]=0;
inv[1]=0;
while (counter <= Game.InventoryItemCount) {
if (input.Contains(inventory[counter].Name)) {//check if spoke name of item
if(invspk<2){
inv[invspk]=counter;
invspk++;}
else Display ("Please don't refer to more than two items at a time.");
if (player.InventoryQuantity[counter]>0){//See if player has any
if (mouse.Mode!=7)
inventory[counter].RunInteraction(mouse.Mode);
else player.ActiveInventory = inventory[counter];
if (invspk>1)
if((player.InventoryQuantity[inv[0]]>0)&&(player.InventoryQuantity[inv[1]]>0)){ 
player.ActiveInventory = inventory[inv[0]];
if(inventory[inv[1]].IsInteractionAvailable(mouse.Mode)) inventory[inv[1]].RunInteraction(mouse.Mode);
else {
player.ActiveInventory = inventory[inv[1]];
inventory[inv[0]].RunInteraction(mouse.Mode);} 
mouse.Mode=7;
}
}
else Display ("You don't have any %s!",inventory[counter].Name);}
counter ++;}
       
counter = 0;
while (counter < Game.CharacterCount) {
nchar.Format("%s",character[counter].name);
if (input.Contains(nchar)) {//check if spoke name of Character
if (player.Room==character[counter].room){ //See if character is in room
nchar.Format("%s",character[counter].name);
character[counter].RunInteraction(mouse.Mode);}
else
Display ("%s  isn't here!",character[counter].name);
}
counter ++;}

counter = 0;
while (counter < Room.ObjectCount){
if (input.Contains(object[counter].Name)>-1){ //check if spoke name of object
nobj.Format("%s",object[counter].Name);
object[counter].RunInteraction(mouse.Mode);}
counter ++;} 

counter = 1;
while (counter < 30){
if (input.Contains(hotspot[counter].Name)>-1){ //check if spoke name of hotspot
nhot.Format("%s",hotspot[counter].Name);
hotspot[counter].RunInteraction(mouse.Mode);}
counter ++;}

Game.GlobalStrings[1] = input; //Set for unique room commands

      ParseText(input);
      if (Said("quit"))   QuitGame(1);
      else if (Said("save")) SaveGameDialog();
      else if (Said("restore")) RestoreGameDialog();
      else if (Said("restart")) RestartGame();
      else if (Said("inventory"))   InventoryScreen();

         SetGlobalInt(6,1); //sends signal to room to contine parsing
}
} // end if interface 0



}
#sectionend interface_click  // DO NOT EDIT OR REMOVE THIS LINE

#sectionstart unhandled_event  // DO NOT EDIT OR REMOVE THIS LINE
function unhandled_event (int what, int type) {
if (player.ActiveInventory.ID>0)  invent.Format("%s",player.ActiveInventory.Name);
if (what==1){
  if(nhot=="") nhot.Format("s%",Game.GetLocationName(mouse.x, mouse.y));
  if(type==1) Display( "You see nothing intersing at the %s.", nhot);
  else if (type==2) Display( "You can't use with the %s!", nhot);
  else if (type==3) Display ("I can't use the %s with the %s", invent,nhot);
  else if(type==4) Display ( "I can't talk with the %s.", nhot);}

else if(what==2){
  if(nobj=="") nobj.Format("s%",Game.GetLocationName(mouse.x, mouse.y));
  if(type==0) Display( "You see nothing intersing about the %s.", nobj);
  else if (type==1) Display( "The %s is useless, leave it alone.", nobj);
  else if (type==2) Display ( "I don't feel like talking with the %s.",nobj);
  else if (type==3) Display ("I can't use the %s with the %s",invent,nobj);}

else if (what==3){
  if(nchar=="") nchar.Format("s%",Game.GetLocationName(mouse.x, mouse.y));
  if(type==0) Display( "%s is a very plain looking person.", nchar);
  else if (type==1) Display ( "I don't think that %s will like this.", nchar);
  else if (type==2) Display ( "%s has nothing to say to you.", nchar);
  else if (type==3) Display ( "%s has no interest in your %s",nchar,invent);
  else if (GetCursorMode()==8) Display( "Not at this time.");}

nchar="";
nobj="";
nhot="";
}

The problem I am now having appears to be with the PARS.Enabled option as when I use it I get an error message stating:

Error (line 23):expected semicolon after ')'

and if I try using gPARS.Enabled instead then I get the message:
Error (line 23):Undefined token 'gPARS'
#629
Is there anyway to convert bewteen the old and new style string formats?
I'm trying to write a program that ask the player for a number and then performs calculations based apon those numbers. Many of the new functions only work with the new Strings (uppercase) and won't accept the old style strings (lowercase) , but when I try to use the older functions with old style strings I get an "...is not a public member..." error.

EDIT: Thanks for the info, the promlem is now solved.
#630
Well to imply emotions you could have something like:

Guybrush: (Sarcastic) Well, that certainly accomplished alot!

Larry: (Flirtatios)  Hey, baby, what's your sign?
Faith: (Annoyed) Exit! Try using it!

If you want to have a character with a truly unique voice than including one or two audio samples of that character are ok. On a rare occasion there may be a game with high quility voice acting where the player is impressed and thinks the voice fits the character dead  on. Just make sure there is an option to include captions, If a player is deaf then a game that only has digital speech without any text can be very frustrating.
#631
Digitized speech is way over rated if you ask me. The files take up a lot of disk space and can never be as appealing as what the player thinks they should ideally sound like. Instead I suggest that when you play a game that you imagine all the dialogue being spoken by your favorite people or characters. For the game creators if you want a character to sound a certain way then describe how they would sound or name an actor that sounds like what you think the chracter should sound like. It's a lot easier and cheaper to tell the player that a character has the voice of Anthony Hopkins or Groucho Marx or Marge Simpson than to actualy get those people  (or even an imitator) to provide voice samples for your game.
#632
Maybe the dreamer needs to get to a final exam, and when they arrive they discover they discover they are under dressed (undies). Two very common nightmares.
#633
Will the robot dog, K9 be in the game also?
#634
My personal favorite was World Builder, But unfortunately it's only for the Macintosh.
http://we.got.net/~mapman/wb/
Winquill may also be usefull.

#635
What I was thinking of would be something like one view of the room looking north, one east, one south,  and one west. I was hoping that there was some way to do this using animation frames, but that would probably require repositioning all the hotspots and objects in the room as well. The scrolling 360 thing would probably work in a 1ST person game, but how would it display other characters that the player would interact with? A 3D plugin may give the nicest look, but how dificult are they use?
#636
What is the best way to implement multiple camera angles in a single room? The simplest way I can think of would just to have a 360 degree panoramic scrolling background, but that would seam rather awkward, especialy if the characters are visible in the room.
#637
The best games will have several solutions for every problem and would require no walkthrough to complete. The best and most clever solutions of course would score the most points where as other sub optimal solutions will net you less points, but still allow you to complete the game. Games with dead ends though where the game can become unwinable are a definte thing to avoid. For such games often use of a walkthrough may be a requirement.
#638
The parser is now available for download at:
http://www.rudolphuebe.com/suf/uploads/autoparsertemplate.zip
Thanks to Candle for the hosting.
#639
Quote from: Edmundo on Sat 03/02/2007 19:50:25
We also need less of the following:[/p]
1. Pirates
2. Paranormal
3. Horror
3. Knights and Wizards
4. Space Adventures
5. Detectives
6. Indiana Jones

Oh man, those are some of my  are some of my favorite things in games!
Did somebody suggest a parody like "Trillby Baggins, 8 Days a Hobbit"?
Or a parody of the Lost show with the "Giligan's Island" crew getting shipwrecked neardby just days before the plane crash and then make the others Headhunters also. Bumpimg Giligan off on purpose (IE murder) would lose you the game, but assigning him to dangerous task like polar bear hunting won't get him killed either.
#640
Text parser are fine, The ability to combine the robust parser ability of something like PAWS or ADRIFT with the graphical ability of AGS would be wonderfull!
SMF spam blocked by CleanTalk