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

#21
 The Rules

    [li]This is a quiz about adventure gaming trivia. Each installment has about a dozen questions with a common theme, about well-known adventure games, either classics or from the more famous "indie" games. Suggested themes include but are not limited to inventory items, music, easter eggs or forest creatures.[/li]

    [li]Each question is worth two points if correct, one for a partial answer, and three if you have a better answer than the person who made up the question.[/li]

    [li]This thread is for hints and feedback, as well as noting your participation. Please send answers by PM to prevent people from peeking. The quizmaster will post all answers when the quiz ends.[/li]

    [li]As with most activities, the winner of this quiz will be the quizmaster of the next one. In case of a tie, the person who submitted earlier is considered the winner.[/li]

    [li]I'm setting a deadline of a week, then give me a few days to look over all answers, and give the winner a few days to come up with something new. The result should be a biweekly quiz, or thereabouts.[/li]
    [/list]

    As Anym was kind enough to point out, it's been three weeks since the last Quizzening. I'm so sorry for the long wait, but I've been quite busy since the end of July with magazine deadlines and travelling abroad - and embarassing as it is, I totally forgot about the quiz. What I came up with is nowhere near as creative as Strange Visitor's rebus quiz, but I'm still quite curious how hard you will find this one.

    Each picture represents an inventory item from an adventure game, you must guess which games they are from. The answer should be in the form of a game title - if the game is part of a series, remember to add number or subtitle. Otherwise the guess will only count for a single point. I haven't had access to my own game collection while picking the items, so some of my all time favorite inventory items aren't in there. I hope I'll get the chance to use those some other time. I should add that I consider some of the newer games far from "classics", but they are well-known nevertheless.

    You can PM me your guesses until noon GMT on Sunday the 27th of August. The winner will be announced the same evening.
    Have fun!



    #22
    I'm aware that the symbol "%" is used to mask itself for use in Strings, so that "%%" displays as "%". However, when using GetTextWidth on a string containing "%%" the function calculates the width of both symbols even though only one is displayed. This is rather inconvenient when parsing user-input and having to limit to a certain (displayed) length.
    #23
    Since the DynamicSprite commands were introduced, I've been using them for pretty much any special effect in my games.  Certain effects, that required manipulation of the full screen were very slow though (due to repeatedly creating a sprite from a screenshot, duplicating it and cropping it within the same loop). For the same reason, I previously suggested adding the option of specifying coordinates in CreateFromScreenshot as in CreateFromBackground.
    That is, until I saw the workaround used in SteveMcCrea's lake module of using ANOTHER background frame as a buffer. I.e. pasting the image onto that frame and using CreateFromBackground to manipulate parts of it. This was an ingenious solution and also helps greatly in a lot of other cases. This got me thinking about other uses for such a frame, and the problems it currently creates.

    Therefore, I would like to propose the implementation of a 6th background frame. It would always be present, always the same size as the first frame, filled with the color (255, 0, 255) and not usable as an animating background frame. It would purely be used as a buffer for RawDraw routines.

    1) This would make life easier for module makers, because the end user didn't have to be instructed to create an additional background frame for every room using their effects.

    2) In addition, it could safely be used without messing up an animating background.

    3) I assume a RawClearScreen is much quicker than RawRestoreScreen, speeding up pretty much any effect RawDrawing and creating DynamicSprites from the screen. (such as text deformation, colored text and other modules). It would also get rid of the issue - common when using multiple modules by different authors - of the screen being unnecessarily RawRestored several times each loop.

    Thanks for reading this. I think this suggestion could be helpful to lots of people.
    #24
    I spent several days rewriting the html-like hypertext module I've developed for Shadowplay, so that it would accept the new String format rather than old strings with their 200 character limit. It seemed worth the effort because the old system was a pain in the ass and required an external linebreaker program to convert longer text files. This way I thought, I would be able to add whole blocks of text at a time instead of just single paragraphs. But just as I had finished rescripting the whole thing and started testing, I discovered that it had been one big waste of time.

    1) You see, my main function is called AddText(String htmltext), and inside the function everything is handled with Strings rather than strings. But when I call the function from the script, I get a compiler error if it exceeds a seemingly arbitrary character limit (not the 200 chars of strings)

    An example (temp text from AGS manual with some additions):

    Code: ags
    AddText("AddText("AGS now has the ability to dump all of your in-game text out to a flat text file, which you can edit by hand and then import back later. This is useful you need to edit lots of scripts or messages for some reason, and then recombine them all back into the game.
    When does this get too long? Two more words will break it. Or will it? Most likely .");


    This compiles fine (with 345 characters). But if I add ONE character, even just inserting a space, I get this compiler error:

    QuoteError (line 1120): Parse error in expr near '"AGS now has the ability to dump all of your in-game text out to a flat text file, which you can edit by hand and then import back later. This is useful you need to edit lots of scripts or messages for some reason, and then recombine them all back into the game.
    When does this get too long? Two more words will break it. Or will it? Most likely n.'

    2) Another problem that limits the use of new Strings is the 300 character limit in the script editor. Unless you insert a linebreak in your code, you get this:

    QuoteError (line 1120): line too long (300 chars max)

    Usually this isn't a problem. But if the linebreak has to be inserted in the middle of a String, it will show up as two square characters in the text when displayed in the game (at least using RawPrint, haven't tested otherwise).

    I hope there is some workaround or that a fix can be implemented soon, since I can't progress much in development before I know what kind of input I can expect for my text functions. I was very happy when the apparent no-limit Strings were introduced, but now they're becoming a problem rather than the solution.

    Thanks for reading this, CJ.
    #25
    Maybe I'm overlooking something obvious, but how can either of the two calculations below possibly end up with a "Error: Sqrt: cannot perform square root of negative number" error message? Even with rounding up/down I see no way that the division could end up negative?

    Code: ags
    if (wyt != cy) ratiocbct = Maths.Sqrt(IntToFloat(((wyt-wyb)*(wyt-wyb)) + ((wxt-wxb)*(wxt-wxb)))/IntToFloat(((wyt-cy)*(wyt-cy)) + ((wxt-cx)*(wxt-cx))));


    Code: ags
    if (wy != wyb) ratiosbst = Maths.Sqrt(IntToFloat((wyt - wyb)*(wyt-wyb) + (wxt - wxb)*(wxt-wxb))/IntToFloat((wy-wyb)*(wy-wyb) + (wx-wxb)*(wx-wxb)));


    Edit: Added the second line after also getting an error with that.
    #26
    This thread  made me think of how you could use DynamicSprite.CreateFromScreenShot as a workaround to create antialiased text seemingly without a gui background (for use with LucasArts-style dialog, mouseover description etc.).

    However, grabbing the whole screen and cropping it to size every frame would make for quit a slowdown, so I was wondering if it would be a huge change to expand the DynamicSprite.CreateFromScreenShot(optional int width, optional int height) function to DynamicSprite.CreateFromScreenShot(optional int width, optional int height, optional int x, optional int y, optional int screenwidth, optional int screenheight) to match the functionality of the CreateFromBackground function? That way we could grab a small bit of the screen as a DynamicSprite and use for a gui background to print antialiased text on.

    Thanks for reading, CJ.
    #27
    I have to find a game to review in this months indepedent games section of our magazine. I'm already reviewing the remake of Another World, but I need to find a second game to review as well. Preferably something good/unique and quite recent. Any suggestions?

    Edit: I should not that I try to stay away from adventure games and AGS games in particular, because otherwise it would be the only thing I write about.
    #28
    This may be a strange request, since personally I have several workarounds. It's just something that would make it way easier for other users should I release my ShadowBox module to the public:

    RawDrawWalkbehind(int walkbehind, int color)

    The function would RawDraw a mask of the walkbehind area filled with a color set by the user (usually 63519). It's purpose would be to assist in other RawDraw and DynamicSprite functions.

    Edit: Possibly there should be third parameter to decide whether the walkbehind should be drawn in positive or negative (fill the walkbehind area, or everything but the walkbehind area).
    #29
    I'm using a lot of DynamicSprites for effects in my game. For that reason I've had to write commands to delete all these before saving, so they won't be bloating the savegames. However, since the 'savegame with screenshot' function grabs the screenshot at the moment of saving, any DynamicSprite that I've deleted before saving won't show up on it. In some cases this even means the player character missing from the screenshot.

    So what I propose is a slight expansion of the save function:
    SaveGameSlot (int slot, string description, optional int screenshotslot)

    For the screenshotslot, you could then specify a DynamicSprite.Graphic, that you grabbed before deleting the other dynamic sprites. However, and this is the small hitch in the idea, the DynamicSprite for the screenshot would also have to be deleted at the moment of saving, but after being stored as a graphic within the savegame. So the SaveGameSlot function would have to handle the deletion of this single DynamicSprite itself. Would that even be possible?
    #30
    Seeing as most laptops these days have 16:9 or 16:10 displays, I'm wondering what the options are of running AGS games on such a display without stretching, showing black bars on the sides of the screen or running in a window.

    From a coding point of view, I find it an interesting challenge to make a game that runs in 4:3 as well as 16:9 resolutions. But I'd like to know if it's actually possible. Since AGS can use 640*400 resolution which is 16:10 aspect ratio, I am wondering whether it would be possible to make a game that ran in both resolution, only showing a certain part of the screen (top part by default) in widescreen resolutions and the full screen area in 4:3 aspect ratio?

    Edit: I know it's not currently possible, since there's no choice between 480/400 in the setup menu. So basically I'm asking CJ if this would demand major changes to the engine, or it would be a trivial matter to allow viewport flexibility.
    #31
    I was wondering (seeing as most people here use computers for work as well as entertainment) if anyone here has personal experience with carpal tunnel syndrome? I've been reading up on it on the internet, but although there was plenty of information about the causes and symptoms, I haven't really found too much advice on what to do to avoid it getting worse.

    Beginning last week I'm experiencing tingling and numbness in my right hand as well as pain when moving the wrist in certain angles. From the info I could find on the web, these are symptoms of carpal tunnel syndrome, and to be honest I'm scared shitless by the possibility of fucking up my right hand. I can do a lot of stuff with my left hand, but I would really hate to lose my ability to draw.
    The obvious advice would be to give it a rest and not use the hand for a while. And yes, that's what I'm trying to do. But at the same time, I have a job that means I have to work with computers all day, using keyboard as well as mouse (which I've now moved to left side of the keyboard) - and for at least some days also using a PS2 controller 4-5 hours a day.

    So any ideas on what to do?

    Thanks,
    GG
    #32
    There seems to be a bit of incongruity between the way (room editor preset) region lighting and the Tint commands work. Especially I wish that luminance would accept values up to 200% with the tint code, to brighten the sprite until 'white out'.

    Also, in relation to this, I wonder if it would be possibly to add a command to read back the RGB, luminance and saturation settings from a certain region. This would be very helpful for certain lighting effects I'm working with.

    Thanks for reading this suggestion CJ,
    GG

    Edit: Removed incorrect section after CJ's reply and re-checking the Tint functionality.
    #33
    Remedy haven't released much info about their upcoming game, Alan Wake (http://alanwake.com/), but for what it's worth, this game looks like it could easily be 'the next big thing'. According to colleagues who saw the game at E3, it will be an open GTA-like world where you will perform adventure-like investigation and character interaction during the day and survival horror-like action at night. I'm not too happy about the latter aspect, but from what little I see in the videos and screenshots, the beautiful design and technology of the game world seems very much like what I imagined adventure games would look like some day. The Twin Peaks-like town and the gameplay style makes me hope that Remedy might succeed where the Blair Witch games failed. And the scene with the lighthouse brought back fond memories of Shadow of the Comet.

    What are your impressions of the game?

    Edit: If you want to download one of the movies from the site, make sure to get the full video, not the teaser. It includes the same content, and so much more.
    #34
    EDIT 2: OK, it turned out that the problem was elsewhere. But still, it could be a useful function.

    On a suggestion by Gilbot I wrote my own functions to break text files into strings, generate code for them and output them to an external txt file for cut-n-paste. However, using the WriteRawChar function, I'm limited to ASCII values 0-255 even though strings support chars beyond this array (for some reason I don't get the same error messages when reading the chars from the text file).

    WriteRawLine currently isn't an alternative as it would add a linebreak after each part of the code, like this:

    AddText("
    This is the text that we've broken into 200 char units.
    ");

    So I was wondering if it would be possible to add a eFileAppendNoBreak parameter to File.Open (or perhaps an optional parameter for the WriteRawLine command would work better)?


    Edit: Also I have a question that isn't part of the suggestion, but related to the same piece of code. When I apply my string breaking tool to very long text files, the game crashes and tells me that the while loop has been repeating 15,000 times or something like that. Is this a real error, or is it just triggered because my while-loop repeats throughout a very long file? If so, is there any way to turn the error message off and allow the code to finish on it's own?
    #35
    Is there any quick way to clear out all values in a struct? Or do I have to do a

    Code: ags
    while (num <= maxnum) {
    mystruct[num].array = 0;
    num++:
    }
    


    on all values?

    I'm not even sure, does it save memory if you reset the values to zero? I use a large amount of structs and arrays, and frankly I'm a bit worried about all the trash being stored in memory and in savegames.
    #36
    Ok, so the Shadowplay Hypertext Engine (also known as SHYTE) is finished. However, due to AGS' string length limit, I need to chop the text into units of 200 characters (198 + 2 characters of formatting code if the line continues/is continued), and frankly it's a bit of a pain doing it by hand.

    So I'm looking for a macro text editing program, preferably freeware, which will take a raw text file, split it into units of 198 characters (or the last spacing) and - if possible - auto-insert my code at the beginning and end of every line (AddText("*string*")), so that it can be pasted directly into my script.

    Any suggestions?
    #37
    I was flipping through the awesome Disney book "The Illusion of Life", and came across this piece of production artwork from Pinocchio. And maybe it's just me, but I immediately thought "Monkey Island". Could it be that the LucasArt background artist looked to Disney for inspiration?





    Have you come across other examples of game art being inspired by existing art? I was thinking perhaps we could start a thread where people posted things like this. I also found an architectural drawing in a book about art deco design of a room that was straight out of The Dagger of Amon Ra (the office with the guy impaled on the hedgehog). I'll scan it as soon as I get the book from the library.
    #38
    I wrote a small keycode display script to help me find the codes for the keys not listed in the manual's ASCII table. When using it, I discovered a problem, which limits the functionality of my interface.

    The keycode for PgUp (regular, not numeric) is 380, which is identical to Down arrow.

    This means that

    1) It's impossible to use PgUp/PgDn (e.g. to scroll a whole inventory or save list page) while also using the arrows (e.g. to scroll just one line up/down).

    2) That PgUp and the arrow down key have the same functionality despite their opposite meanings. A player discovering this could find it confusing.

    3) It also seems incosistent that there are two keycodes for PgUp and PgUp numeric (380 and 373),  while the keycodes for PgDn and numeric PgDn are identical (381).

    I'm aware that this issue may be Windows related and not internal to AGS, but I hope there's some kind of workaround.
    #39
    I'm heading into the implemention stage of development on Shadowplay, but before importing all the art in a specific format, I thought I'd ask you guys. I planned to use 640x480 resolution with 32 bit color, but a while back I realized that I really don't have any need for the alpha channel, at least not enough to warrant the extra file size.

    However, reducing the colors to 16 bit give me a bit of slack, size- as well as performance-wise. So I've been considering using 800x600 mode instead. It does mean that all my GUIs will have to be re-done, and some functions rewritten. But character sprites have been drawn so big that they can probably be used without any problems. Backgrounds are resized from 300dpi originals anyway, and few finished backgrounds have been imported so far.

    So what do you think?  Does the higher resolution make enough of a difference to be worth the trouble and the additional download size?
    #40
    If you're searching for games at flea markets or garage sales, REMEMBER TO LOOK AMONG MUSIC CDs. A lot of people throw out their boxes, and CD ROM games in jewelcase end up along with the other CDs. I couldn't care less about audio CDs (I collect LPs), but this weekend I happened to look in a box of CDs and found: Monkey Island 1, King's Quest VI, Willy Beamish, Loom and the Sierra-non-adventure Jones in the Fast Lane. For under $1 each! (not that I would pay much more for a game without box or manual ;))
    SMF spam blocked by CleanTalk