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.

Topics - Chrille

Pages: [1] 2
Advanced Technical Forum / SUGGESTION: File Managing
« on: 26 Dec 2011, 13:38 »
I miss the ability to manage files from within AGS, such as creating & deleting folders and renaming, copying & deleting files. Would it be hard to write a module or to implement this directly into AGS?

I was just doing some scripting when all of a sudden AGS crashed and warned me that the game files might be corrupt. I was quite shocked because even though I did a backup just a few days ago there was still quite alot of work done in that time.

After the game crashed I tried loading my game again and got an error message in swedish that translates to something like:
"Index was outside the matrix boundaries" (+ several lines of code displayed that were probably executed when the program crashed)

AGS crashed as I was editing some lines in one of the script .ash files, so I opened it up in notepad and simply removed the line I was typing as the crashed. The game loaded fine after that and everything seems to work as it should. Seems like no big deal.

I'm still quite worried though. Is it possible something might have been corrupted and if so, could that data still be corrupted?

Edit: This happened again, not long afterwards, the script looked about the same and the crash occured at roughly the same line. I moved things around a bit and it hasn't crashed again. Perhaps this is a bug that can tracked and fixed? I still have the 'broken' files if you want them, CJ.

I'd like to know if you can use String.Format in functions in the same way that Display() works.

Here's the very basic function:

Code: Adventure Game Studio
  1. function Message (String text) {
  2.  dostuff;
  3. }

and here's how it's used with String.Format
Code: Adventure Game Studio
  1. Message (String.Format ("bla bla bla %d",stat));

With Display, you don't have to enter String.Format, and that's how I'd like my function to work.
It's a small problem that I hardly ever run into. Still, if it's possible...

I'm trying to create a transparent image for a GUI button through code. I've created a dynamic sprite from part of the background and then used DrawImage on the surface. The problem is where the pink transparent color shows through. Is there any way to avoid this when drawing on a GUI?

I ran into an issue where my game wouldn't accept/run the UnPauseGame(); function. It happens if PauseGame(); is run while the game is already paused, it seems to break UnPauseGame();.

I fixed it by only letting the game run the function if the game isn't already paused. Has anyone else encountered this or is it something else in my game causing this problem?

Beginners' Technical Questions / Retrieving RGB values
« on: 13 Jul 2010, 18:20 »
Is it possible to retrieve a color value from the screen? Like, what's the value of Red, Green or Blue at X & Y?

I recently realised that something, somewhere in my game's is blocking the scripts. I would never have noticed this had it not been for the game's GUI. I'm using a gui button to display some animations in the game with dynamic sprites and such and occasionally the GUI greys out as it does when a blocking function is run. These periods are very brief, just a cycle or two it seems.

I could just set the GUI to not change its appearance if the game is blocked. But I don't like using blocking functions and I'd like to get to the bottom of this. I've looked through the script without finding anything that might cause it. There are no wait commands, no blocking move commands and no blocking animations that I could find.

I suspect that the cause might some while statements being tested when there are alot of characters on the screen. It would be really useful if I could trace at what line in which script the game was at while it was being blocked. Is there any way to script a function like this?

Advanced Technical Forum / Calculating distance
« on: 27 Jan 2010, 17:58 »
I'm trying to make a function for calculating the distance between characters. The trick is that I'd like to add the factor of a character's scale in there. For example:

Character A is at 160x220, unscaled at 100. Character B is at 192x195 at a scale of 25. So instead of just getting the pixel distance from 160x220 to 192x195, Character's B values should be much higher since he is further away in perspective. Also, perhaps the Y value should be slightly higher than X because of the depth.

I tried to calculate this but I'm not happy with the results, my head just spins trying to figure it out. I'd be very grateful if anyone has any suggestions for doing this.

At the top of my global script there is some code for a struct which causes this error message:
"GlobalScript.asc(56): Error (line 56): Attributes of identifier do not match prototype"

Here is the code:
Code: Adventure Game Studio
  1.   struct InteractZone {
  2.     String zoneTitle;
  3.     int zoneImage;
  4.     String zoneType;
  5.   };
  7.   InteractZone zoneHotspot[10];
  8.   InteractZone zoneObject[10];

Line 56 is the one about 'InteractZone zoneHotspot[10];'
I tried searching both google and the forums for that exact error message and got no results at all. Could it be something further down in the script causing the error message?

I'm considering making my own system for interacting with hotspots/objects using a system of arrays & structs. Actually GarageGothic suggested this option to me ages ago but then the old ProcessClick system seemed managable and now it's getting in the way as the game grows. I can save alot of code and time if this is possible.

What I'd like to know is:

1) If there is some sort of global function that's called every time any room is loaded before fade-in, like the "room_load" function. I've been unable to find one.  I guess I could make my own function with my special conditions and just stick ChangeRoom at the end. But that would mean the special conditions would be executed in the old room. What would happen if ChangeRoom was placed at the top of the function, would the special conditions be executed in the new room? Curious!

2) I want to make my own interact function, called when the player clicks on something. What I'm unsure about is how I can call the function in the room when triggered from the global script. Something like this:

Code: Adventure Game Studio
  1. on mouse click -> is cursor over hotspot? -> interact (hotspot id);

so in the room it would look pretty much like this:
Code: Adventure Game Studio
  1. function interact {
  2. // things happening
  3. }

I guess the reason why I'm confused, wondering if this is even possible, is because it seems the regular ProcessClick actions aren't even registered unless it has been specified that a hotspot/object has an interaction in the room editor. So, I'd be very happy if someone could explain how this works!

I'm trying to make a function that looks for a value in an array, but I'm uncertain of how returning values work.

Here's what the function looks like, roughly:

Code: Adventure Game Studio
  1. function searchArray (int whichvalue) {
  2.   int search = 0;
  4.   while (search > -1) {
  5.     search ++;
  6.     if (array[search]==whichvalue) {
  7.       ? return true; ?
  8.     }
  9.     if (search == 100) { // 100=array size
  10.       ? return false; ?
  11.     }
  12.   }
  13. }

Here's how I'd like to use it:
Code: Adventure Game Studio
  1. if (searchArray(1)==true) Display ("bla bla bla");

But as I said, I'm uncertain of how a certain value is returned. I'd just like to return a true/false value depending on if the wanted value is found in the array or not.

This problem concerns two GUI's. One contains an inventory window and a label, the other is used as a transparent background for all GUIs, changing its shape depending on what GUI pops up. When the inventory GUI is up there is a button on transparency GUI that also appears.

Here's my problem. When the inventory GUI loads, the transparency GUI sets its width & height and x & y positions relative to the size & position of the inventory window. This works fine. However, the button, meant to be right behind the inventory window, appears both too far to the right and below the window's coordinates. The button's x & y values are set to the inv. windows x & values so it should be exact.

While I could just adjust this manually it is a bit annoying and I can't figure out why this is. Is the pivot of buttons not in the top-left corner like other gui objects or is this a bug?

I've been playing around with AGS for a while now. It's been a few several years since I tried it and I must say it's fantastic how much it has improved. Well done, Chris!

General Discussion / Roskilde anyone?
« on: 27 Jun 2006, 16:46 »
Just curious about if anyone else here is going to the Roskilde-festival in Denmark this year? If so, perhaps we can meet up. Leaving tomorrow.

I asked for help with a project a while ago. The thread can be found here:

Since I have received only one mail from a writer who seemed vaguely interested I guess I'll have to do most of it myself. However, I still really want some help with the game's palette. While the game uses millions of colors, the player will only have a select number of colors to choose between when he creates characters. These colors are used when characters are randomly generated as well. Thing is I'm not really good when it comes to putting together a palette. I want it to be a nice range of colors that go well together but it would also be good the colors were placed in an order that looks good on the GUI when the player picks colors.

Here's what the palette editor looks like:

The game has three palettes that the player can pick colors from. One for hair, one for skin and one for clothes. There can be up to 64 colors in each palette (not all slots have to be used though). It's important that no colors are too close to each other. This goes for all palettes. Just so that you can tell them apart fairly easy is enough.

Here's what the palette will look like when the character is being created:


If you're interested in helping me put together this palette you can either put a bunch of colors on an image or use a limited version of the game editor that can be found here:

This archive includes a limited version of editor (tecmoPalette.exe) and a small program that lets you create a character and see what the palette will look like (tecmoSoldiers.exe). There are also two font files that the game uses that you can install if you want to, but it's not necessary.

As soon as you change one of the colors in the palette editor a new data file is generated. This can be found in DataTecsqbmfuuf.tec . You can send this to me or preferably upload it somewhere and post it here so that others can grab it and make further adjustments to it.


I'd appreciate this help very much. I've put together palettes for the Skin and Clothes, as you will see. I'm not entirely pleased with them though. Feel free to make necessary adjustments or replace them entirely.


For fun, I've also included the bodypart sprites that the game uses for putting together characters. You can add more bodypart sets to this easily. Here is how:

There are 6 different types of bodyparts that the game makes characters out of. These are:

The sets have different amounts of image files depending on what bodypart it is for. The torso has 10 different images/set while the hat only has 5 images/set. To make a new set, just copy an existing one and rename the images in the set (but DON'T change the numbers at the end). You can also extract the .rar file that can be found in some of the bodypart folders and an "empty" set will be available. This empty set might have graphics for the entire head, but it's only to help you see roughly where to draw hair, eyes etc. Remove the unneccessary pixels when you're done. Don't forget to rename the extracted files.

The bodypart sprites use certain colors that the engine uses when coloring the character with the chosen colors. These are all colors from the windows 16 color palette. The colors used are:

Red: Skin
Yellow: Roughly shaved skin. For 5 o' clock shadow and stuff like that.
Green: Hair
Blue: Primary Clothing Color
Pink: Secondary Clothing Color
Cyan: Transparency

The dark versions of each of these colors except cyan are used for shading.

To add your sets to the game just click 'Yes' when asked to compile the spritesets at the start of the editor. If you like a set please compile all the images and mail them to me (you can also upload some examples here if you like for others to see).

Some things to keep in mind when naming sets:
Try and keep the names short too and avoid spaces (although it's not necessary). I guess if the names have something to do with the look of the bodypart set that would be an advantage. For example if you've made a goatee set just name it goatee#, goat# or something like that.

Don't hesitate to make many different sets if you want to. It doesn't matter if the changes are minor because the more the merrier.

That's all!
You can contact me at

General Discussion / Silly game idea: Help wanted
« on: 21 Jan 2006, 15:16 »
Hello! I've been working on tools for a rather silly, experimental but hopefully very entertaining little game. However I need help making the actual content using these tools. This is not AGS-related, so I'm asking in the gen. forum. The game idea is this, taken from the Gaspop website:

The game is a turn-based tactics game. You start by creating a character to serve as leader of a group of goons. When the character is ready you can start hiring goons and buy weapons and other gear for these goons. Money will be made when fighting enemy squads. During battle, each player will take turns giving orders to his/her leader-character and the goons. Here's the twist, the characters won't move until both players have given their orders. Once the players are done, the game will unfreeze and the characters will start acting based on the orders they have been given. When a minute of action has passed, the game will freeze and the players will be able to give orders again. This will repeat until the game is won by one of the players. The battlefield is seen from a horizontal-side-perspective, pretty much like say a level in a 2d beat 'em up like Final Fight or River City Ransom.

Characters will have standard skills like speed, strength, endurance etc. but they can also either be good or evil. When recruiting you might be able to try and figure it out by reading the messages the characters will send you when they're looking for work. Characters might also end up disliking other squad members if they are hurt by them. You can keep your goons happy between combat by giving them extra cash or better weapons. If you spoil just one goon the others will eventually grow jealous and dislike your leader character. A character who dislikes another character might ignore the fact that the other character is standing in his line of fire. Evil characters always do this.

The game is supposed to take place on some planet, perhaps earth, years into the future. There are no laws and there are no longer any countries, just cities. Characters will come from these different locations and their looks and personalities will be affected by where they're from. Although this won't do much for the gameplay it will add more depth. The purpose of all this is for players to care more about the characters in their squad. Perhaps refuse sending them to certain death. Perhaps end up surrendering combat in certain cases to avoid having characters killed. Once a goon dies he will stay dead. If the leader character dies the game is over and the player must create a new squad with a new leader.

This may all sound rather serious, but the fact is this will be a humorous game. Part because of the humor that will come out of the many random and hopefully silly events of combat. Part because of the graphics, which imitate the graphics in Tecmo's old games River City Ransom and Nintendo World Cup. Finally, part because of the silly story and game world.

You will be able to play against others either by sending turns through e-mail, or by playing on the same computer. Possibly also directly online depending on if we can figure out a good way to do it.


Sound interesting? If you're interested in helping, below follows a list of positions that need to be filled:

Project Manager: Will make sure things progress and keep track of who's doing what.

Lead Artist: Will help pick the colors for the game's palettes and look over and approve the work of the other artists. Love of the art of the mentioned Tecmo games a plus.

Pixel Artists: Will create graphics for characters and/or, environment, items/weapons. Love of the art of the mentioned Tecmo games a plus.

GUI Designer: Will help design the layout of the game's interface. Mostly in the menus.

Level Designers: Will create levels/battlefields for the game.

Writers: Will help design the game world, write background stories for the locations and messages from characters. A wacky sense of humor a plus.

All teammembers will get access to the tools that will be used to develop this game.

If you want to help, send me an e-mail and let me know what position/positions you're applying for. Include a description of why you would be the best (or at least a good ;)) person for this position. If you have samples of your work available online, please include links. If it's text you may include it in the e-mail.

Please keep in mind that this will be a freeware product and that you won't get paid for your work. Course I might buy you a drink if I ever meet you at Mittens ;).

Adventure Related Talk & Chat / Mittens 2005: The Return
« on: 23 Aug 2005, 11:04 »
Okay, after a good night's rest I'm feeling better, but I must have hurt a muscle in my stomach or something because I can't stand up straight or walk without feeling a terrible pain. I'm glad it didn't happen during Mittens.

It's nice to be back, one week was a good length for Mittens, although I wouldn't have minded staying another week. The camping site was good although it would have been nice if we could've gotten one big tent-spot somehow instead of being spread out. The food we got at the campsite was pretty crummy, but the nice restaurants in town made up for it and the ouzo (sp?) was nice as well (as long as you didn't mix it with water ;) ).

Overall I've really enjoyed this past week and it was great meeting everybody from Mittens 2003 again as well as Grundislav, Disco, Lorena and Dominika.

Thanks alot for organizing this year's Mittens, Helm!

The first episode of Urban Joe, a platform action game in development by GASPOP software has been released and is available for download at:

Several members of the AGS community has helped in the development. There was also an Urban Joe tournament at this year's mittens. Last time I posted about the game was when the demo was released, but it didn't gain any interest. But I figured I might as well try again. As Sylpher said "few people care about demos.. they want the whole thing". Here's hoping ;).

General Discussion / Any 3dsmax experts around?
« on: 03 Sep 2003, 15:03 »
I'm trying to learn the 3dsmax basics by following the tutorials that come with 3dsmax 5. There is one particular tutorial where you have to model an apple and use soft selection to change the shape of the bottom half. Unfortunatley I've done exactly what the tutorial says, but the mesh refuses to take the shape of the soft selection curve.

According to eric, he had the same problem but he doesn't remember how to fix it. Anyone else know?

Adventure Related Talk & Chat / Chrille's Mittens Report
« on: 02 Aug 2003, 02:29 »
I had a great time this year as well, it was lots of fun and interesting to meet you guys in person and I hope I'll see you again at next year's mittens.

I've put together a report of the events at Mittens 2003 here:

There are so many great movies that most people of my generation have never bothered to see partly because nobody hardly ever talks about them. List any older movies here that you think people really should see:

Some movies I saw last year, and again recently ;)

Once Upon A Time In America (1984):
Sergio Leone's crime drama masterpiece, it was just recently released on DVD and weighs at roughly 220 minutes. Stars Robert De Niro, James Woods etc.

Cross of Iron (1977):
Best war movie ever, enough said ;). James Coburn kicks (or kicked, rather) ass.

The Wild Bunch (1969):
Without doubt one of the best (and probably the most violent) westerns ever. Very entertaining! Stars Ernest Borgnine, William Holden, Warren Oates etc.

Pages: [1] 2