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

#2661
General Discussion / Re: What is this film?
Fri 11/02/2005 22:37:42
I thought City Hunter was great.
Completely different from the Jackie Chan I'm used to, but ridiculous and hilarious for it.
#2662
Quote from: Pumaman on Wed 09/02/2005 18:53:17
I would be wary about incorporating any lossy image formats into AGS, since whenever the room is re-saved the image would be re-saved, and you'd lose some quality each time. PNG support looks like the most likely candidate for an alternate compression method.

I think the only way that lossy backgrounds could work would be
- if the game author loads a bmp, it is compressed to a png in the room file
- if the game author loads a png or jpg, it is just stored as-is in the room file
So the editor never compresses to a lossy format, but game sizes are kept low even if the game author decides to use bmps as the source format.

Steve
#2663
Quote from: Radiant on Thu 10/02/2005 16:18:41
Also btw I haven't yet seen any arcade sequences in AGS games, except for KQ2V (and of course Platformerius and the like). YMMV?

There's always the shooting sequence in Pirate Fry 2.

Quote from: khrismuc
But my quick 'tutorial' actually shows how to implement different responses very easily.

And it's a very neat technique! I like it a lot.
#2664
Quote from: Radiant on Thu 10/02/2005 13:18:50
Dialog should not 'time out'. Because otherwise, a player who is clicking through dialogs, may accidentally find that one line times out at that precise moment, and he ends up clicking away the next line.
I think the best solution to this problem is a slight change to the engine, so that if a dialog line has just changed (within the last 150-200ms) then the click should be ignored. That way the author can set the timing up sensibly and someone reading just a little faster isn't punished for impatience.
For skipping over the entire conversation more quickly, there's always ESC.

Quote from: Radiant
Ideally the game should have a config option to switch dialog speed between some value and 'clickable'.
(note that all Lucasfilm games do this)
I don't remember being able to stop LA games' dialog timing out.

Quote
9. Arcades. Be really careful with them - many adventure gamers don't like them much, or prefer them to be skippable. Whichever way you go, an arcade sequence does not make a good climatic ending.
Hmm, I think a good arcade sequence would make a much more satisfying ending. It's difficult to make a good arcade sequence though. Keep the best puzzle for last... if you can.

Steve
#2665
Quote from: Scummbuddy on Thu 10/02/2005 02:28:40
When you run an idle or a blink animation that spans longer than one row, and you want that repeated, it only repeats the last row, as if the reset only goes back to the beginning of that loop, such as the fourth down, as opposed to zipping back to the beginning.

Really, what you want (I think) is an animation that lasts more than 20 frames (or whatever the max is), rather than the "hack" that continues to the next animation.
#2666
Quote from: SSH
In the latest Beta version, you can make a Room enumeration and the editor will auotcomplete for you after you've typed 3 characters... even better than #defines

I get that same autocomplete behaviour with v2.6x with this ugliness in the script header:
Code: ags

#define ROOM_LIBRARY_PRESENT	1
#define ROOM_LINGUIST_TENT	2
#define ROOM_STONETABLE		3
#define ROOM_WORMHOLE		4
/*
import int ROOM_LIBRARY_PRESENT;
import int ROOM_LINGUIST_TENT;
import int ROOM_STONETABLE;
import int ROOM_WORMHOLE;
*/

I think it was Scorpiorus who showed me that trick.

Quote from: Oneway
I suspect this is more of a behaviour determined by the Windows OS, but when i have the helpfile open i can't set focus to the AGS window.
The solution there is to start up the help as a separate application, by double clicking on "ags.chm" in the AGS folder.

I'd love to be able to have multiple scripts (and dialogs) open at the same time and switch between them M$ Visual Studio style, with Ctrl-F6 or by clicking on the room/character/inventory/dialog name. And have a search function that could search in all scripts, rather than export the text and search in that. But I appreciate that it's a paradigm shift. (Sorry - just wanted to say paradigm shift.)

Steve
#2667
I think it's awesome that you're being so patient with this animation. That's definitely the way to improve. And it's much improved from a few days ago.
I agree with Snarky about the stride length. He looks like he's taking little baby steps right now.
In the side view, I think you've done a pretty good job with the upper body and arms. He looks to me like he's leaning back a bit too far.
In the walk up view (and down) I agree with jrl2222. It looks like he isn't moving his arms, just rotating his body left and right. I think it would help if you unglued his arms from his sides. Also his buttocks are too well defined!
#2668
BB, you could always pick a random animation in Broken Sword 2. There's a one in twelve chance Dave animated it! :=
Or play Judge Dredd: Dredd vs Death. He was one of the two animators for that.
Sounds promising...

http://www.mobygames.com/developer/sheet/view/developerId,159874/
#2669
Excellent game.
Very entertaining!
Thanks!

Now I want to play Masters of Sound.
#2670
Great backgrounds.
That last one is Neil on the intercom talking to the other competitors.

[EDIT for Puddin] Well, that's the literal interpretation.
#2671
Interesting...
So that's why the Republicans are against abortion.
If they overturn Roe vs Wade they also overturn that ruling on the 14th amendment about the right to privacy.
It's all coming together.
#2672
(English version)
I got through about 4 lines of the intro cutscene, then it crashed with the error:


---------------------------
Adventure Game Studio
---------------------------
An error has occured. Please contact the game author for support, as this
is likely to be a scripting error and not a bug in AGS.
(ACI version 2.60.698)

Error: Cannot display message with extended characters in SCI font

(Accented characters, for example the special French and German e/a/u/i letters cannot be used by default. You need to import a TTF font to do so).

---------------------------
OKÃ,  Ã, 
---------------------------


Looked nice though!
#2673
Open the room interaction script and move the line "int LightOn = 0;" from inside the lamp interaction function to the top of the script.
This will make it
- "global": available to all room and object functions
- "static": keeps its value even when you leave the room
And so you should now be able to switch off the light again

[EDIT: As strazer has just said, but with some explanation]
#2674
Quote from: Scorpiorus on Tue 01/02/2005 17:57:51
I think AGS should always evaluate before applying operator. Personally, I always treat && etc operators as functions that need parameters (two in case of &&) and that return a value. Therefore, both parameters (left and right expressions) must be evaluated first before processing. Some sort of a "lazy" evalution is possible, I think, but in my opinion, besides the hassle to implement it could also lead to many hard to track down errors since they can only be traced at run-time.

I'm surprised that
(a) we're having this discussion
(b) there's disagreement over the desired behaviour

"Lazy evaluation" (I don't like to call it that as it sounds rather negative - "short-circuit evaluation" is better I think) is not just in every modern compiler, it's written into the specification of languages.

Quote
And the problem is how to implment it, for instance:

if (func1() && func2()) ...

it is not realy possible to tell which one is needed and which is not (if any), without running at least one function (which function to run is also an issue).

Well, of course you have to run at least one function. Which function to run is trivial. They are evaluated left to right until the result is known - with a sequence of &&s, until one is false; with a sequence of ||s, until one is true. You can verify for yourself that that's a sufficient condition. eg
((a && b && c && d) || e || f)
(a || (b && c) || d)

I see your point about hard to track down errors, but in my opinion there will be many more errors introduced by evaluating everything and then going through the logic. But, maybe that's because I've been programming in C for 15 years.
#2675
Quote from: RickJ on Tue 01/02/2005 03:12:36
Quote from: Snarky
Isn't the real problem here that AGS evaluates the right-hand side of an "&&" conditional expression even when the left-hand side failed?
Yeah.Ã,  That occured to me as well but I don't think it's practical.Ã,  it seems to me that the entire expression needs to be evaluated before you can know for sure if the final result will be true or false.Ã,  Ã, Although in this case it doesn't seem all that complicated I don't think that's true for all possibilities.
It's entirely practical - a lot of C code relies on it.
And I think it's going to cause problems, eg this won't work...
Code: ags

if (ptr != NULL && ptr->Func())
{
  // blah
}

Perhaps it's like the mathematical evaluation that goes right to left :=
#2676
Umm, you have seven cards and eight characters?
You're on your own... :=
#2677
You changed that line! :=
What inventory numbers are the cards? 1-8? If so then make it 1+card when making a list rather than 0+card.
#2678
Yipes - I see I forgot to look up the new cards in the card list!

Anyway, here is some code that should work:

Code: ags

// "seed" the random number generator
int seed = GetTime(3); // returns the current time's seconds (0-59)
while (seed > 0)
{
Ã,  int chuckAway = Random(99);
Ã,  seed--;
}

// remove cards from characters
int charIndex2 = 0;
while (charIndex2 < 8)
{
Ã,  int cardIndex2 = 0;
Ã,  while (cardIndex2 < 8)
Ã,  {
Ã,  Ã,  LoseInventoryFromCharacter(charIndex2, cardIndex2);
Ã,  Ã,  cardIndex2++;
Ã,  }
Ã,  charIndex2++;
}

// make a list
int cardList[8];
int card = 0;
while (card < 8)
{
Ã,  cardList[card] = 0 + card;Ã,  // inv 0-7
Ã,  card++;
}

// shuffle it
int shuffleSteps = 50;
while (shuffleSteps > 0)
{
Ã,  // swap two random cards
Ã,  int firstCardIndex = Random(7);
Ã,  int secondCardIndex = Random(7);
Ã,  int temp = cardList[firstCardIndex];
Ã,  cardList[firstCardIndex] = cardList[secondCardIndex];
Ã,  cardList[secondCardIndex] = temp;
Ã,  shuffleSteps--;
}

// now deal out to characters
int charIndex = 0;
int cardIndex = 0;
while (charIndex < 8)
{
Ã,  AddInventoryToCharacter(charIndex, cardList[cardIndex]); // my mistake first time
Ã,  cardIndex++;
Ã,  charIndex++;
}
#2679
Removing the inventory items - I'd put it in a loop.
(Alternatively you could store which card each character has in an array.)

Code: ags

int charIndex = 1;
while (charIndex < 8)
{
  int cardIndex = 0;
  while (cardIndex < 7)
  {
    LoseInventoryFromCharacter(charIndex, cardIndex);
    cardIndex++;
  }
  charIndex++;
}


Perhaps you should post your code to deal out the cards. It *should* be different every time...
#2680
Oh good.

I don't know if you can "seed" the random number generator (don't see anything in the help) but you can do this to fake it...

Code: ags

int seed = GetTime(3); // returns the current time's seconds (0-59)
while (seed > 0)
{
Ã,  int chuckAway = Random(99);
Ã,  seed--;
}
// then the shuffle code
// ...
SMF spam blocked by CleanTalk