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

Topics - Snarky

#241
This forum is for general topics that aren't AGS or adventure game-related.

You can post about anything, just keep in mind that this forum is for conversation and discussion: things people can talk about, with a real back-and-forth. If you just want to post pictures of cats, or ask people to list their favorite ice cream flavors, there's another forum for that.

Also, even though this forum is for general topics, it's still intended for members of the AGS community. If you don't care about adventure games or about AGS, there are other places on the Internet for you. I would recommend that newcomers participate in the other parts of the forums to show that they are actually interested in AGS before becoming too active here in General Discussion.

Except for making sure that posts are in the right place, this forum is lightly moderated; it's pretty much a free-for-all. Strong language, adult content and frank discussion of controversial topics can occur, which may not be suitable for underage readers. All participants are expected to be sufficiently mature to handle this, and to post accordingly.

However, we do try to enforce basic rules of reasonable conduct, including:


  • Don't be evil:

    • No posts that are themselves illegal in the UK.
    • No threats or hate speech.
    • No links to or instructions for how to commit piracy, or discussion about warez. (Talk about abandonware is fine, but again no links or instructions.)
    • No spam or ads. They will be deleted.
  • Be nice:

    • Respect other people; posters and non-posters alike. It's understood that the tone of some threads can get heated, and that some things are said jokingly, but harassment, offensive remarks or swearing at people will not be tolerated.
    • Warn people in the thread title if there is any adult content in your post. For example, if you posted a link to a porn site for a legitimate reason, always add some text like "(Warning: Adult Content)" to the thread title so that people who are easily offended can simply choose not to read the thread.
    • Warn people before you give away parts of the story in a film, book, game, comic, TV show, etc. Use the [hide] tag to hide spoilers and other sensitive details.
    • Some things are better dealt with over personal message (PM). If you have a problem with someone, try contacting them directly (in a calm, respectful manner) instead of airing your disagreement in public.
    • Sometimes you may regret something you wrote, and want to go back and change or delete it. This can occasionally be a good idea, but it's best to then write a short comment to give people an idea of what you deleted/edited and why. Do not delete a series of posts you've made in a topic; it's disrespectful of the others who took the time to read and reply to your posts, and you may get blocked from making more posts in the future.
  • Think before you post:

    • Is your post funny, smart, interesting, or useful? Something others would enjoy reading and replying to? If not, maybe you should keep it to yourself. Pointless posts that don't add anything to the conversation just waste people's time and reflect badly on you.
    • Check existing topics before creating a new one. Use search to see if a question you have has already been answered.
    • Don't flood the forum with posts. This is not your soapbox or your personal toy, it's a space for the AGS community as a whole. You wouldn't go to a party and start shouting on top of everybody's conversation, would you?
    • Don't double post. If you have something to add to what you just wrote and no one has replied yet, edit your last post.
  • Keep it readable:

    • Write in proper, decipherable English. Don't use text-style abbreviations ("C U L8R") or fill your posts with Internet slang. Use punctuation and capitalization where appropriate (no all-uppercase posts), and avoid nonsense formatting. If your spelling is poor, make use of the spellchecker in your browser. (If your browser doesn't have a spellchecker, get a better browser.)
    • Don't quote a huge post to add one line - quote only the relevant bits.
    • Check that the SMF [tags] in your post are not broken, and distinguish correctly between what you quote and what you write. Preview your post before posting it.

Most importantly, have fun!

The moderators try to be fair in how we enforce these rules, but we are not always perfect. If you think a poster is breaking the rules and getting away with it, you can flag the post or private message (PM) one of the moderators. (The moderators are listed at the top of the forum.) And if you think a thread has been locked or a warning issued incorrectly, again please PM one of the moderators and explain why you think it is actually OK/should be unlocked.
#242
Site & Forum Reports / Forum Restructuring
Thu 12/04/2012 20:42:54
So you may have noticed some changes around here.

As he mentioned in a previous thread, CJ has made AGA a server and forum admin (congratulations, AGA!), and as his first order of business he has restructured the forums a bit.

This is actually according to a plan the moderators have been kicking around for a while now. Most importantly, you'll see that there are two new forums to discuss development of the AGS engine and editor. Hopefully having all the discussion in a single place will make it easier to organize and execute on the open source efforts. We've moved a number of existing threads over already (if we missed some, you can report it), and over the weekend I'll try to collect the most important information that prospective contributors will want to know into a single sticky post (and if you have any hints/additional info about that, please PM me).

Other changes include putting the two technical help forums together (currently the Beginners Technical Questions is a sub-forum pending a likely merge), and sorting the community and talk forums into one section that is for making and creating things (games, art, etc.) and one that is for discussion and chat. The "Popular Threads" forum is now the Rumpus Room, for persistent topics and some of the sillier threads that might previously have been locked in Gen-Gen (and conversely we'll expect a bit more substance from threads in General Discussion). We'll probably move some of the threads that don't quite fit in there any more to other forums.

There's also a new Recruitment board, which means that you can now have separate recruiting threads for different games, instead of all of them going into one thread (making it hard to find out whether a position has been filled).

Some things will no doubt feel unfamiliar and take some getting used to, but we hope you'll give the new structure a chance. This is not a final thing set in stone for all eternity; not every aspect has been updated, and there are likely to be a few further changes and tweaks coming up. If you do have any comments or suggestions, feel free to offer them here. Your opinion will be heard if not necessarily followed.
#243
Since we're in the early stages of organizing AGS as an open-source project, maybe we can learn something from the history of one of the most successful adventure game-related projects, ScummVM. Conveniently, Ars Technica has an article about just that.

They also link to some interesting project pages, like the ScummVM Coding Conventions which help ensure platform portability. Those are issues we should probably keep in mind and practices we might want to emulate in a future refactoring.
#244
I've somehow always felt that adventure games go great with Christmas. Maybe it's getting them for Christmas presents when I was little, or maybe it's just that winter is a time for sitting inside by the warming glow of the computer.

In any case, on the plane back home for the holidays, I sat next to a guy playing MI2 on his tablet (the new version; it looked pretty good, certainly a lot better visually than the new graphics for the first one). He was stuck near the beginning, trying to catch the rat in the box. He gave up after about ten minutes trying to close the box at the right moment. I couldn't help him; it's been too long since I played it, though I'm pretty sure you need to make some sort of trap, maybe with a stick and rope?

For an even more adventure-y part of the holiday season, we did a Secret Santa gift exchange in my office where we had to make the presents ourselves. I made the closest thing I could get to a paper-based adventure game. It ended up as a kind of multimedia choose-your-own-adventure book, with pictures, audio (using a digital pen that would play recordings when you tapped on particular parts of the page), very simple dialog puzzles and a couple of minigames. I'll get some pictures of it after new year, and maybe see if I can port it to AGS.

Have you had any adventure experiences happen to you this holiday season? Any adventure-game-based Christmas memories?
#245
General Discussion / The Literary Thread
Thu 24/11/2011 19:01:26
Some people like to read. Some people like to write. This is a thread for people who want to write about what they're reading.

Over the last couple of weeks or so I've read Jonathan Strange & Mr Norrell by Susanna Clarke, Persuasion by Jane Austen, Snuff by Terry Pratchett, and The Plague Court Murders by Carter Dickson. (Yikes! It does add up, doesn't it?)

I used to think Austen was just chick-lit, but as I've come to understand more about the society the books take place in (where getting married to the right guy was not just a matter of romance, but quite possibly of survival) I've become more appreciative of the real stakes in her books. The only thing I don't quite like about her is that she's so snobby and judgmental of her characters (except for the hero and heroine, for the most part). I've recently been reading a lot of P.G. Wodehouse, who plays similar situations in similar settings for a laugh, but he has a much more generous attitude to and apparent affection for his characters, even when they are idiots, frauds or pompous hypocrites.

Snuff felt to me like standard late-period Pratchett. A bit unfocused, a bit preachy, most of the jokes didn't really connect, but strangely readable nevertheless. The only Pratchett book I've really loved in the last few years was Nation.

I love a good locked-room mystery, and John Dickson Carr/Carter Dickson was the master of them. I've read a lot of his stories, though, and I think I'm getting a bit jaded. Even if I usually can't tell whodunnit or exactly how it was done (his methods of murder often being highly baroque), I have a pretty good idea of where to expect humbug. The Plague Court Murders was an alright entry, even if the supernatural atmosphere fell slightly flat and the eventual solution was a disappointment.

I've just started on Röde Orm (The Long Ships) by Frans Gunnar Bengtsson, having come across Michael Chabon's recommendation of it earlier this year. Oh, and I got the first volume of the Complete Carl Barks' Donald Duck from Fantagraphics, so I'm dipping into that in between. Please buy a copy so Fantagraphics continues to put them out!
#246
I have a game where the main character revisits the same rooms many time over the course of the story, and different things happen depending on how far along it is. What is the best way to write code to keep track of that, to make sure it does the right things at the right times?  I also want to be able to jump to various points in the game for debug/testing purposes.

I started with a global "GameChapter" variable that I defined as an enum. But I'm having some trouble deciding which developments should qualify as new chapters, and how to integrate this with other parameters (like carrying/not carrying an inventory object, or having talked to a certain character before or not) and with parallelism in the game design. And I feel like whenever I add logic for another stage of the game, I have to change a lot of the earlier code, too.

The other big problem is that I'm having trouble with debugging, since by jumping to different rooms and so on, I bypass a lot of the logic for setting the Game Chapter, and end up in strange states.

I probably haven't been as disciplined as I should about keeping all the code consistent, sometimes using the "on first entry" event to separate what happens, sometimes switching depending on the chapter (depending on how the room will appear in the game).

Is there a better way?
#247
I'm wondering whether there's a way in AGS to blend two sprites together, so that for each pixel, the RGB and the alpha values of the result are the (weighted) average of the two input sprites.

To give an example, say I have two frames of an animation, each a sprite with alpha-antialiased edges. I'd essentially like to crossfade from one frame to the other. So the solid areas where they overlap remain solid, blending to the average of their colors, areas where one is transparent and the other solid become half-transparent, and so on. (You do not get this effect by drawing both sprites on top of each other at 50% opacity, because the output will only be 75% opaque in the areas where both the original were solid.)

I see two possible approaches: one is to grab the background (DynamicSprite.CreateFromBackground/DrawingSurface/ScreenShot), draw each sprite on a copy of it, and crossfade those two sprites. For this solution, if it's even possible, I'm worried about not interfering with other sprites, handling z-order etc. Also performance.

The other is to use a GUI and the AdditiveOpacity drawing option. If I can draw two sprites with a certain transparency level on top of each other, I think the additive opacity hack in AGS (instead of the proper way of stacking transparent layers, which would be to multiply the transparencies together) will give me the result I want. But AFAIK there's no way to use a GUI as an object sprite, respecting walkbehinds and all that, or even faking that effect, is there?

Before I go down either of these paths, does anyone know whether it's possible, and what might work best?
#248
I've been looking through the manual and searching the forums (with Google since forum search is broken), but I haven't found any way to select dialog options using keyboard shortcuts. For example, press 1 to select option 1, press 2 for option 2 and so on (Edit: No, not that. See below).

The best idea I have had so far is to implement the custom dialog options rendering, write a bunch of extra logic to the on_key_press method to set a variable with which option was selected then simulate a mouse movement to trigger dialog_options_get_active, which would read that variable and set DialogOptionsRenderingInfo.ActiveOptionID accordingly, and then finally simulate a mouse click to activate that option. It sounds horribly kludgey and fragile, though, and I'm not sure it would even work.

Is there a better way?
#249
Critics' Lounge / BG - Backs
Sat 14/05/2011 15:41:01
I'm working on a background. It's still in an early stage, but I'm not feeling too happy with it:



It's meant to be the back of a fairly fancy boarding school, up against a river. There's an exit on the left, and you can go into the alley, at which point it would zoom in slightly and the foreground and wall would fade out, like so (roughly):



There'll be some more stuff in the alley, things that are important to the game. For gameplay/story reasons it's also important that there is a wall shielding it, so people can't see straight away what's there. Apart from that, the river and tree have a function in the game, but you don't need to and can't walk there.

Anyway, I don't think the composition works that well, or the colors, or... any part of it, really; and I was hoping someone could point me in the right direction.
#250
I'm having a lot of trouble figuring out how the color properties (for GUIs and character speech and probably some other things) work in the AGS editor.

First of all, I'm not able to set the full 24-bit range of colors, even though my game is running in 32-bit. For instance, I can't get pure white (255,255,255), it sets itself to (248,252,248), which is visibly green to my eyes on my screen. Also, I can't easily parse the ColourNumber property, apart from noticing that this "white" is 65535, or 2^16 - 1. So I take it the AGS colors are set in 16-bit, then? But is it really the case that you can't use pure white in 16-bit?

Second, the color palette you can use to set the colors don't match how they actually appear in the editor or game. The color that is called "black" and appears as black in the palette shows up as pink in the editor and transparent in the game. On the other hand, the color called "transparent" in the palette shows up as this pseudo-white. I'm guessing the palette colors and names are some sort of Windows standard that doesn't match what AGS does internally.

Umm... I guess in trying to explain my incomprehension I've more or less figured out what's going on, but I still think it's horribly confusing and probably broken. Currently neither of the two most fundamental colors in the whole palette, black and white, are available to anything you set the color of with the editor. And the mismatch between the RGB value of AGS "white" and the white in imported sprites (as well as between the darkest gray and the black in imported sprites) causes ugly artifacts in games that I've never been able to explain before.

Is there some sort of workaround for this problem? And would it be possible to move to 24-bit color for these properties, at least in 32-bit games?

Also, I'm wondering if the 24-bit representation of the 16-bit color values is handled by AGS or by the OS/screen card, because I suspect that the mapping is off. It seems as if it's just taking the 5-6-5 representation and shifting each channel 2 or 3 bits left, which means you are going to lose the top part of the range. That's why white comes out as (248,252,248). To correct for this, you should add another term to the 24-bit value:

r_24 = (r_16 << 3) + (r_16 >> 2)
g_24 = (g_16 << 2) + (g_16 >> 4)
b_24 = (b_16 << 3) + (b_16 >> 2)

(The logic is that you take the missing values that comes from not filling the lower bits and distribute them equally along the range, instead of just at the top. So if the 3 lowest bits are missing, you distribute those 2^3 = 8 values across the 5-bit range (32 values) you had. 8/32 = 1/4, so you shift right 2. Similarly, if the 2 lowest bits are missing, you get 4/64 = 1/16, so you shift right 4.)

Do this, and color 65535 (0xFFFF), white, comes out as (255,255,255 or 0xFFFFFF) as desired. No more green-white!

Edit: It might be easier and a bit more accurate, though slower, to simply convert the range. In AGS script:

r_24 = Maths.FloatToInt(Maths.IntToFloat(r_16)*255.0/31.0, eRoundNearest);
g_24 = Maths.FloatToInt(Maths.IntToFloat(g_16)*255.0/63.0, eRoundNearest);
b_24 = Maths.FloatToInt(Maths.IntToFloat(b_16)*255.0/31.0, eRoundNearest);
#251
Hints & Tips / Dinner for Pigeons
Sat 16/04/2011 16:14:12
I just finished this neat little game, and since it's a bit tricky until you get the hang of it, I thought I'd post some hints. This is how I solved it, there might be multiple solutions to some puzzles.

As a general piece of advice, start by playing through it a couple of times just to discover all the things that can hurt you.

Q: So, how do I play this without dying? Are there puzzles, or is it all about speed?

Spoiler
There is a speed element to some tasks, but to get the food you need to solve puzzles.
[close]
Q: Do I need to get the foods in the A, B, C order indicated?

Spoiler
No. Actually, as far as I can tell it's not possible to get them in that order.
[close]
Q: How can I avoid getting shot?

Spoiler
Don't be a sitting duck.
[close]
Spoiler
If you land somewhere where the kid shoots at you, quickly fly away to somewhere safe, and he will miss.
[close]
Q: How can I dodge the cat?

Spoiler
You can't. He's too quick for you.
[close]
Spoiler
But maybe you can get rid of it.
[close]
Spoiler
Find something that interests a cat more than a pigeon.
[close]
Spoiler
See that crack under the threshold of the restaurant? Wonder what's there?
[close]
Spoiler
That's actually a mouse hole, but the waitress won't let you get to it.
[close]
Spoiler
See hints for how to get the fries.
[close]

Q: How do I get the hamburger?

Spoiler
That fat guy sure doesn't seem to like pigeons much...
[close]
Spoiler
In fact, he'd probably prefer to avoid you altogether.
[close]
Spoiler
What if you fly around him?
[close]
Spoiler
Fly from the roof on the right to the pavement on the left. He'll scoot over left to avoid you. Take a different way back (or he'll scoot back), and repeat multiple times, until he's on the left edge of the bench. Then you can easily eat the hamburger.
[close]
Q: How do I get the popcorn?

Spoiler
You need to get rid of that big pigeon.
[close]
Spoiler
You can't do it yourself, but maybe someone can do it for you?
[close]
Spoiler
Someone like that nasty kid...
[close]
Spoiler
See that hat on the chimney? Seems loose, doesn't it?
[close]
Spoiler
Fly to sit on the little chimney, then quickly away to the right edge of the roof before the kid shoots you. Instead he'll hit the chimney hat. Do this three times, and the hat will fall down on the other pigeon, leaving you free to get the popcorn.
[close]
Q: How do I get the fries?

Spoiler
That waitress won't let you get close.
[close]
Spoiler
Better give her something else to think about.
[close]
Spoiler
Have you checked out all the hotspots and targets?
[close]
Spoiler
Now why would that chimney be a target?
[close]
Spoiler
Maybe if you drop something in there...
[close]
Spoiler
Anything you can pick up? You might have to do something else first.
[close]
Spoiler
See the bag of popcorn? Pick that up. Put it on the chimney, and the smoke will occupy her. After that it's easy.
[close]
Q: I can't do that! It takes too long.

Spoiler
Yeah, you need to stop the kid from shooting you, or you won't have time.
[close]
Spoiler
Better have something else distract him.
[close]
Spoiler
What is the only thing he seems to care about?
[close]
Spoiler
If he was shooting at that little bird, he couldn't be shooting at you.
[close]
Spoiler
Chase the little bird to the left side of the roof, then quickly fly to the chimney and drop the popcorn on the chimney while the kid is shooting at it. (Don't worry, he doesn't hit it.)
[close]
#252
I'm trying to create a dialog system similar to this:



Characters stand around on the screen as usual, and when you click on them you get this closeup that is used for conversations.

I've found that the Sierra-style speech doesn't give enough control to enable this. I can't set the position of the text box, and I'm having trouble positioning the closeup even horizontally (and certainly not vertically):

Code: ags

  SetSpeechStyle(eSpeechSierraWithBackground);
  SetSkipSpeech(3);
  game.text_align = eAlignLeft;
  SetGameOption(OPT_PORTRAITPOSITION, 3); // 3=xpos, but how do I set the actual xpos?


Using character.SayAt I can move around the closeup+text box together, but not each individually. This old thread indicates it's not possible to fully achieve the desired effect.

I tried to write a custom function to take care of it.:

Code: ags

int jSay(this Character*, const string message)
{
  // Backup state
  int oldX = this.x;
  int oldY = this.y;
  int oldZ = this.z;
  int oldView = this.View;

  // Position closeup
  this.FaceLocation(oldX, oldY+1, eNoBlock); // Face front
  this.x = GetViewportX()+CLOSEUP_X;
  this.y = GetViewportY()+System.ViewportHeight;
  this.z = System.ViewportHeight-CLOSEUP_Y;
  this.ChangeView(this.SpeechView);

  // Display the message
  DisplayAt(49, 179, 220, message);

  // Restore backed-up state after dialog is over
  this.x = oldX;
  this.y = oldY;
  this.z = oldZ;
  this.ChangeView(oldView);
}


This works, but not for dialogs, which is a pain.

I also checked out SSH's GuiPortrait module, but it doesn't seem to do what I want it to (namely position the text box).

Is there another solution?
#253
I've been working on my pixel spriting, which I've never been much good at. After a lot of effort I've come up with this. It's for a game set in a boarding school.

I haven't finished the shading, but wanted to see if I should make any further changes to the pose or proportions first.

(The anime-look is intentional.)


#254
Why has no one mentioned anything about this?
#255
So, I guess people who follow Telltale announcements already knew they were making a Jurassic Park game. Today they announce that they'll also be producing: The Walking Dead, Fables (both of these based on the comics), more Puzzle Agent, Hector: Badge of Carnage (in partnership with another studio), and finally... King's Quest!

They have of course already made Sam & Max, Monkey Island, Wallace & Gromit, Strong Bad/Homestar Runner, Bone and CSI games, as well as a couple of others, non-franchise titles.

Ummm... wow.
#256
General Discussion / Great TV Shows
Tue 21/12/2010 21:02:19
I've previously argued that TV is going through a golden age. Well, things might not be as good today as they were in 2008, but a list of the year's best television shows proves that things are still pretty good inside the idiot box:

25 Best TV series of 2010
45 Other Standout TV Episodes

In particular, I would spotlight:

Louie
Terriers
The Venture Bros.
Better Off Ted
Mad Men
It's Always Sunny in Philadelphia
Lone Star (all... 2 episodes)
The Ricky Gervais Show (based on the podcasts)

Breaking Bad is a show I should catch up with. I wasn't quite on board with the first season, but apparently it has only gotten better.
#257
Here's an essay from The Atlantic that I enjoyed and that I think could be relevant also to stories and writing in adventure games.

Quote from: The AtlanticThe problem with unsuccessful stories is usually simple: they are boring, a consequence of the failure of imagination. To vividly imagine and to vividly render extraordinary human events, or sequences of events, is the hard-lifting, heavy-duty, day-by-day, unending labor of a fiction writer.
...
A well-imagined story is not generic. It has not been lifted off the shelf at your local literary Wal-Mart. A well-imagined story is not predictable, or at least not wholly predictable. A well-imagined story is not melodramatic; it does not rely on purely villainous villains and purely heroic heroes; it does not use formulas in place of inventiveness; it does not substitute cliché for fresh vision. A well-imagined story does not rely on coincidence or happenstance for its dramatic effectsâ€"a character named Lance, let’s say, just happens to be walking by at the very instant another character named Brandy, the unrequited love of Lance’s life, emerges from the doctor’s office with her spanking-new diaphragm. A well-imagined story does not rev up bland, everyday events with lurid, purply, overwrought language that seeks to elevate such events beyond their due. For example, a well-imagined story would not, in my view, include a sentence such as this one: “With an explosive, rocket-like thrust of his legs, Lance jumped for joy at the heartwarming vision of Brandy’s snow-white diaphragm.”

More positively, and maybe more helpfully, I can try to suggest what a well-imagined story does mean to me...
#258
I thought I'd boot up Psychonauts to cheer me up on a rainy Sunday afternoon. However, after brushing the dust off my trusty old Gravis Eliminator Aftershock game controller, I discovered that I no longer had the drivers installed, and couldn't find the CD.

Gravis doesn't exist as a company any more, and their FTP site (ftp.gravis.com) that used to host all the drivers and patches and so on seems to have gone offline. I've been scouring the Internet trying to find a reputable site to download it from, but they all point back to that same dead FTP link.

Specifically, I'm looking for Gravis Xperience 4.5 (Xp4.5_FTP.exe). Any help?
#259
I did this screen for the last background blitz. To help me improve, it would be great to get some critiques. In particular, I'm unhappy with how the roof tiles look, and wonder if anyone knows how to make them look better. Color advice would also be appreciated.

#260
There have been many great entries in Background Blitzes past, yet we never see more of the worlds they create. What lies through that door, over that hill, behind that corner, down that path?

For this round, your task is to show us!

The Next Screen Over


Rules: Pick any entry from any previous Background Blitz, and draw a screen you would get to if you left that background by one of the exits. (Or, equivalently, draw a screen that would take you to an already-seen background.) It doesn't have to be in the same art style or even resolution (we'll imagine that the original screen would be redrawn to match), but the two screens should work together in terms of perspective, geometry/geography, and things like that.

The contest will run until 17th 21st March, inclusive.

Restrictions: AGS Compatible

For your convenience and inspiration, here are some examples from and a list of the last few Background Blitzes (but feel free to pick from earlier ones, too):



Voting: Pick the entry you think is the best in each category. The categories are:


  • Idea - How strong and original is the concept? Is it a good response to the contest topic?
  • Technique - How well executed is the background as a piece of art within the chosen style?
  • Usefulness - How well would it work as an adventure game background, and how useful would the background be in a game?
SMF spam blocked by CleanTalk