Show Posts

You can view here all posts made by this member. Note that you can only see posts made in areas to which you currently have access.

Messages - Snarky

Pages: [1] 2 3 ... 318

Your latest sample still has the string append error, but I'm not sure whether that's because you haven't fixed it or because you just copy-pasted from an earlier post. Could you please just post your code exactly as it is (ideally along with the functions that call it and an explanation of exactly how you know it's not doing the expected thing)? There is bound to be a mistake somewhere, but we won't be able to spot it if you don't include it.

The error is not where you think it is.

Things to check:
-Is InitEditorExpectations() actually called, and before GetEditorExpectationsInTextFormat()?
-Are the two functions in the same script? If not, how are you exporting and importing interviewExpectations[]?
-Are you sure you're actually checking the return value of GetEditorExpectationsInTextFormat()?
-What's in that "...." in the code?

(I've got my money on the second point, and that you've inadvertently created two different interviewExpectations[] arrays.)

The Rumpus Room / Re: *Guess the Movie Title*
« on: 02 Dec 2018, 15:57 »
Now that you mention it, yes, that's a behind-the-scenes shot from Kubo, but it's definitely not in the film. (Unless... I'm second-guessing myself here, but could it be that they show some of the animation process in the end credits?)

Assuming Stupot means he couldn't make a new account, I second that: I get past the quiz (which, BTW, is slightly outdated on a couple of points) and to the point where I can register, but once you actually try to sign up it gives an error. I also see from the membership records that we haven't had anyone sign up for the last week (there's usually one every other day), so it definitely appears to be broken.

The example code I posted shows two ways you can use an enum value (in that case the variable is GameState.Chapter). You can do both exact comparison, as in if(ChinaTownPoint == eChinatownAuthorized), but you can also use inequalities, e.g. if(ChinaTownPoint < eChinaTownLearnGhost). In that case, it will be based on the number values assigned to each enum value. You never need to use the numbers directly: that's the whole point of an enum.

And remember that AGS supports switch/case now, so that's a cleaner alternative to a bunch of if/elseif clauses.

Since I haven't actually programmed a proper adventure game, take this with a grain of salt, but maybe more experienced developers will chime in to contradict me.

I suspect most AGS games are programmed like yours, with very little structure to the representation of the overall game state and its logic. And in a lot of cases, with games that are fairly linear, not too complex, and not subject to a lot of revision during development, that might even be a workable approach. Yeah, if your code is getting messy and hard to follow it could probably do with some more organization, but I doubt there's a silver bullet that will render writing game logic instantly straightforward: some things are just inherently complex.

I tend to think you usually don't want a formal state machine (with a single state variable manipulated only through a single function) in the code, but that multiple state variables/flags are more convenient. Instead, I would start by moving all global game-state variables into a struct in a separate module script. For state variables with several possible values (representing e.g. different branching outcomes of a decision, different stages of a puzzle solution, or different chapters in a plot thread), I would use enums with descriptive values. If you have tests that are complex, that reoccur throughout the code, or that you think might change as the game develops, you can factor them out into this module as well. E.g.:

Code: [Select]
bool GameState::IsWelcomeAtHome()
  // You can go to your house during the first few chapters of the game as long as your relationship with your wife is at least neutral,
  // or in the "Fake Your Own Death" chapter, as long as you have your keys and haven't burned it down yet.
  return ( (GameState.Chapter < eChFakeYourOwnDeath && GameState.CindyMood >= 0) ||
           (GameState.Chapter == eChFakeYourOwnDeath && !GameState.HasBurnedDownHouse && player.HasInventory(iKeys)) );

It doesn't solve anything by itself, but keeping as much of the state and logic as possible in one place by itself lets you more easily see if you have redundancies or inconsistencies.

Modules & Plugins / Re: MODULE: SpeechBubble v0.8.0
« on: 21 Nov 2018, 11:21 »
No, that's all there is to it.

If it works for you, great! If not... I'm not sure when I'll have time to look into it, I'm afraid. Others have had problems related to the same part of the code, but I don't have any immediate ideas about what the problem might be. The ideal solution would be to extend the AGS Wait() API to cover all the cases you need for dialogue blocking.

When you're in your message inbox, there are three tabs: Messages | Actions | Preferences. Hovering over or tapping on Messages opens a drop-down where you can choose New Message, Inbox, or Sent Items. Sent Items is the one you want.

Modules & Plugins / Re: MODULE: SpeechBubble v0.8.0
« on: 20 Nov 2018, 19:18 »
Yes, I noticed this when I tested your game. ;)

I'm fairly sure it's a problem with the custom blocking script. I don't have time to look into it right now, but you should try setting a transparent font. That will bypass all the custom blocking code and rely on the normal AGS speech blocking instead.

The Rumpus Room / Re: *Guess the Movie Title*
« on: 19 Nov 2018, 21:12 »

Now, I may be crazy, but is that an awkward freeze-frame of John Cleese?

By God, apparently it is! I would never have guessed. I still don't see it, in fact.

No problem, happy you got it working! (And yes, creating/linking events can be a bit fiddly, and it's fairly easy to get it wrong in some hard-to-notice way.)

The Rumpus Room / Re: *Guess the Movie Title*
« on: 19 Nov 2018, 06:01 »
Compare the monster transition here with the raw footage from a workprint here and tell me that's an in-camera effect. (Edit: The Wikipedia page for Gryphon Software Morph lists Bram Stoker's Dracula as one of the movies it was used in – though citation is needed for the claim – so I'm going to assume that's how it was done.)

Shortly afterwards, the workprint also shows Mina without the scar in the shot where it's supposed to vanish, proving that this effect was not achieved practically or by double exposure of the original negative (if it were, no print without the effect would exist – a point you could also make about the transition), but is done optically. (Though it's a very simple optical effect that probably didn't even require a matte.)

The other shot I strongly suspect of being an optical composite is at 1:55:48 – I think the fringe around the falling figure (which I don't believe you'd get with a simple double exposure – also he'd be transparent) gives it away. And finally, someone on Reddit claims that the blue rings of ghost fire were also done in post, which seems plausible. I do note that the special effects crew listing on IMDB includes a number of credits for "optical supervisor", "optical lineup", "optical effects", etc. ... as well as "digital effects artist (uncredited)".

So while the bulk of the effects (not counting simple cross-fades, which are probably mostly optical) were no doubt done in-camera, I'm also convinced that there are some optical and even computer effects in the film. Probably the aim was to have it all done without, but in the end there were a handful of shots they just couldn't get any other way.

Probably a version of this problem from a couple of threads down.

In order for a function to be run when you click on a button (as with most other game events), it must be created or linked through the properties/events panel in the GUI editor.

A few more:

Examine Crime Scene
Certain scenes in the game are signaled to be of special importance, requiring particularly careful examination. Pixel hunting, use of special instruments (magnifying glass, swab, fingerprinting kit…) and other exhaustive methods that would be tedious to use on every screen are accepted as fair game here.
Examples: The Dagger of Amon Ra (various murder scenes)

Ask the Oracle
Certain types of information can be fed to a machine or person that will (often) provide further information about it. This can be a search engine or database where you can look up e.g. names, addresses, or an NPC with exhaustive knowledge on some particular subject. A variation is the Lab Analysis, where you can run an analysis on certain items to find out more about them (e.g. a DNA test, blood test, mass spectrometer, etc.).

Zoom and Enhance
You need to closely examine a picture using some sort of zoom tool (either digitally or with a magnifying glass) to uncover otherwise hidden details.
Examples: Blade Runner (Esper machine), Kathy Rain (scanned photos)

Break It!
An inventory item is useless until it is broken, which requires a specific deliberate action. (E.g. a bottle, where you need the glass shards.)

Special Skill
Your character has an unusual special skill, which is useful in certain situations. The puzzle consists of remembering that you can do something that wouldn’t normally be possible, and recognizing that the situation calls for it. (As a matter of game design, if you give the player character special skills, you should also provide plenty of occasions to use them.)

Right Person for the Job
In games where you control multiple characters, and where they each have distinct abilities. Some actions are only possible (or will only be successful) with a certain character.
Examples: Two of a Kind, Blackwell series, Unavowed (wow, Dave Gilbert really loves this one!)

Constraint-Based Reasoning
A type of logic puzzle where you have incomplete information about a finite universe, and use the information you have and the constraints of the world to deduce further information (e.g. by process of elimination), until you have the answer you need.
Examples: Return of the Obra Dinn (matching identities to victims)

Dial-A-Pirate (Mix and Match)
You construct something by combining pieces from at least two distinct sets. The resulting construction has different properties depending on the combination, and you need a particular combination with the right properties.
Examples: Technobabylon (AI mind fragments)

Copy from Examples
In order to solve some complex problem, you first must solve a number of simpler problems (or study already-solved ones), in order to acquire the tools you need for the actual puzzle.
Examples: The Secret of Monkey Island (learn insults and responses through lesser fights), Gabriel Knight (decode messages to learn voodoo symbols, apply to other messages)

Right Place, Right Time
You must be in a certain place at a certain in-game time in order to witness an event. You may have a hint in advance, or you can tail an NPC, or it may be down to trial and error or clues only available after the fact, requiring a replay.
Examples: The Last Express, The Colonel’s Bequest

The Rumpus Room / Re: *Guess the Movie Title*
« on: 18 Nov 2018, 09:30 »
Wikipedia does claim that there's no CGI or optical compositing in the film, that it's all in-camera, but that's obviously not true. A lot of it was, but not all of it. If you look at the deleted scenes, you can see that e.g. when the burn mark on Mina's forehead evaporates at the very end, that was added in post. And I'm convinced that some of the Dracula transitions (between monster and human form) are CGI morphs, but in any case they're certainly not done in-camera (again, the deleted scenes show some of them unfinished, with just simple cuts between each makeup version). Also certain shots, like one of the gypsies falling into the gorge, look like definite optical compositing jobs to me.

Is that Gary Cole?

This sort of thread tends to provoke me to particularly snarky responses aimed at pointing out the folly of the project (which I think is no more possible than "let's list all the stories there are" at any useful level of specificity).

However, let me just say that I think most of the ones listed so far aren't actually puzzles or puzzle types, but puzzle elements or puzzle motifs, before adding a few of my own (I have a bad memory for games, so I don't have specific examples of all of these):

Just a classic riddle. A cryptic description makes it hard to identify what it describes. You must realize the correct response to the riddle and provide it.
Examples: Conquests of the Longbow (tons of them)

Just Do It
A problem has a straightforward, "obvious" solution, but the game makes you overlook it by misdirection (distracting you with other apparent solutions) or making you assume it won't work or is somehow outside the game parameters. Usually requires lateral thinking to realize.
Examples: Fate of Atlantis (push Sophia), Secret of Monkey Island (pick up idol), Trilby's Notes (die)

Spot the Pattern
For challenges based on repeated choices (e.g. mazes, dialog puzzles, in-game contests), here the right option is always hinted in some subtle but systematic way. If you are observant and recognize the pattern, you can make the correct selection every time. "Listen to the noises" is a subtype of this.
Examples: The Shivah (rabbinical boxing)

You have to "manually" conduct certain (trivial or only mildly challenging) operations, through special UI controls that often attempt to mimic the haptics of the actual actions. If dexterity/skill is required and time pressure is added, it may turn into a quicktime event or arcade challenge. If the simulation is very realistic, it may turn into a physical puzzle.
Examples: Fahrenheit (many instances, e.g. mopping the floor), Resonance (e.g. cutting wire)

Coded Clue
A puzzle requires some arbitrary series of actions to solve. Instructions are provided in cryptic form, encoded e.g. as a song, recipe, painting... The encoding may be as a riddle or hidden somehow (e.g. the first word of each line), or just consist of spotting the connection.
Examples: Monkey Island 2 (skeleton song), Frostrune (tapestry)

Combinatorial Gate
A way to ensure that the player has mentally solved a puzzle (come to some realization) without needing the character to do so explicitly. Require 100% correct responses to a series of choices; because of combinatorial explosion, brute-forcing or lucky-guessing your way through is effectively impossible if you don't know the solution. ("Did you read the book?" will often be an example of this.)

Dragon's Lair
You must carry out a sequence of actions precisely, without any deviation (and often timed). Any failure to do so results in instant death or a reset of the puzzle. There is no way to know what the correct action is at each step except by trial and error, so you must try repeatedly, gradually memorizing the correct sequence.
Examples: Dagger of Amon Ra (end chase)

Needle in the Stacks
The game presents you with a large collection of items. Most of them are irrelevant, only one is the thing you're looking for. Often the setting is a library, where you have to find the right book from a large selection of titles. Solution may involve reducing the search scope (e.g. to a certain shelf) based on some characteristic of how it's organized (alphabetical, genre) and then simply brute-forcing it.
Examples: Heroine's Quest (library), Thimbleweed Park (library)

Magic Lens
You have a tool like a scanner, which allows you to see or detect otherwise hidden things in the environment. Often you must sweep it over the backgrounds to scan for clues.

Hot or Cold
You must reach a certain end-state. Along the way, you get feedback after each step as to whether you are moving in the right direction (warmer) or the wrong one (colder) so that you can find the right approach/path. This can be physical movement, but also something like a dialogue puzzle (e.g. character's facial expression changes). Compare insult sword fighting (advance/retreat).

A character tells you a number of things. Some of them are lies. You must find and present the evidence or conflicting testimony that contradicts their untruthful statements.
Examples: The Ace Attorney series (cross-examination mechanic), Contradiction (contradiction mechanic)

Break the Cycle
A certain chain of events repeats on a loop in the background, always with the same outcome. By changing some condition, you can interfere with one of the steps and create a different one. (In a variation, the chain of events doesn't go on all the time in the background, but only when you trigger it.)
Examples: Day of the Tentacle (Edna/chair/statue)

Divert the River
By damming or diverting a river upstream, you can affect which areas are flooded or dry downstream, potentially causing destruction. Can also be e.g. a conveyor belt, electricity in a grid, etc.
Examples: The Secret of Monkey Island (rock in stream)

The Rumpus Room / Re: *Guess the Movie Title*
« on: 18 Nov 2018, 00:42 »
It totally is.

People have guessed it incorrectly a few times before, but it's never actually been posted in this thread as far as I can tell.

1. is when Dracula and Mina drink absinthe.
2. is Lucy running through the garden during the first storm (as the Demeter is crossing)
3. is just before that, as Mina and Lucy read the letter from Jonathan.

I watched it last night on 4K UltraHD HDR. It looks very good in the format (the movie has its detractors, but I don't think anyone can deny that it looks gorgeous), but honestly you're probably just as well off watching the complete 1080p rip currently available on YouTube (which is where I got these caps).

One thing I noticed this time around is how often the film fudges the timelines. It helps build the dreamlike atmosphere, but is very different from the careful and systematic chronicling of events in the novel.

The Rumpus Room / Re: *Guess the Movie Title*
« on: 17 Nov 2018, 19:47 »
Nope. Maybe this helps?

The Rumpus Room / Re: *Guess the Movie Title*
« on: 17 Nov 2018, 16:47 »
No and no.

Pages: [1] 2 3 ... 318