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 - Ghost

#161
The Rumpus Room / Re: MUFASA RKG
Sun 12/04/2015 23:01:09
...Cthulhu?
#162
The Rumpus Room / Re: Happy Birthday Thread!
Sun 12/04/2015 22:59:40
Happy one, Atelier! I always forget how YOUNG you are :D
#163
That's an old discussion. Do more verbs allow for more interaction/puzzles/immersion, or is it better to streamline gameplay? Personally I keep an open mind. Interactive Fiction, I think, was the true master of "really very many verbs that actually do something". Graphic adventures often did a good job of being enjoyable with a smaller set of commands. Having (non-puzzle/plot critical) objects and characters in a game that I can interact with is more important to me than just having a lot of commands, none of which are useful or entertaining.
I am surprised by his "less story" line though, but that's highly subjective I guess. I never played an adventure game only for the puzzles' sake.
#164
I would also go for option 3 if you really aren't quite sure how things'll pan out and you'd like to play it safe. As Baron said, making up some swearwords can add a nice rich feeling to a game. I remember playing Planescape, where you're covered in oddly familiar-sounding yet totally in-universe slang and mild swears, it made me think that yes, this really is stuff that is part of the game's setting and culture. It was absolutely justified and never felt offensive.

Another thing: There's something about swearing (and other "forbidden") stuff that can draw in additional audience. If there is a reason for the strong language, you may win people over by just sticking to what you want to put into the game. While there can be controversy, you can also get people saying "Yeah well it IS rough and PERSONALLY I would've done it different, but that game is true to its material and doesn't go the easy route, and that I can respect." I'm not suggesting to use pure "shock value" to get some buzz, I just have followed several discussions where people agreed with mature themes because they, too, felt treated as "more adult" by a game/movie/book.
#165
I sometimes miss Rubacant and wonder what he's doing now.
#166
Quote from: LuminescentJester on Fri 03/04/2015 04:26:45
Its hard to become a game maker because first there's all this really hard learning curb stuff to get past while everyone else acts like its easy I guess? I suppose rather or not I succeed will show rather or not the victory simply goes to the most stubborn.

There is a learning curve and at times it can feel steep- keep in mind that most people who respond to help threads are experienced AGS users so from their/our point of view things "are easy".


Mouse modes:
You can actually disable a mouse mode via a script command. You'd place it in the GlobalScript's game_start section:

Code: ags

mouse.DisableMode(eModeInteract);

Snarky already covered this... :)

Dialog with Phoenix-style face:
This requires you to code your own dialog code. By default, AGS only supports dialog being displayed as a set of lines where you pick one. You can, however, override this. The manual has a whole section about it, just search for "custom dialog rendering" and you'll get a simple but easy-to-follow explanation with example code. What you want to achieve *is* possible but AGS can be a bit tricky once you step off the "beaten path".
#167
A lovely theme! I just started on a new job and don't know if I can get something done but... oh listen... I hear the siren song of night shifts...
#168
Making a game is how we decorate rules with entertainment. (nod)
#169
The Rumpus Room / Re: Happy Birthday Thread!
Sat 28/03/2015 11:25:55
Happigen Burtstach, abstauber! Have a good time!
#170
No, sorry. Snarky's solution is much truer to the adventure game spirit, which requires each solution to be as complicated and convulted as possible. HandsFree, sorry again, but your solution is only 1/2 Malcolms*, but Snarky manages a full 2 Malcolms PLUS his approach can easily be complicated even further.
__
* A traditional measurement of adventure game puzzle solution convultiveness. 1 Malcoms is the time you need to say "Holy shit I would never have thought of doing it this way but now that I did it makes even less sense" three times in a row while balancing a pinecone on your nose.
#171
Quote from: Mandle on Wed 25/03/2015 16:36:05
I am not a tetser! I am a free man!!!

No, Jonny. You are the testermandle. :=
#172
You need to create all the handlers, you can't just copy them anywhere. AGS always puts them in the right place too, so there's probably some error because you copied code without creating the actual functions within AGS.

Code for the characters goes into the GlobalScript file. Open the Character tab in the editor, open the event handler pane (click the little flash button), find the handler and click the "..." button. This creates the function headers for the event handler, and you can then type in (or actually copy in) any code you want.

For rooms it's the same, only you need to create the function headers from the room pane, and each room has its own script file- room code never goes into the GlobalScript.

If you can't get it to work, feel free to PM me; I can check your code and maybe fix it.
You're not alone here, these are common "beginner's problems" (no offense) and I bet it's something really simple that's going wrong.
#173
Quick-and-dirty random walk code, Variant A
First create the repeatedly_execute event handler for the room where you want the cGuy character to move around. Then:
Code: ags

function room_RepExec()
{
	// first pick some room coordinates- make sure to keep them within the room's actual size!)
	int xPos = Random(0,320);
	int yPos = Random(180, 210);
	
	// with a chance of 3% we order the character to walk to this position:
	int i = Random(100);
	if (i < 3)
	{
		cGuy.Walk(xPos, yPos, eNoBlock, eWalkableAreas);		
	}

}

This is VERY basic: We never check if the character is already moving before setting a new location, but it's a start. Alternatively you could use a timer which allows you to set a manual delay. But maybe this simple snippet
already is enough.

Quick-and-dirty random walk code, Variant B
Use the FollowCharacter command. This makes one character automatically follow around another, and you can set how far away they stay. Once you call this command the following character will also automatically switch rooms with the player, so if you do not want this, you will have to disable the "follow mode" yourself.
To start "follow mode" just call this code- in your case, just after the character accepts that one inventory item from your player and before the room chance:
Code: ags

// GIVE ITEM
cGuy.FollowCharacter(player, 120);
//ROOM CHANGE COMMAND


And this is how you make cGuy stop following the player around- you would put this into the room's room_leave event handler.
Code: ags

function room_Leave()
{
	cGuy.FollowCharacter(null, 120);
}


Dialog depending on room code
This is a simple template; make sure you actually CREATE the cGuy event handler- the rest you can copy/paste:
Code: ags

function cGuy_Talk()
{
	player.Say("Hey, do you know where we are?");
	cGuy.Say("Hmm...");
	// these answers are picked depending on the room:
	if (player.Room == 10) // the streets
	{
		cGuy.Say("We're at Crosslake Road. Nice place. My favourite bar is here, just to the left.");		
	}
	else if (player.Room == 11) // the factory
	{
		cGuy.Say("This is the Bacon Processing Plant, where all the bacon is made.");
		player.Say("Oh, THAT is the smell!");
	}
	else if (player.Room == 12) // secret room!
	{
		cGuy.Say("We're in the boss lair. Hear that stomping?");
		player.Say("Yes...?");
		cGuy.Say("Well that's the CYBERDEMON we borrowed from DOOM.");
		player.Say("Ohhhhh....");
	}
	else // all other rooms trigger this:
	{
		cGuy.Say("Actually, I have no idea where we are. I have never been here before.");
	}
}


Hope this gets you started. ;)
#174
Ah, I get it now- sorry ;-D

To make a character move around without blocking the game, use the Walk command with a "noBlock" paramater. For example:
cGuy.Walk(12,60,eNoBlock);
will make the cGuy character walk to screen position 12,60 and then instantly returning control to the player- otherwise the game would force you to watch him walk all the way while blocking your cursor.

This can be used to have characters walk around a room- you would, in the room's repeatedly_execute function, write code to occasionally set a target position for a character and have him "prowl the room". If this interest you I can provide example code.

Animations and dialog are always possible. You will always have to provide the code in the characters event handlers and make sure they check if certain criteria are met. For example, a "talk" command could check in which room the player is, and depending on the room the guard could provide different comments. This is why if-clauses are your new best friend :D

If you just want a one-time scene playing out, you could even use a cutscene:
Code: ags

	StartCutscene(eSkipESCOrRightButton);
	player.Say("Well, now we are here.");
	cGuy.Say("Yes. That was interesting.");
	EndCutscene();

The benefit here is that you give the player a chance to abort a (lengthy) scene, but keep full control of when you return control to the player.
#175
Quote from: MufasaRKG on Wed 25/03/2015 04:43:20
When you enter that room that he / she is now in, how can you get the character to been seen through animated view? Otherwise, getting him to move all around on his own in room while you can set certain interactions with him. Are you able to use new inventory items on him and continue to switch his rooms as it follows?

I am not quite sure what you mean with "through animated view"; if you explain what you want to achieve I am sure we can find a solution, though (nod)

As for the rest, all of this is possible. As far as AGS is concerned, the player character and any NPC you create are just "characters", and they all have access to the full suite of commands.

1) In order to switch rooms, you use the ChangeRoom command. It takes at least one parameter, the target room number, so:
CHARACTER.ChangeRoom(ROOMMUMBER);
This can be used for every character and allows you to have the cast of your game switch rooms as you desire. You can also call it with coordinates so that a player is instantly placed where you want them to be.

2) In order to have someone being able to "react" to several inventory items, you just need to expand on the code I posted back up there, by checking for multiple items:

Code: ags

if (player.activeInventory == iTicket)
{
  player.Say("Here is my ticket!");
  cGuy.Say("Okay, move on!");
  player.ChangeRoom(12);
}
else if (player.activeInventory == iBanana)
{
cGuy.Say("I am not hungry.");
}
else
{
  cGuy.Say("No, I don't want that.");
}


The idea is that the script will check all the if clauses to see if it has a response for the item that was used on the character, and only if no match is found, the last "else" is run.

===
These are all very basic commands and you can easily read them up in the manual (press F1 in the AGS editor)- there you will find full examples on how to use them, and what parameters you can set. This is "bread and butter" stuff and I suggest you make sure you understand them; once you get some basics and the control structures down, you'll quickly be able to write very complex scripts without ever having to learn much "harder stuff".
#176
Quote from: Gfreezie on Tue 24/03/2015 21:28:42
Thanks! Ive started with the lazy way, but it still says the original verbs in the action bar.

The buttons are sprites with text on them. The 9VT displays the "action text" depending on the currently selected action, and *that* is done by using (and combining) strings of text. You will need to open the guiscript.asc file and find this function:
function TranslateAction(int action, int tr_lang)

There you can edit the strings easily; just match your desired text to the actions.

Quote from: Gfreezie on Tue 24/03/2015 21:28:42
How do I use these verbs anyway? I know it's something to do with the "Usermode1" and "usermode2" items but otherwise I don't know.
In case of the 9VT there is a lot of custom (and awesomely complex) scripting but it boils down to: When clicked on, every "thing" in an AGS game will check what action is currently active, and then ceck if it has an event handler for this action. If this is the case, the code in that handler will be executed. Check one of the objects/inventory items/hotspots provided by the template: The code you see there is just a set of if-then commands. IF the current action is "Look", THEN make the player say "This is a banana and it looks funny."

(Usermode1 and 2 are AGS's way of providing "custom" verbs. The original ones are eModeWalkTo, emodeLookAt etc- just an enum that has the basics covered. Again, the 9VT is an extremely advanced bit of scripting and it provides a lot of comfort, but depending on your knowledge of AGS it can be tricky to customize/edit it)
#177
Quote from: monkey_05_06 on Mon 23/03/2015 19:03:52
The parameter to Game.DoOnceOnly has to be unique to the condition.

Thanks for clearing that up! The manual's line is a bit more vague IMO, maybe worth a change?

Quote from: MufasaRKG on Mon 23/03/2015 13:57:59
This is more of an learning curve then I thought!

The learning curve is mostly to grab the concepts of AGS's inner workings. Once you get a clear idea about the different things you build your game from, you will soon find that the commands for them are almost always the same, and then it's easy to familiarize yourself with what's most often used. There's never any harm in asking too; people will always help you out- I wish you a good start!
#178
A red hot congratulationdrive from me too. Well deserved, that game sure made me wonder just HOW you guys did it.

Seriously. How *did* you do it?

It's witchcraft, isn't it? You have half a broom, one honeycomb, and a woodruff leaf in your cellar and you're doing really mystic things with that.
I *knew* it.
#179
Dark Crystal is one of my favourites too (who couldn't love such a creative and down-to-earth movie?); i am really thrilled by the quality artwork you turned out. Make this happen! I'll be over here, cheering you!
#180
The Rumpus Room / Re: Happy Birthday Thread!
Tue 24/03/2015 05:05:12
Thanks a lot, guys!

Cake, anyone?
Spoiler
[close]
SMF spam blocked by CleanTalk