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

#1801
Go to the Characters pane in the editor and select a character. Notice the box labelled "Talking color"? Put the number of the color you want for that character there.
#1802
It would be nice if you could select different color depths on import for compression purposes (because who really can tell the difference between a 16- and 32-bit background?) and have it converted to the proper color depth on run-time. But perhaps it would cause too much of a slowdown.
I originally considered using 16-bit backgrounds and 32-bit characters to make the download smaller (my 640x480 game has around 35 rooms, and another few backgrounds used for cutscenes). But it created too many problems with RawDraw and DynamicSprites. Now that we can RawDraw directly to sprites, that is not really an issue anymore, so it could in fact be possible. But I would prefer it if it was in fact supported by the engine and wasn't just a hacky workaround where I have to remember to reset the color depth every time I re-import my art resources.

I think a lot of games could benefit from 32-bit sprites - think Nelly Cootalot with anti-aliased characters - but most of the time the extra file size of the backgrounds just doesn't seem worth it. So rather than forcing all art into the "correct" color depth of the game, I'd rather suggest making it easier and less problematic to mix color depths.
#1803
Storygamer, please don't let my experiences turn you off trying the game altogether. Give it a chance, at least the first couple of missions are doable even for people who aren't used to playing action or stealth games.
#1804
Quote from: ProgZmax on Fri 16/11/2007 13:41:37I think any system (be it online or whatever) that encourages people to publicly classify their level of friendship with other people is an inherently flawed and potentially destructive one. [...] The AGS forums are clearly superior due to our group hugs and vigorous back-pattings!

You mean that I'm the only one who puts you and LimpingFish on my list of "Bad boys who won't get the Shadowplay demo for Christmas" when you say nasty things about GK3? ;)
#1805
I don't know, maybe it's a combination of 3 years as a professional game reviewer, roughly the same amount of time working as a game tester, and of course my own experience as an amateur designer. But I've become extremely sensitive to anything that I consider flawed design - in this case the unforgiving nature of the save game system combined with random gameplay elements like the wire cutting. If it auto-saved on entering a new room, it would be a different matter entirely.

I'm very impressed with the game in concept and overall design, as you can see from my first post in this thread, I just don't find it very entertaining - it's too damn hard. And this is coming from somebody who had the patience to finish all the Hitman games with perfect scores (well, only the last three actually had a scoring system).
#1806
Quote from: TheJBurger on Thu 15/11/2007 23:42:52But that would just spoil the fun.

My whole point was that I'm not having fun and am now giving up on the game (at mission 6). A few years back I would have struggled with the damn game until I was through, probably even replayed it for the maximum score, but I neither have the time nor the patience to do so anymore. I guess it's just a matter of time before I give up on video games altogether.
#1807
Any chance that someone could post a savegame with all the levels and minigame unlocked? I'm getting really sick of replaying the same sections again and again, trying to save on tazers and alarms without even knowing how many rooms I still have to go.
#1808
You might want to check out monkey's flashlight module which does exactly what Radiant suggested.
#1809
Great, I'm looking forward till your game comes out so I can see it in action :)
#1810
Yup, that's what I was saying. Uncheck the "Diagonal Loops" box for the fish characters though, so you don't have to add so many loops.

Loop 1 is left, Loop 2 is right. You decide yourself how you want to set up Loop 0 and 3 (up/down), whether you just want to put in the left/right sprites or draw new ones.
#1811
Well, if you refer to my very first post in this thread, you'll see that I suggested using characters instead of objects in the first place, because it would make it easier to make them face the right direction. Since the code uses the regular walk routines that's also used for the player character, all you need is to set up the animation loops for the fish characters like you would set up a normal walkcycle.

Just go to your "Views"-page in the editor, select the fish view and add some more loops to it (for all four directions, but you just want to set them all to the same sprite unless you also draw front/back frames). Then, to make them face the other direction, you click the word NORMAL beneath the sprite and it changes to FLIPPED and you will have a loop of the fish swimming in another direction.

There's still a slight problem when the fish is swimming straight up/down, if you find it to cause a lot of trouble, I can supply you with some code to fix it by changing loops manually. But now that the code is finally working, it would probably be easiest to use the other method.
#1812
I'm glad you got it working. The fish swimming on the grass is probably because the character coordinates are in fact the bottom center of the character sprite, so you want to decrease the width of the walkable area a little and remove a fish's height of the top part of it (and adjust numbers accordingly, as you say).
#1813
Yes, see my example that I put in the edit above.
#1814
Ah, sorry, my mistake. There should be one bracket more at the very end, and one less before "fishnumber++". Like so:

Code: ags
          character[fishnumber].Walk(destinationx, destinationy);
          }
      fishnumber++;
      }
   }
}
#sectionend room_a  // DO NOT EDIT OR REMOVE THIS LINE
#1815
Which line is 19? I think the problem is that there's a bracket too many after the line:

Code: ags
   character[fishnumber].Walk(destinationx, destinationy);
   }
} //REMOVE THIS!
fishnumber++;


So that it never moves on to the next fish.

Edit: Incidentally, the whole point of redoing the randomizing until the spot is actually on the walkable area is exactly to get around the problem that the fountain isn't square. So we've got that covered. It's highly unlikely that it would ever go through 150001 iterations where the randomized coordinates are all outside the walkable area, but there's an infinitismally small chance of it happening. If you really want to be on the safe side, you could add a counter and supply a pre-set coordinate in that case, like this:

Code: ags
 int count;     
       while (GetWalkableAreaAt (destinationx, destinationy) != 2) { //we're gonna randomize some coordinates but must make sure they're in the water (replace 3 with number of walkable area)
          if (count > 100) { //if we've done 100 randomizations, screw it and just supply values that we know are inside the walkable area
             destinationx = 150;
             destinatyony = 130;
             }
          destinationx = 123 + Random(84); //Replace 123 with the leftmost x coordinate of the water area and 84 with the max width of the water area
          destinationy = 102 + Random(57); //Replace 102 with top y coordinate of water area and 57 with max height of water area
          count++;
          }
      character[fishnumber].Walk(destinationx, destinationy);
      }

#1816
Don't bother with the character control module, using that is overkill unless you also use it elsewhere in the game.

I would recommend first of all, to make the fish characters rather than objects. Then you can set different loops for them to avoid the fish swimming backwards. Also, make the water in the fountain a walkable area but make sure that it's blocked off from the surrounding walkable areas, so the player can't get into it. Also make it slightly smaller than the actual water surface, since character coordinates signify the center of the sprite, and you don't want half a fish poking through the edge of the fountain.

I assume here that you make them characters that are numbered in sequence (here 5 fish as characters 5-9). Even if you reuse the same art for multiple fish, they must be individual characters for it to work.

in the room script repeatedly_execute:

Code: ags
int fishnumber = 5; //the first fish in the sequence
while (fishnumber <= 9) { //this means that we run through all the fish before continuing the script
   if (character[fishnumber].Moving == false) { //don't bother if fish is already moving
       int destinationx;
       int destinationy;      
       while (GetWalkableAreaAt (destinationx, destinationy) != 3) { //we're gonna randomize some coordinates but must make sure they're in the water (replace 3 with number of walkable area)
          destinationx = 53 + Random(40); //Replace 53 with the leftmost x coordinate of the water area and 40 with the max width of the water area
          destinationy = 60 + Random(35); //Replace 60 with top y coordinate of water area and 35 with max height of water area
          }
      character[fishnumber].Walk(destinationx, destinationy); //make the fish swim to the randomized coordinate
      }
   fishnumber++; //move on to the next fishie
   }


Alternately, put in the room script repeatedly_execute_always, surrounded by:

Code: ags
if (IsGamePaused() == false) {
   //put the previous code here
   }


So that the fishies will swim even while blocking animations are executed, but not while the game is paused.
#1817
First of all, you'll have to move the declaration of the overlay ("Overlay* myOverlay;") to the top of the GlobalScript, since you'll be calling it from multiple other scripts. Also, you probably want to use PauseGame() before closing the inventory, so the game won't be running in the background of the overlay.

Then, you can put in the on_mouse_click() function:

Code: ags
if (myOverlay.Valid) {
   myOverlay.Remove;
   UnpauseGame();
   InventoryScreen();
   }
#1818
Well, Overlays like Objects will always be behind GUIs, that's why I added "GUI if it's supposed to appear in front of the inventory window". But you were talking about turning off the Inventory GUI while displaying it, so that's why I suggested Overlays. Are you using the built-in inventory or a custom one? Custom ones can be turned off and on using GUI.Visible on and off, but the built-in one has its own special commands, not sure if it's possible.

If you want to show the book page in front of the inventory, create a separate GUI to display the page in, and remember to set the order of the GUIs.
#1819
Yahtzee's games are always very inspiring in terms of game design (this one made me start writing a Game Theory Discussion proposal on system based gameplay). However, I find the difficulty curve on this one terrible frustrating. The fact that there's no save points during missions make some of the later ones highly frustrating, almost like the first Hitman game - a series that I otherwise love.

Spoiler
Just having to do the insane button tapping thing every time you restart mission 3 was enough to make me quite the game every time I failed. Now I'm at the secret lab, and it feels like a total waste of time to have to figure out and enter the code on every game start.
[close]

Very impressive game nevertheless, if only it was slightly more forgiving. I'm sure it improves once you have enough points to buy the full skill-set.
#1820
No it's not your fault, it's a problem in AGS 3.0, which although supporting up to 40 objects per room actually can't handle more than 20 object indexes (0-19). This has been reported and should be fixed in the next version.

Edit: Sorry, I'm talking out my ass, the current version should support indexes up to and including 20 according to the error report. I assume this code is in the global script however, and objects are room specific. So do you actually have an object nr. 20 in the room that you're running this script in? If you're supposed to be able to look at the book in more than a single room, it would be better to use a GUI or an Overlay for the book page (GUI if it's supposed to appear in front of the inventory window).

Edit 2: In response to the other reply, if this is indeed in global script, you won't be able to use object script-o-names, since those are loaded along with the room and will give a compile error in the global script.
SMF spam blocked by CleanTalk