Adventure Game Studio

AGS Support => Advanced Technical Forum => Topic started by: subspark on Tue 09/12/2008 03:34:03

Title: AGS 3.3 Wishlist
Post by: subspark on Tue 09/12/2008 03:34:03
I wish for the AGS Editor to support designing games and their GUI's for both widescreen 16:10 and standard 4:3 in the same compiled exe. A smart auto-detection feature should decide which aspect ratio to launch our games in.

Cheers,
Sparx.
Title: Re: AGS 3.1.2 Wishlist
Post by: Trent R on Tue 09/12/2008 04:30:40
So letterboxing or pillarboxing depending on the game's native res? I'm with that.

~Trent
Title: Re: AGS 3.1.2 Wishlist
Post by: GarageGothic on Tue 09/12/2008 05:01:30
I'm repeating myself, I know - this is probably the fourth time this discussion has been brought up - but I would really prefer a mode where the full screen area could be used in either resolution by cropping the screen area and repositioning the GUIs. With for instance the LucasArts GUI that takes up 1/3 of the screen, there's really no need to add additional non-active bars.

This kind of cropping is already possible by changing the resolution from for example 640*480 to 640*400 before compiling, and manually locking the viewport to wherever you want the y-cropping to start. But first of all this requires two .exe files, one for widescreen and one for 3:4 aspect ratio.  And secondly, the change of resolution makes the GUI coordinates behave inconsistently. It would be awesome if the cropping could be handled by the runtime to avoid these problems.

Oh, and since CJ asked me to repost this in the wishlist thread:

Is there any chance that savegame names could be stored as a String (or even just a 255 char string) rather than the currently very limited number of characters? I like to use it for storing additional information such as time of save, room ID and the current day in the game, which doesn't leave much space for whatever the player types.
Title: Re: AGS 3.1.2 Wishlist
Post by: subspark on Tue 09/12/2008 06:25:03
I was going for the same thing Garage. Thats what I meant in my first post.

I imagine something like this:
(http://www.shuugouteki.net/paul/Images/aspect_design.gif)

The user makes background art for both modes and the GUI labels, borders and background image can be aligned, scaled and positioned differently and independently of the opposite mode.
I think there should be a background region tool which essentially draws the background room into a region so that it can be repositioned. The region would also have right-hand-side pane values for which image to use for what aspect mode.

Cheers,
Sparx.

PS: I'm sure someone can come up with a better example than my crappy MI1 sample.
Title: Re: AGS 3.1.2 Wishlist
Post by: GarageGothic on Tue 09/12/2008 06:58:10
I'm not really fond of having separate graphics for the two modes, as it doubles file size (also, cropping the sides as you do is a bit problematic as it's usually there the exits are located). Looking at your example, I was more thinking along the lines of keeping the artwork the same size but redesigning the GUI to take up less vertical space for the widescreen version.

I think you're making things overly complicated, Subspark. There's not really any reason to implement this into the editor. A simple SetViewportCrop int parameter with the pixel offset, and of course the option to select either of the two resolutions through the setup (as you currently only can choose them before compiling) would be enough. As there already exists widescreen resolutions (320x200 and 640x400) which just crops any 4:3 (320x240 or 640x480) background you have imported, the functionality IS in there, we just need to be able to access these settings also after compiling.
Title: Re: AGS 3.1.2 Wishlist
Post by: subspark on Tue 09/12/2008 07:32:16
QuoteI think you're making things overly complicated, Subspark.
Your probably right. The problem is the height of the background graphics. I was going to go your route and suggest designing our background art to be 4:3 in the first place and then dynamically cropping it at 16:10. This seems like the best method and in turn does not approximately double your game's file-size.

Good thinking Garage. I guess wishful thinking and excitement got the better of me. You can call me Sparx btw. :)

Cheers.
Title: Re: AGS 3.1.2 Wishlist
Post by: Mehrdad on Tue 09/12/2008 15:04:42
hi
wish:put a key RUN for any room.or put RUN  key for current room.without compiled.
Title: Re: AGS 3.1.2 Wishlist
Post by: Gilbert on Tue 09/12/2008 15:54:49
One big problem is that when you "run" a specific room there are a lot of uncertainties, like what values the global variables should be, etc. You can, of course, just change the starting room of the player character to test a particular room, currently. I think it may not be possible to test something without compiling though.
Title: Re: AGS 3.1.2 Wishlist
Post by: Pumaman on Tue 09/12/2008 18:40:51
Quote from: subspark on Tue 09/12/2008 03:34:03
I wish for AGS Editor 3.1.2 to support designing games and their GUI's for both widescreen 16:10 and standard 4:3 in the same compiled exe. A smart auto-detection feature should decide which aspect ratio to launch our games in.

The problem is with available resolutions. Most modern systems that are likely to have a widescreen monitor also do not support 320x200 or 640x400. That means that AGS ends up having to run at 320x240/640x480 anyway, which negates any potential benefits that this feature would provide.

QuoteIs there any chance that savegame names could be stored as a String (or even just a 255 char string) rather than the currently very limited number of characters? I like to use it for storing additional information such as time of save, room ID and the current day in the game, which doesn't leave much space for whatever the player types.

Hmm, I forgot that it did this. I'll look into removing the 50 character truncation.

QuoteOne big problem is that when you "run" a specific room there are a lot of uncertainties, like what values the global variables should be, etc. You can, of course, just change the starting room of the player character to test a particular room, currently. I think it may not be possible to test something without compiling though.

Hmm yeah, this feature would be possible to add but potentially dangerous. No matter how much documentation was added warning that the game didn't get compiled, people would still "run the room" and post bug reports about how their global script change hadn't been picked up. So it's probably safer not to do this.

The AGS 3 Test Game feature is quite fast compared to compiling the game, so it shouldn't cause too many delays.
Title: Re: AGS 3.1.2 Wishlist
Post by: GarageGothic on Tue 09/12/2008 19:21:39
Quote from: Pumaman on Tue 09/12/2008 18:40:51The problem is with available resolutions. Most modern systems that are likely to have a widescreen monitor also do not support 320x200 or 640x400. That means that AGS ends up having to run at 320x240/640x480 anyway, which negates any potential benefits that this feature would provide.

I was under the impression that 1280x800 was a pretty common widescreen resolution, but I realize there are many different standards. Shouldn't the Direct3D renderer be able to resize the image to pretty much any viewport size without framerate loss though?
Title: Re: AGS 3.1.2 Wishlist
Post by: subspark on Tue 09/12/2008 23:30:14
I thought the resolution system was going to undergo an overhaul anyway. Such as drawing the screen to a polygon.

Cheers,
Sparx.
Title: Re: AGS 3.1.2 Wishlist
Post by: abstauber on Wed 10/12/2008 11:34:48
Another wish:
Making it possible to set custom properties during runtime: like having SetTextProperty.
Then I could get rid of some public structs.

Title: Re: AGS 3.1.2 Wishlist
Post by: SSH on Wed 10/12/2008 11:59:18
Allow structs within structs, pointers and make functions first-class objects...

oh, and polymorphism ;)
Title: Re: AGS 3.1.2 Wishlist
Post by: OneDollar on Wed 10/12/2008 13:05:01
Multi-dimensional arrays?
Title: Re: AGS 3.1.2 Wishlist
Post by: AsimosVagan on Wed 10/12/2008 15:01:55
Quote from: SSH on Wed 10/12/2008 11:59:18
Allow structs within structs, pointers and make functions first-class objects...

oh, and polymorphism ;)

  My vote goes to SSH for president. :)
Title: Re: AGS 3.1.2 Wishlist
Post by: SSH on Wed 10/12/2008 17:24:59
Quote from: AsimosVagan on Wed 10/12/2008 15:01:55
Quote from: SSH on Wed 10/12/2008 11:59:18
Allow structs within structs, pointers and make functions first-class objects...

oh, and polymorphism ;)

  My vote goes to SSH for president. :)

Yes, we can!
Title: Re: AGS 3.1.2 Wishlist
Post by: Pumaman on Wed 10/12/2008 17:55:59
QuoteI was under the impression that 1280x800 was a pretty common widescreen resolution, but I realize there are many different standards. Shouldn't the Direct3D renderer be able to resize the image to pretty much any viewport size without framerate loss though?

1280x800 is the lowest common widescreen resolution, yes. But that would mean that if this feature was implemented, people would have to run the game at 1280x800 as a minimum if they had a widescreen monitor. Although D3D does improve the performance of the filtering, there is still a slowdown -- try it out and compare the framerate between running a 320x200 game at 320x200, and running it at 1280x800 using the 4x filter.

Obviously when using DX5 mode, the slowdown is much more pronounced.

QuoteI thought the resolution system was going to undergo an overhaul anyway. Such as drawing the screen to a polygon.

I'm not really sure what you mean about the polygon, but yes the resolution system is under consideration for an overhaul -- if we can work out a way of implementing it that makes sense.

QuoteMaking it possible to set custom properties during runtime: like having SetTextProperty.

This has been requested a few times over the years; the reason it doesn't happen yet is to cut down on the size of the save games. But it probably wouldn't add too much data to persist this.

QuoteAllow structs within structs, pointers and make functions first-class objects...

oh, and polymorphism

Yes, well ... pointers to custom structs would be easy to add, except for the fact that the script state has to be saved and loaded in save games, which complicates the matter somewhat. It needs further investigation.

QuoteMulti-dimensional arrays?

This is a possibility for a future version, but they have relatively limited use (ie. not that many people need them) which means they're not a priority.
Title: Re: AGS 3.1.2 Wishlist
Post by: kaputtnik on Wed 10/12/2008 18:30:28
Fine tuning the output of the translation sources. It would be very nice to have one file including character names which is sorted by rooms and GUIs, so there won't be so much confusion anymore when translating.
Title: Re: AGS 3.1.2 Wishlist
Post by: RickJ on Wed 10/12/2008 19:53:40
Quote
Allow structs within structs, pointers and make functions first-class objects...
I wish for a pointer to function data type.  This would be useful in creating custom event handler and other modules where it is useful/necessary to call a function defined in a room or global script from the module.  This would also make it possible to construct a jump table (i.e. index into an array of function pointers to execute the function) which is also useful for custom event handlers.

Title: Re: AGS 3.1.2 Wishlist
Post by: abstauber on Wed 10/12/2008 20:22:09
QuoteMaking it possible to set custom properties during runtime: like having SetTextProperty.
Quote from: Pumaman on Wed 10/12/2008 17:55:59
This has been requested a few times over the years; the reason it doesn't happen yet is to cut down on the size of the save games. But it probably wouldn't add too much data to persist this.

People create 80 - 200 MB games and complain about save game file sizes? ;D
As long as a save game doesn't grow up to 5 MB each, I wouldn't mind.

Oh and I second an easier translation method ;)
Title: Re: AGS 3.1.2 Wishlist
Post by: Trent R on Wed 10/12/2008 20:27:37
QuoteMaking it possible to set custom properties during runtime: like having SetTextProperty.
Quote from: Pumaman on Wed 10/12/2008 17:55:59
This has been requested a few times over the years; the reason it doesn't happen yet is to cut down on the size of the save games. But it probably wouldn't add too much data to persist this.

How about separating the two into Run-Time Properties and Read-Only properties (or more likely just a bool checkbox) so that the ones that don't need to be won't bloat the save size.

But I don't know much, so my suggestion might bloat it more.


~Trent
Title: Re: AGS 3.1.2 Wishlist
Post by: subspark on Thu 11/12/2008 02:17:54
QuoteI'm not really sure what you mean about the polygon, but yes the resolution system is under consideration for an overhaul
Oh sorry for the confusion, Chris. :P I meant drawing the scene onto two triangles like a texture. Two triangles making up a quadrangular polygon.
When referring to widescreen, I generally speak about low-res games being scaled up by filters. I prefer straight up pixel doubling whereas others prefer smoother scaling interpolation. We certainly need both methods to work with all aspect ratios.

Cheers,
Paul.
Title: Re: AGS 3.1.2 Wishlist
Post by: Gilbert on Thu 11/12/2008 03:17:42
I am not quite sure but I doubt this.
In D3D9 mode I think the engine takes advantage of the mode to draw scaled sprites and the like, so I think it may not be just rendering in software and output to a polygon (or two triangles, whichever you prefer).
In DX5 mode, I think it's not the case either.
Title: Re: AGS 3.1.2 Wishlist
Post by: Shane 'ProgZmax' Stevens on Thu 11/12/2008 03:52:13
Not quite sure I get what you mean there, Gilbot.  Are you saying you aren't sure that directx renders sprites as flat polys in d3d mode, because if so the answer is yes, it does.  This is something I used to experiment with quite a bit back in dx 8.1 (the performance of sprites blitted to the screen vs rendered to flat polys) and there is a noticeable performance increase in the latter method, not to mention the benefits of direct draw's built-in rotation and scaling for 3d objects.  I'm not sure what the benefits of rendering to two triangles would be over a regular poly, though, at least with flat sprites and backgrounds.


As far as suggestions go, I'll just reiterate my earlier suggestion to overhaul the music engine so the volume functions work across the entire spectrum regardless of the room's music setting (ie a smooth transition from off to loud).  Also, I'd like to see some kind of variable added to PlayMusic that will let you specify that the tune only plays once.  Granted, you can do this with playsound but if it's a music loop and not a sound loop it doesn't make much sense.  A 'looped by default' optional variable would make it so you could play short vignettes and such and wouldn't impact previous games or the way the function works for people who aren't interested.

One other thing I'd really like to see is all of the adjustable internal ags variables placed in the properties panes where appropriate.  I don't see any reason why these variables should remain hidden in such a robust editor, and many of them have practical uses (like speech display length, narrator text color, and so on).  Following along this line of reasoning, I think it would be good for the text color property to have a clickable colored box beside it representing the numeric color visually.  Too many times have I had to go back and tweak the color slightly in one tab and then type in the numbers.  This way you'd be able to click on the box, set the color, then it would be loaded right in and you could see a small square of what it should look like.

I'd also second SSH's suggestions and the multi-dimensional arrays.  I find nested structures and dimensional arrays highly useful, personally!  And for loops, switch statements...

Title: Re: AGS 3.1.2 Wishlist
Post by: subspark on Thu 11/12/2008 04:04:52
Hey wasn't your name Gilbot V7000a once? Why are you now Gilbert V7000a? Is there a grand prize for the first person to notice this?! :D

QuoteI'm not sure what the benefits of rendering to two triangles
Its not a matter of benefits. In every raster engine, all 3d objects are reduced to triangles. It would be silly to render the screen onto a single triangle because your graphics would be cut in half. It's like getting a sheet of a4, cutting it diagonally from one corner to the other and discarding one of the two pieces. So to speak.

Cheers guys,
Sparx.
Title: Re: AGS 3.1.2 Wishlist
Post by: Gilbert on Thu 11/12/2008 04:20:58
Quote from: subspark on Thu 11/12/2008 04:04:52
Hey wasn't your name Gilbot V7000a once? Why are you now Gilbert V7000a? Is there a grand prize for the first person to notice this?! :D

You are still wrong! And you are obviously not the first person who noticed this, since there were already people calling me that on the forums. I just don't want to go into details about the reason behind the change.  :=
Title: Re: AGS 3.1.2 Wishlist
Post by: subspark on Thu 11/12/2008 05:30:50
Heheheh fair enough my friend. Lol.

Cheers,
Sparx.
Title: Re: AGS 3.1.2 Wishlist
Post by: paolo on Thu 11/12/2008 13:55:59
Quote from: abstauber on Wed 10/12/2008 20:22:09
[...] I second an easier translation method ;)

Thirded.

I would also like to see repeated strings in translation files. At the moment, each string can only be translated in one way, but in most of the translations into English I have done for other people, I run into strings that show up more than once in the game and mean different things in different contexts. For example, in Righteous City II, the Italian word "vaso" meant "plant pot" in one place but "vase" in another - the same word in Italian is used for each, but English uses different words. Similarly, in DoVaDuLa'S BuRn, the phrase "Ciao Jack" means "Hi Jack" in one place and "Bye Jack" in another.

So it would be nice if multiple instances of strings could be supported somehow. The current workaround is to ask the game creator to change one of the strings in the game to something else, so that two different strings are generated in the translation file and can then be translated in two different ways.

It would also help when the translation file is translated without playing the game, as then the translator would be able to see straight away which strings appear more than once and find out from the game creator whether the translations need to be the same or different.

Ideally, strings with the same translation would be mergeable so that the user doesn't have to translate "Yes" or "Hello" or "That didn't work" dozens of times :)
Title: Re: AGS 3.1.2 Wishlist
Post by: SSH on Thu 11/12/2008 14:21:01
Quote from: Pumaman on Wed 10/12/2008 17:55:59
Yes, well ... pointers to custom structs would be easy to add, except for the fact that the script state has to be saved and loaded in save games, which complicates the matter somewhat. It needs further investigation.

How about a new keyword indicating that some variables don't get included in save games. This would be handy for module writers, perhaps, or others who need to create large "temporary" but static (in the C-sense of the word "static") variables. We then have a "on game load" event handler to make sure that you can set any such variables to a safe state. Then you could add "easy to add" complex data types, as long as they were only declared with this keyword. It would also allow people to reduce their saved game file sizes if they wanted to, by setting some variables that didn't need saving to have this attribute. the keyword "unsavable" springs to mind.

An alternate or additional suggestion is to have the "const" keyword added, which allows extra types (e.g. Rick's function jump table).



Title: Re: AGS 3.1.2 Wishlist
Post by: Pumaman on Thu 11/12/2008 18:33:24
QuoteFine tuning the output of the translation sources. It would be very nice to have one file including character names which is sorted by rooms and GUIs, so there won't be so much confusion anymore when translating.

This has been requested a few times, and does need doing.

QuoteI wish for a pointer to function data type.  This would be useful in creating custom event handler and other modules where it is useful/necessary to call a function defined in a room or global script from the module.  This would also make it possible to construct a jump table (i.e. index into an array of function pointers to execute the function) which is also useful for custom event handlers.

Again, this is a very reasonable suggestion and I can see how it would be useful.

QuoteI meant drawing the scene onto two triangles like a texture. Two triangles making up a quadrangular polygon.

Well yes, that's how 3D rendering works. But I'm still not sure what your request is.

Quote
When referring to widescreen, I generally speak about low-res games being scaled up by filters. I prefer straight up pixel doubling whereas others prefer smoother scaling interpolation. We certainly need both methods to work with all aspect ratios.

Well, a lot of game developers here seem to hate smooth scaling, and wouldn't want people to play their games antialiased. So any implementation would have to work with pixel-doubling scaling, hence the resolution problem.

QuoteAs far as suggestions go, I'll just reiterate my earlier suggestion to overhaul the music engine so the volume functions work across the entire spectrum regardless of the room's music setting (ie a smooth transition from off to loud).

Yes, this is definitely something that needs to happen... the sound/music volume system is a bit random to work with.

QuoteOne other thing I'd really like to see is all of the adjustable internal ags variables placed in the properties panes where appropriate.  I don't see any reason why these variables should remain hidden in such a robust editor, and many of them have practical uses (like speech display length, narrator text color, and so on).  Following along this line of reasoning, I think it would be good for the text color property to have a clickable colored box beside it representing the numeric color visually.  Too many times have I had to go back and tweak the color slightly in one tab and then type in the numbers.  This way you'd be able to click on the box, set the color, then it would be loaded right in and you could see a small square of what it should look like.

These sound like reasonable suggestions, certainly.

QuoteI would also like to see repeated strings in translation files.

Hmm yeah, I understand the problem here but there's no easy fix, since AGS's translation system is based around direct string replacements. I'll have to have a think about how this could be implemented.

QuoteHow about a new keyword indicating that some variables don't get included in save games. This would be handy for module writers, perhaps, or others who need to create large "temporary" but static (in the C-sense of the word "static") variables. We then have a "on game load" event handler to make sure that you can set any such variables to a safe state. Then you could add "easy to add" complex data types, as long as they were only declared with this keyword.

That's certainly a possibility, interesting idea.



Anyway, thanks for your input, guys. As always, there are lots of good suggestions and only a limited amount of time to implement them, so don't get your hopes up about any particular feature making it into 3.1.2 :)
Title: Re: AGS 3.1.2 Wishlist
Post by: Shane 'ProgZmax' Stevens on Thu 11/12/2008 23:51:28
You can do it, CJ.  We have faith in you! ;)
Title: Re: AGS 3.1.2 Wishlist
Post by: on Fri 12/12/2008 00:01:46
I'm just repeating stuff I mentioned somewhere else, but this time in the right place !

* return of the "outline GUI elements" and "lock GUI elements" to make moving/placing/resizing as easy as it used to be

* renumbering of views, and (if possible) of characters and inventory items as well, so that there is total control over how they are "grouped". So that, basically, all the tabs where you create objects are as flexible as the Rooms tab.
Title: Re: AGS 3.1.2 Wishlist
Post by: RickJ on Fri 12/12/2008 00:21:29
With regard to the suggestions made by SSH and myself,  please take into consideration that although these ideas will mostly be of interest to module developers, they will be used by and be of benefit to everyone (whether they know it or not).
Title: Re: AGS 3.1.2 Wishlist
Post by: subspark on Fri 12/12/2008 00:57:29
QuoteWell, a lot of game developers here seem to hate smooth scaling, and wouldn't want people to play their games antialiased. So any implementation would have to work with pixel-doubling scaling, hence the resolution problem.

I totally get you now. ;) My request in the general sense is this:
Isn't there any way for AGS to use 3D rendering to render the scene onto a polygon while still allowing for pixel perfect doubling or quadrupling without blurry or antialiased results? Perhaps the user can choose to turn anti aliasing off?
Emulating pixel doubling in 3d rendering must be possible if the calculations are measured correctly?! Am I correct? ???

I appreciate all your hard work on AGS Chris.  I think I speak for everyone when I say you're a true phenomenon! LucasArts would have LOVED you back in the early 90s. Jeepers.

Cheers,
Sparx.
Title: Re: AGS 3.1.2 Wishlist
Post by: Dualnames on Fri 12/12/2008 23:50:35
Well, ok,well as Ghost said lock..helped stuff back there.

But to what's been troubling me..
a lot.. mostly when I want to do stuff..

this:
gInventory.Controls[].AsButton

instead of a guibutton[] array, guilabel[] array.. I know that's a lot to ask..but well, I'm just asking.
Title: Re: AGS 3.1.2 Wishlist
Post by: Vince Twelve on Wed 17/12/2008 20:14:00
I would like an IsWalkableAreaEnabled (http://www.adventuregamestudio.co.uk/tracker.php?action=detail&id=530) function.  I just came upon a place where I wanted to do this and was surprised that it wasn't in there.  Not sure about a work around yet...
Title: Re: AGS 3.1.2 Wishlist
Post by: Shane 'ProgZmax' Stevens on Thu 18/12/2008 05:09:57
GetWalkableAreaAt (int x, int y).  It returns 0 if no walkable area is there.  You could store the coordinates for the walkable area's center somewhere and call this to check whether it is active or not.  I'm pretty sure it works with RemoveWalkableArea().  I agree that an actual function for this would be better, though.
Title: Re: AGS 3.1.2 Wishlist
Post by: Gilbert on Thu 18/12/2008 05:27:52
I agree with adding that function. Though there are workarounds, which are mostly with storing the status with variables, it would be annoying to do so if you need to en/disable walkable areas in more than one room.
Title: Re: AGS 3.1.2 Wishlist
Post by: Vince Twelve on Thu 18/12/2008 19:47:13
Yeah, that's a good work around ProgZ, unfortunately, I'm going to need this in pretty much every room and I don't want to have to enter in coordinates for every walkable area I use.   For now, I'm just leaving this feature out.  But if an IsWalkableAreaEnabled function shows up soon, then it's back in!
Title: Re: AGS 3.1.2 Wishlist
Post by: Trent R on Fri 19/12/2008 01:01:27
You could set the WalkTo points in the editor and use those. Again, a bunch of work but then you won't have to manually script all the coordinates.

~Trent
Title: Re: AGS 3.1.2 Wishlist
Post by: G on Fri 19/12/2008 16:02:21
Hi there!

I don't know if this has been asked for, but while using the room editor y like to use the "eraser area" to fix little imperfections in walk-behinds, walkable areas, hotspots and all the like. But when i use it a warning pops up from the point I click on that says "You are currently using the eraser. To draw new areas change the selected area number" And it is nice to be warned about that, but please, could it be placed somewhere around instead of over the place I'm erasing? It's quite disturbing.

Thank you
Title: Re: AGS 3.1.2 Wishlist
Post by: Vince Twelve on Fri 19/12/2008 17:22:04
Ooh, I agree with G!  That always annoys me too!
Title: Re: AGS 3.1.2 Wishlist
Post by: Trent R on Fri 19/12/2008 19:29:53
Personally, I never use the eraser (hotspot 0, etc). I just use the right click if I have to remove something.


~Trent
Title: Re: AGS 3.1.2 Wishlist
Post by: Khris on Fri 19/12/2008 19:49:40
Apologies if this has been mentioned already in this thread:

I'd love for the room editor to have checkboxes to switch on and off what's displayed.
E.g. when drawing regions, I'd be able to see my walkable areas at 50% opacity.
Title: Re: AGS 3.1.2 Wishlist
Post by: RickJ on Sun 21/12/2008 16:02:33
When the editor opens a game made with an older version it would be nice if the message say what the older version actually is instead of having to guess.

I would be even better if the user was asked if he would like to open the selected game in that older version or at least asked if he would like launch that older version (provided the older version was installed)  ;D
Title: Re: AGS 3.1.2 Wishlist
Post by: Ryan Timothy B on Mon 22/12/2008 05:01:45
Pardon this if it's already part of 3.1.1.

It would be really nice if the scripts were independent from the room editor.  It's a pain having to open the room editor for each and every room making you have to use the Events pane just to add, for instance, the event where the character leaves a room.

I feel if you add it in the script (typing it manually) the room should check for the functions and update itself.
Title: Re: AGS 3.1.2 Wishlist
Post by: Gilbert on Mon 22/12/2008 06:17:52
Quote from: Ryan Timothy on Mon 22/12/2008 05:01:45
I feel if you add it in the script (typing it manually) the room should check for the functions and update itself.

The problem is, you can change these functions to whatever names you like, though there are sorta default names for these functions. If for some reasons (though this rarely happens) you want to use these "default" function names but don't want to link them to events it would be annoying to have the editor act "smart". Moreover, if you want to use another name for a certain event function, you still need to change it in the Events section anyway.

There are exceptions though, that functions like repeatedly_execute_always(), on_key_press(), etc. still need to be typed in manually (I think, correct me if I am wrong) and they'll be used automagically if you typed them correctly in the room scripts. However, you can't change their names and they're not linked to any events in the editor.
Title: Re: AGS 3.1.2 Wishlist
Post by: RickJ on Mon 22/12/2008 07:33:35
Quote
Quote from: Ryan Timothy on Today at 09:01:45pm
I feel if you add it in the script (typing it manually) the room should check for the functions and update itself.
What Ryan is saying is that he would prefer to edit the script file rather than doing pointy and clicky stuff in the properties pane.   

Quote
The problem is, you can change these functions to whatever names you like, though there are sorta default names for these functions....
This is not really a (the) problem.  There are lots of reserved words and built-in functions in AGS already and all Ryan is suggesting is that there be a few more.   

The problem is that in some cases one may want to use the same handler function for multiple events.      For example one could create a module to handle an extended verb/cursor modes (a la Lucas Arts) where there was just one handler function that decoded the verb and responded accordingly.  This is not uncommon with modules created to service GUI events.

A script based interaction system is of course possible and could be implemented a number of different ways.  It would AGS easier to use for some.  However, eliminating the pointy an clicky system would make it more intimidating and difficult to learn for others. 
Title: Re: AGS 3.1.2 Wishlist
Post by: Shane 'ProgZmax' Stevens on Mon 22/12/2008 07:50:26
I think I suggested this a long time ago, but I think it would be highly useful for most people if there was a property for characters that let you specify their own speech font number, which AGS would internally switch to during the say functions.  This would save tons of time for people who want to display a range of fonts at different times, since they could just have blank characters with the fonts they want.  This would also add a touch of individuality for different characters, especially for the Lucasarts style since there aren't portrait pop-ups.

Aside from my earlier suggestions, I think the only other thing I'd like to see would be the ability to visually place characters in a room so you can see exactly where they will appear in the game rather than having to mess with coordinates until you have them right where you want. I'm not sure how difficult this would be, but since you already have the code in place for displaying objects you could probably just create an extension to the objects that would display characters in much the same way based on their normal view, right? :)
Title: Re: AGS 3.1.2 Wishlist
Post by: Gilbert on Mon 22/12/2008 08:20:11
Quote from: RickJ on Mon 22/12/2008 07:33:35
What Ryan is saying is that he would prefer to edit the script file rather than doing pointy and clicky stuff in the properties pane.   
I understand. But the pointy and clicky stuff was just when you add an event to the room. You can always edit the script directly for changes afterwards. If we want the editor to be able to recognise all the function names and add them automatically to events after closing the script we may need to have the names of all these functions fixed (which IMO is not a bad thing but that would change the current feature of the possibility of using different names).

Quote
The problem is that in some cases one may want to use the same handler function for multiple events.      For example one could create a module to handle an extended verb/cursor modes (a la Lucas Arts) where there was just one handler function that decoded the verb and responded accordingly.  This is not uncommon with modules created to service GUI events.
Well it's not really difficult to handle if you want multiple events to have the same function called, just do something like:

function blah(){
  //blabla
}

function event1(){
  blah();
}

function event2(){
  blah();
}


Quote
A script based interaction system is of course possible and could be implemented a number of different ways.  It would AGS easier to use for some.  However, eliminating the pointy an clicky system would make it more intimidating and difficult to learn for others. 
Agreed. IMO we can't remove the insert-function feature in the Events pane (the removal of the Interaction editor is already a pain to some new users) as not many people can remember all the function names well and may prefer to have the editor add them rather than typing in stuff themselves. So, it must be two sided, i.e. you should be able to add functions via clicking in the Events pane in the editor and the script parser should be able to recognise functions and add them as events at the same time.
Title: Re: AGS 3.1.2 Wishlist
Post by: Snarky on Mon 22/12/2008 11:16:03
I'd like for old saves to work even after you change settings in winsetup, please.
Title: Re: AGS 3.1.2 Wishlist
Post by: Khris on Mon 22/12/2008 12:56:44
I think the only setting that affects savegames is a change of resolution, something that's not possible with the latest versions anyway (and was a bad thing from the start, IMO, and also became pointless since the filters were introduced).
Title: Re: AGS 3.1.2 Wishlist
Post by: RickJ on Mon 22/12/2008 20:12:43
Quote
I understand. But the pointy and clicky stuff was just when you add an event to the room. You can always edit the script directly for changes afterwards. If we want the editor to be able to recognise all the function names and add them automatically to events after closing the script we may need to have the names of all these functions fixed (which IMO is not a bad thing but that would change the current feature of the possibility of using different names).
That may work out ok for room events but I think it would not be as nice for GUI events, and especially for GUI support modules.   

If function pointers were possible then it would be stright forward to have a property that contained a pointer to the actual handler function.   Such properties could then be set either by pointy/clicky method or an assignment statement in the script.   So the above example would end up looking something like the following. 


function blah(){
  //blabla
}

room.LoadRoom = *blah();
room.LoadFirst = *blah();


Reserved function names could also be used as defaults as you suggest.  For novice scriptwriters everything would be nearly the same as it is now.  Being able to change this via script not only offers a convenience to some but also provides an opportunity to do things currently not possible.

Title: Re: AGS 3.1.2 Wishlist
Post by: Ryan Timothy B on Mon 22/12/2008 22:30:00
Yep that's pretty much what I meant, the 'point clicky' as you call it. :P

At first I didn't know this was a mandatory thing, doing the whole pointy clicky to add common events.  I had copied a script from another room.  Kept playing the game over and over and reviewing my script trying to find out why nothing was working, yet it worked on the other room (I believe the rep_exec worked, just not room load, or before fade in).  I was ready to give up and delete the room thinking it was some kind of glitch, then realized I didn't touch the damn properties pane in the room editor.  Doh.
I think that moment sucked up at least 10 minutes of precious programming time.  lol
Title: Re: AGS 3.1.2 Wishlist
Post by: Rulaman on Fri 26/12/2008 09:53:53
1. I suggest to make the Sound and Music folders 'path selectable'.

It is annoying, when you have many games of an series (e.g. german MMM) and have to copy the musics and sounds to all the game folders.

An option in the General settings would be nice to set the search-path for this folders. So you have to have only one folder for some games of the same kind and don't have to copy this.

It is the same thing when you put your games under source control. It duplicates the same binary files...

Sure, disk memory isn't such as important as it was in the past. But do you save your documents in several folders to have it twice or more, only because you have the memory?

2. Its more an idea than a real suggestion.

Include a Pre- and post-compile option to the Editor. So you can include a batch-file and copy the compiled game to an ftp-server, check-in all files when you compile (F7, and not F5) or make other things. You could even update the 'Version.asc' with an string and show ingame the exact version of your game (e.g. 1.2.79123).

3. Idea too

Deliver two reg-files (e.g. simple-Interface.reg and Expert_Interface.reg) to make some features (e.g. the upper named) for experts, due to confising new users.
Title: Re: AGS 3.1.2 Wishlist
Post by: Rocco on Fri 26/12/2008 11:43:56
At least 2-dimensional Arrays.
Missed that very often.
Title: Re: AGS 3.1.2 Wishlist
Post by: Nickydude on Sat 27/12/2008 13:02:59
Sorry if this has been asked, but an extra perimeter to the .Say command to specify the time the text is displayed on screen:

cCharacter.Say("Stay on for 3 game cycles",120)

So shorter texts can stay on screen longer. If left off, just use the default speed  :)
Title: Re: AGS 3.1.2 Wishlist
Post by: monkey0506 on Sun 28/12/2008 19:01:05
Game.SaveGameFileExtension

Currently (AFAIK...and I've been looking for over an hour) there's no way to retrieve the extension set up for save game files. This is important if using enhanced save games and trying to use a custom function to list the save files instead of just ListBox.FillSaveGameList. Basically I'm storing additional information about the save game files in an external DAT file and the only way to properly update it is to know the exact file names in use.


Actually I was just being daft. I'm using a ListBox in my custom function, so I can just use ListBox.FillDirList and agssave.* ::)

Quote from: Nickydude on Sat 27/12/2008 13:02:59Sorry if this has been asked, but an extra perimeter to the .Say command to specify the time the text is displayed on screen:

cCharacter.Say("Stay on for 3 game cycles",120)

So shorter texts can stay on screen longer. If left off, just use the default speed  :)

That's actually the reason I wrote the PersistentSpeech module. I believe the link is currently broken (most of them are!) But I do have all my old files back now (yay!) so if you're interested I'll see about getting an updated version of that released.

As a matter of fact it's well in need of an update as it's still using a structure approach instead of the new beautiful extender methods...No promises but you might see that before the new year. If not, I'll say definitely within the next month.
Title: Re: AGS 3.1.2 Wishlist
Post by: Nickydude on Mon 29/12/2008 16:32:08
Quoteif you're interested I'll see about getting an updated version of that released.

You betcha! Thanks M0506. :)
Title: Re: AGS 3.1.2 Wishlist
Post by: monkey0506 on Tue 30/12/2008 19:11:11
That was relatively simple. (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=27241.msg346042#msg346042)
Title: Re: AGS 3.1.2 Wishlist
Post by: Gribbler on Fri 02/01/2009 16:55:56
Is there any chance to include nice and perfectly working LucasArts GUI in upcoming release? :)
Title: Re: AGS 3.1.2 Wishlist
Post by: ThreeOhFour on Sat 03/01/2009 08:00:11
I would very much like to be able to alter the Name property of objects and hotspots at run-time, much like can be done with characters and such.
Title: Re: AGS 3.1.2 Wishlist
Post by: Ryan Timothy B on Sat 03/01/2009 08:33:49
I realize this is probably an obscure random 'wish'..
Editing walk-behinds in game (using DrawingSurface), would be very sweet.

Obviously it'd be more handy with arcade games / non-adventure games, but I know I'd use it. :P
Title: Re: AGS 3.1.2 Wishlist
Post by: subspark on Sat 03/01/2009 08:35:25
Quote
Is there any chance to include nice and perfectly working LucasArts GUI in upcoming release?
Not this release but Scummbuddy, a few others and I have been working on a LucasArts template and wanted to have it finished and out the door with an iMuse implementation for AGS 3.0.1.
After a few setbacks, I've resumed work on it and it should be ready within the next couple of versions. Of course provided that those whom originally offered to help keep their promise.

QuoteSorry if this has been asked, but an extra perimeter to the .Say command to specify the time the text is displayed on screen:

cCharacter.Say("Stay on for 3 game cycles",120)

I second that.
Title: Re: AGS 3.1.2 Wishlist
Post by: Shane 'ProgZmax' Stevens on Sun 04/01/2009 12:26:35
I was thinking about how LoseInventory works and I was wondering if you could add an optional boolean after the inventory item, false by default, that would allow you to clear out the entire inventory of a character?  I've found it necessary on several occasions to remove all inventory items, and this would be particularly useful for restarting a game without physically restarting it.  Granted, it wouldn't be difficult at all to make an extender function for Character that does a while loop to remove all the inventory, but not everyone is script-savvy :).
Title: Re: AGS 3.1.2 Wishlist
Post by: subspark on Sun 04/01/2009 13:46:03
Sorry if this has already been suggested before, but it would be lovely to be able to display text at specific coordinates for text-based effects like a character snickering (imagine like in DOTT "SNICKER!" being displayed upward diagonally 3 times, one after the other. Additionally I would also like to see text effects extended to the screen rather than just for characters using the character's font and color. To have "CRASH!" and "BOOM!" display at any coords whithin the screen as dynamic text would be really handy rather than creating bitmap replicas of the fonts and styles. Perhaps I've missed an important memo and this functionality is already very possible.

Cheers,
Sparx.
Title: Re: AGS 3.1.2 Wishlist
Post by: Shane 'ProgZmax' Stevens on Sun 04/01/2009 17:23:29
Well, the SayAt function could certainly be used to do everything you describe (in combination with speechfont/color changes).  One thing that might work is if CJ added some special commands (like the line break command) for Say that would allow you to indent text by x amount, giving you that staggered snickering effect.  You can do it manually right now with something like:


cEgo.Say("          SNICK![      SNAK![SNORUM!");




Also, there is this:


static Overlay* Overlay.CreateTextual(int x, int y, int width,
                                      FontType font, int color, string text)

Title: Re: AGS 3.1.2 Wishlist
Post by: Laukku on Sun 04/01/2009 19:34:06
I'd like to know if it would be possible to get PCX support back. That would save me from having to convert PCX files to something else (or using an older AGS version).
Title: Re: AGS 3.1.2 Wishlist
Post by: Gribbler on Sun 04/01/2009 20:34:40
Subspark that's fantastic news!! I can't wait! When you'll be posting this template in any form please do it with CAPS so I would not miss it;)
Title: Re: AGS 3.1.2 Wishlist
Post by: marajin on Mon 05/01/2009 02:38:25
I find it hard to believe this hasn't been mentioned before, but a quick searching showed no obvious results. Feel free to redirect me if it has. One thing I'd quite like is a 75% or 50% downscaler for the entire game...

Let me clarify the what and why.

I've been tinkering with using the 1024x768 mode for some high res goodliness. It works nicely and all thanks for this ability but I've been saddled with a problem. My laptop/tablet is actually a mini thing and uses the standard netbook resolution of screen (1024x600). Granted some things give you a scaled 1024x768 mock mode to get around anything that can't deal with the 600 cut but as it happens mine does not and I suspect it's not the only one. The other problem is that approach looks rather hideous.

So... What I'd like is an ability to design the game at 1024x768, a respectable resolution that most could enjoy but with the engine able to shrink that where relevant so the game would function well on netbooks.

I do foresee a problem herein and I respect this may not be an entirely practical thing to impliment. The problem I forsee is that despite it being downright easy to scale the graphics, this may play with co-ordinates a little since they'd need to be scaled too. It should be possible to get them within 1 pixel of accurate without fuss though so hopefully easy to do with a minimum of fuss if there's some convienient central point to scale co-ordinates (I imagine there is for the sake of the upscaling already available?). 75% original or so should be ideal for netbook viewing in a window but scaling it to a standard resolution, a la 800x600 sounds good too.

Again feel free to set me right on any existing discussion on the topic or any additional problems in doing it.

Edit:

Just as I shut the browser window it occurred to me, can completely forget downscaling if it was simply possible to render at 1024x600 with the bottom 168 cropped off though this would likely break any bottom aligned GUIness. I can design around it and do not mind doing so. Really the whole problem is just that DX/DD will fail to create 1024x768 viewports since the max res is 1024x600. But what would be cooler for netbooks/ultra portables than high resolution AGS games? :D
Title: Re: AGS 3.1.2 Wishlist
Post by: monkey0506 on Mon 05/01/2009 05:46:46
Quote from: subspark on Sat 03/01/2009 08:35:25
QuoteSorry if this has been asked, but an extra perimeter to the .Say command to specify the time the text is displayed on screen:

cCharacter.Say("Stay on for 3 game cycles",120)

I second that.

P.S. The PersistentSpeech module (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=27241.0) v3.0 is now up!

Of course built-in is always greater than modularized...but it does provide what you asked.
Title: Re: AGS 3.1.2 Wishlist
Post by: Nickydude on Mon 05/01/2009 12:45:32
Using Game.MinimumTextDisplayTime and the Wait() command has provided me with exactly what I wanted, thanks though M0506.  :)
Title: Re: AGS 3.1.2 Wishlist
Post by: Nickydude on Mon 05/01/2009 13:05:22
The ability to start a brand new game from within AGS without having to close it down first, or is that possible?
Title: Re: AGS 3.1.2 Wishlist
Post by: monkey0506 on Mon 05/01/2009 16:13:14
Look up RunAGSGame, however note that the game has to be at the same resolution and color depth for this to work.
Title: Re: AGS 3.1.2 Wishlist
Post by: GarageGothic on Mon 05/01/2009 18:24:23
Seeing as many of the latest improvements were in dialog customization, I think it would be lovely to carry this through by allowing Pamela lip sync for LucasArts style speech also.
Title: Re: AGS 3.1.2 Wishlist
Post by: Nickydude on Mon 05/01/2009 19:53:06
I don't mean from within a game, I meant if I was creating one and I wanted a fresh start, like choosing 'New' from the drop down file menu and starting right back at the welcome wizard.
Title: Re: AGS 3.1.2 Wishlist
Post by: Nickydude on Tue 06/01/2009 01:02:04
The ability to name walkable areas, walk-behinds and regions. So instead of

Walk-behind area ID 1
Walk-behind area ID 2
Walk-behind area ID 3
Walk-behind area ID 4
Walk-behind area ID 5
Walk-behind area ID 5
...
...

You can have something like:

Walk-behind (ID 1): Flowerpot
Walk-behind (ID 2): Open Door
Walk-behind (ID 3): Left Arch Piece
Walk-behind (ID 4): Right Arch Piece
Walk-behind (ID 5): Low Wall

And so on.
Title: Re: AGS 3.1.2 Wishlist
Post by: Gilbert on Tue 06/01/2009 01:20:15
Quote from: Nickydude on Mon 05/01/2009 19:53:06
I don't mean from within a game, I meant if I was creating one and I wanted a fresh start, like choosing 'New' from the drop down file menu and starting right back at the welcome wizard.

Have you checked this (http://www.adventuregamestudio.co.uk/manual/RestartGame.htm)?
Title: Re: AGS 3.1.2 Wishlist
Post by: Ryan Timothy B on Tue 06/01/2009 02:45:04
Quote from: Gilbet V7000a on Tue 06/01/2009 01:20:15
Have you checked this (http://www.adventuregamestudio.co.uk/manual/RestartGame.htm)?

Gilbet, I think he Literally means... to start a new game from within the editor.  File --> New.
As it is now, you have to close AGS and reopen it to start a new game (with the game wizard).

I honestly don't see this as a problem.  How often do you need to start a new game, closing and reopening shouldn't be too much of a hassle?
Title: Re: AGS 3.1.2 Wishlist
Post by: F1ak3r on Wed 07/01/2009 09:09:40
Mine's a fairly trivial wish:

Seeing as you can now use ordinary code in the dialogue editor, and that code can have errors in it, which are reported in the usual way, I think it would be nice if the dialogue editor had numbered lines like the script editor does.
Title: Re: AGS 3.1.2 Wishlist
Post by: Gepard on Wed 07/01/2009 12:22:12
function SkipTimer (int timer, int loops);

:)
Title: Re: AGS 3.1.2 Wishlist
Post by: Dataflashsabot on Wed 07/01/2009 12:34:25
is it just me or is ags getting a bit off-putting to newbies? i mean now you HAVE to learn to script before being able to do anything at all. on the other hand tho, the interaction editor was way too slow for advanced users. maybe some sort of beginners mode?
Title: Re: AGS 3.1.2 Wishlist
Post by: Nickydude on Wed 07/01/2009 22:48:11
QuoteThe ability to name walkable areas, walk-behinds and regions. So instead of

Walk-behind area ID 1
Walk-behind area ID 2
Walk-behind area ID 3
Walk-behind area ID 4
Walk-behind area ID 5
Walk-behind area ID 5
...
...

You can have something like:

Walk-behind (ID 1): Flowerpot
Walk-behind (ID 2): Open Door
Walk-behind (ID 3): Left Arch Piece
Walk-behind (ID 4): Right Arch Piece
Walk-behind (ID 5): Low Wall

or even:

WB[1]: Flowerpot
WB[2]: Open Door
...
...

;)
Title: Re: AGS 3.1.2 Wishlist
Post by: Vince Twelve on Wed 07/01/2009 22:56:56
More walkable areas please!  I've run into this several times thanks to Ivy's crazy ideas!

Or the ability to draw walkable areas at runtime.  That would be wild!
Title: Re: AGS 3.1.2 Wishlist
Post by: HammerBlade on Thu 08/01/2009 03:50:12
Quote from: OneDollar on Wed 10/12/2008 13:05:01
Multi-dimensional arrays?

Ditto to that. 

I've been wanting to create databases for arch-typical RPG elements (monster databases, character progression, inventory, etc.) and have had to write workarounds involving long lists of definitions as a sort of "index" in place of a 2nd (and sometimes 3rd) dimension, which involves having to come up with new unique nomenclature for each index, coupled with a string of "if" statements metaphorical of an individual element of another dimension.

Title: Re: AGS 3.1.2 Wishlist
Post by: monkey0506 on Thu 08/01/2009 05:26:26
I still fail to see the incredible difficulty (and difference) between:

int arr[5][10];

arr[3][7] = 42;


and:

int arr[];

arr = new int[5 * 10];

void SetArr(int a, int b, int val) {
  arr[(a * 10) + b] = val;
}

SetArr(3, 7, 42);


Obviously you would need to create a custom function, but you could even do it generically like this:

int[] SetArray(int arr[], int a, int b, int b_max, int value) {
  arr[(a * b_max) + b] = value;
  return arr;
}

my_array = SetArray(my_array, 3, 7, 10, 42);


Clearly it is a bit more complex than the built-in method...but it's not honestly difficult to work around when you understand the multidimensional indexing logic.
Title: Re: AGS 3.1.2 Wishlist
Post by: Khris on Thu 15/01/2009 02:25:48
Regarding that, two-dimensional arrays are (almost) possible already.

// header

struct twodim {
  int b[10];
}

import twodim a[10];

// script

twodim a[10];
export a;


The result is a global array of 100 elements in this case, a[0].b[0] to a[9].b[9]. Granted, it's not as short as a[0][0], but way better than doing this via functions.
Plus, you can name both dimensions, e.g. col[X].row[Y] which increases readability.


On topic:
I'd love to be able to replace existing functions (ideally by simply re-declaring them). I'm pretty sure this has been brought up already some time ago, don't know what happened to the suggestion then though.
It would really help people who want to use modules for existing games without having to edit, say, hundreds of .Say lines in all scripts manually.

EDIT:
It's high time the tutorial explained how to use player.ActiveInventory to find out which InvItem was used on a hotspot/object/character.
People open a thread asking this like ten times a month. :=
Title: Re: AGS 3.1.2 Wishlist
Post by: Joseph DiPerla on Thu 22/01/2009 17:24:54
I actually think that these are minor suggestions easy to implement. Most are not necessary (But the idea of it WILL be implemented in my game one way or the other), but would help with having cleaner code, faster development and more convenience. Hope they are feasible. As I work on my Simpsons game and add more features to it and the template, these little things stand out to me.

My suggestions are:

1) Having an option for changing a character View when the mouse is over him/her without scripting it. --Its not essential, I can use getscreenatxy, but for less complicating code, an option like this would be nice. I want my character to interact with the mouse for a better user experience. And I think an animation of when the mouse is over my character would be far more fun.

2) GUI Preview window. I use mouseover images on the gui and I would like to be able to see what it looks like when the mouse is over the GUI without having to test the game. Can this be done?

3)Choosing Random idle/Blink/Thinking view. Instead of having it scripted, can we just specify multiple idle views that are comma seperated and the idle view will play one randomly?

4) Instead of having to code how long it takes to play the idle/Blink/Think views, can we just have an option where we can put it in?

5) Can we also have an option where the Blink view can have an option where its displayed at all times not just during speech?

6)Views-- Can we just have an option to copy one loop to the next? Most of the time my Right loop is a copy of the left loop just flipped. So rather than have to put in all the frames, can we just have a copy function?

7) Can we have an option for a character that allows his eyes to follow the mouse? I know, its stupid, but I feel it adds better user interactivity and makes it more fun. Basically an option called "UsersEyesFollowMouseCursor?" with a true or false option. And then you just create a view as normal. Then when you move your mouse to a certain part of the screen, the characters animation will play accordingly. Basically its just to draw the loops where the characters eyes follow the mouse.

8) I always make this suggestion as it would simplify room area editing: Point Plotting. You click one spot, then you click another and a line is drawn from one point to the other and you continue until the last point meets the first and then fills in the area within the points. Gimp 2 has an option like this called "Paths Tools" only its for creating selections. Basically I want that concept, but to draw and fill in area's in the rooms.

9) This is another of my suggestions I always ask for: Regarding dialogues, can there be an option when you add a dialog option that says "show on all dialogs"?  In other words, we have a "say" option and a "show" option in the editor. But this option would allow that line to be displayed on all dialogs at the bottom. Is that possible?

10) I dont know if this is possible at all, but it is a nice feature to have. Instead of just assigning an image to an inventory object, can we also assign a view to it so we can have inventory that animates? Good for carrying cell phones that ring, etc...

------------------------------------------------------------------------


SUGGESTIONS FROM OTHER USERS THAT I LIKE:

Vince Twelves suggestion: I would like an IsWalkableAreaEnabled function.  I just came upon a place where I wanted to do this and was surprised that it wasn't in there.  Not sure about a work around yet...

RickJ's Suggestion: When the editor opens a game made with an older version it would be nice if the message say what the older version actually is instead of having to guess.I would be even better if the user was asked if he would like to open the selected game in that older version or at least asked if he would like launch that older version (provided the older version was installed)

ProgZMax: I think I suggested this a long time ago, but I think it would be highly useful for most people if there was a property for characters that let you specify their own speech font number, which AGS would internally switch to during the say functions.

NickyDude: Sorry if this has been asked, but an extra perimeter to the .Say command to specify the time the text is displayed on screen

F1ak3R: Seeing as you can now use ordinary code in the dialogue editor, and that code can have errors in it, which are reported in the usual way, I think it would be nice if the dialogue editor had numbered lines like the script editor does.
--------------------------------------------------------------------------------------------



SUGGESTIONS OVER TIME TO BE IMPLEMENTED(in fact I am not even expecting this to be implemented at all, but they would make life easier for ALL of us, I'm sure):

1) Patching system-- If I created a template or game, and I update it several times, I hate to have to upload it each time, or even to have to have my users download it again. If a file is about 100 megs to download, its a pain. Especially like games we saw recently updated like "Kings Quest 1". So this is an all around good feature for the developers as well as the gamers.

2) This would be very useful to me, but at the same time I can see this being a pain in the butt to code. None-the-less, I am putting it out there as a suggestion at some point. Object and character scaling that is not specific to a region or hotspot. Perhaps in the character and object editor itself add an option to enter a scale size. Even a script that will change the scale size. Helpful to use rather than editing an image and shrinking it and useful to do a Sam and Max effect where they are in a house where they keep shrinking down and enlarging and so forth.

3) GUI transitions: Similar to the rooms transition, only applied to how the GUI Shows up. A particular transition would be a SLIDE in from Top/left/bottom/right to X Y (Mouse coordinates valid too).

4) New screen transition: SLIDE IN (Much like the IPhone). Screen slides in from left/Right/Top/Bottom.

5) Inventory Categories: Where the inventory window can only show items that belong to a certain category. Useful if some items are considered something like spells, or weapons. Basically, multiple inventories of different types. It would be an interesting feature to have, and one that I have been wanting to use for a while now.
----------------------------------------------------------------------------------------



VERY VERY UNLIKELY TO HAPPEN, BUT THROWING IT OUT THERE ANYWAY:

1) Importing and using 3D Character and object files.
2) Continued development on the Linux and MAC port.
3) Development for Pocket PC.-- Not holding my breath for this until some decent programming libraries are released for this OS. If you need a solution, you can find it here: http://forum.xda-developers.com/showthread.php?t=445396 it lists all the libraries and tips and stuff for Pocket PC Development. A good thing to is that VS now has a mobile emulator so you can develop apps on it. DirectX on Pocket PC: http://www.monocube.com/forums/about28.html
4) A basic version of the interaction editor re-implemented.

Once again, thanks for listening to my ramblings. And Chris, Thanks once again for all the hard work you put into making AGS the engine of my (And MANY MANY OTHERS) choice. And sorry once again for my suggestions... :(   
Title: Re: AGS 3.1.2 Wishlist
Post by: HammerBlade on Fri 23/01/2009 04:47:54
Okay, so the array for native types issue is a trivial one.  Because custom structs don't have dynamic array liberties like other types, however, situations crop up where a string of 'if' and 'else if' blocks of what are essentially the same code.

Such as making tables of encounters.  Declaring an encounter struct...


struct PossibleEncounter{
  int EnemyParty[7];   
  int TotalEncountersInTable;
};


followed by an array of encounters to represent a table...


PossibleEncounter Table0[ENCOUNTERS_TABLE0]; 
export Table0;

PossibleEncounter Table1[ENCOUNTERS_TABLE1];
export Table1;


...forces the creation of a function which requires a tree of 'if' statements carrying essentially the same code due to the fact that ID's of the tables are tied to the variable names instead of variables values. 


  if (TableID==0){
    while (i<Table0[0].TotalEncountersInTable){
      TotalChances=TotalChances+Table0[i].EnemyParty[OCCURENCE_CHANCES];
      i++;
    } i=0;
    ChanceTable=new int[TotalChances];
    while (i<Table0[0].TotalEncountersInTable){
      while (j<Table0[i].EnemyParty[OCCURENCE_CHANCES]){
        ChanceTable[CTIndex]=i;
        CTIndex++;
        j++;
      }
      i++;
    }
  }
  else if (TableID==1){
    while (i<Table1[0].TotalEncountersInTable){
      TotalChances=TotalChances+Table0[i].EnemyParty[OCCURENCE_CHANCES];
      i++;
    } i=0;
    ChanceTable=new int[TotalChances];
    while (i<Table1[0].TotalEncountersInTable){
      while (j<Table1[i].EnemyParty[OCCURENCE_CHANCES]){
        ChanceTable[CTIndex]=i;
        CTIndex++;
        j++;
      }
      i++;
    }
  }


...Although in retrospect, maybe it would have been better to have EncounterTable as the struct name instead of PossibleEncounter, which could be implemented much more simply, thus only one struct array " EncounterTable TableDataBase[TOTAL_TABLES]" would be needed...just...Damn it, why do you always have to be right? 

I'm now terrified that if I suggest dynamic struct arrays for AGS 3.1.2 I'll immediately after have an epiphany as to why its rediculously unnecessary.
Title: Re: AGS 3.1.2 Wishlist
Post by: Dualnames on Fri 23/01/2009 09:31:26
I wish for a small option (via script) to allow overlays to be on top of GUIs and the same option to disable that. And have that be per overlay:

Overlay*me;
me.OverGuis=true;//by default false.
Title: Re: AGS 3.1.2 Wishlist
Post by: Papst Kasperle on Thu 29/01/2009 20:17:34
I would love to have a printable Tutorial as a PDF File...
I use to print out those Instruction Stuff and do read it whenever/wherever I have time to...
And I don't like those .chm files.
Title: Re: AGS 3.1.2 Wishlist
Post by: Nickydude on Thu 29/01/2009 20:18:37
Take a look at my sig. ;)
Title: Re: AGS 3.1.2 Wishlist
Post by: AdamM on Mon 02/02/2009 21:17:31
Hi, I've noticed that cursors that have AnimateOnlyOnHotspots set to true, still fail to animate over inventory items in the GUI. Am I missing something, or can this be added?
Title: Re: AGS 3.1.2 Wishlist
Post by: on Mon 02/02/2009 21:59:30
Quote from: AdamM on Mon 02/02/2009 21:17:31
Hi, I've noticed that cursors that have AnimateOnlyOnHotspots set to true, still fail to animate over inventory items in the GUI. Am I missing something, or can this be added?

Inventory items do not count as hotspots, but it's possible to add such behaviour with the off self-made script. That would be something like a beginner/medium level technical question, and should go into the matching forum section.
(PMs are the way to go  :) )

I'd like to mumble my old line here again: Extend the sorting/renumbering functionality of ROOMS to characters and inventory items.
Please? With a cherry on top? With SPRINKLES? Made of money?
Title: Re: AGS 3.1.2 Wishlist
Post by: Khris on Tue 03/02/2009 02:32:07
I'd find it really helpful if one could

a) change a bunch of sprite numbers at once (or at least disable the warning message when doing so)

b) input a slot number when importing a character so the sprites get that and all subsequent ones
Title: Re: AGS 3.1.2 Wishlist
Post by: SSH on Tue 03/02/2009 11:29:19
When you've got lots of characters, the character list can get a bit unwieldy. Would it be possible to have character folders, like there are for views?
Title: Re: AGS 3.1.2 Wishlist
Post by: freshpaint on Tue 03/02/2009 14:36:07
Dialog folders!
Title: Re: AGS 3.1.2 Wishlist
Post by: Shane 'ProgZmax' Stevens on Fri 06/02/2009 06:24:34
I suggested folders for all the sections quite awhile ago, and CJ has added support for quite a few of them.  I'm sure he'll get around to it eventually, though he's already done the most important ones (imo).
Title: Re: AGS 3.1.2 Wishlist
Post by: SSH on Fri 06/02/2009 15:59:51
Trying to write a "skip chapter" gui button for the AGS Awards ceremony, I found that you can't script up a trigger for Skipping a Cutscene. You can fake it for various things, but you can't skip already displayed foreground text from a  script. So basically, I had to re-write the whole speech display code in scripting in order to get what I wanted! Fortunately, most of the work was pre-done in the GuiDialog and Hypertext modules, but it would be nice to have some functions like:


SkipCutscene();
CancelForegroundSpeech();

// oh and one i''ve asked before:
GetSpeechStyle()
Title: Re: AGS 3.1.2 Wishlist
Post by: AdamM on Sat 07/02/2009 02:54:33
It took me fifteen minutes to work out that the reason I was getting sprite and room background errors was because I had somehow managed to open a second process of AGS editing the same game. Perhaps AGS could detect and warn you that you're already running it when you boot it up?
Title: Re: AGS 3.1.2 Wishlist
Post by: InCreator on Sat 07/02/2009 17:24:18
Another suggestion:

Ability to resize sprite import window or an alternative


When importing a tile sheet with "tiled sprite import", there's almost always need to zoom in a bit, to avoid sick pixel hunting, especially at high desktop resolutions...

And then, usually zoomed sheet does not fit into window, so I'd like very much to make window as big as possible.

There's scrollbars which appear in such case right now, but frankly, scrollbars suck. Especially since they don't autoscroll while I'm dragging my tile grid to export frames and move out of displayed sheet area. I want to see what I'm importing! So, again, if I could make this import window as big as possible, I could minimize need to scroll/cross the displayed area.

As an alternative, autoscrolling scrollbars would work.

For super improvement over this issue, there could be a hotkey to press, which would enlarge sprite sheet ALL OVER THE screen, removing everything non-needed for dragging the import grid and maybe have autoscrolling bars ALSO.

That would make it possible to use big sprite sheets at bigger zoom modes. But even ability to simply resize the window a bit would help greatly...

I hope it was descriptive enough? If not, I've included image to clarify a bit... click below.

www.increator.pri.ee/i/pull/drag.png
Title: Re: AGS 3.1.2 Wishlist
Post by: Khris on Sat 07/02/2009 18:28:59
Until then, why don't you crop the sprite sheet and zoom out before selecting tiles?
Title: Re: AGS 3.1.2 Wishlist
Post by: InCreator on Sat 07/02/2009 19:58:17
That was random sheet, just for show. Of course I crop them.

But zooming out might be tricky, because if there's more than 1 row of sprites (I usually try to put all animations of 1 entity (character, thing) onto one sheet, one row per one animation), it's difficult to pick tiles for 2nd+ row. Sure, there's a thingy that shows mouse coordinates, but with a highly sensitive auto-accelerating gaming mouse such as Razer Krait and desktop resolution of 1280x1024, it's crazy pixel hunt.

I didn't mean that problem is unsolvable or a bug, but it just makes sprite importing very uncomfortable to use. Since AGS3 has evolved into high-quality tool (compared to older versions), such nuisance feels out of place. I was kind of surprised that there's no way to stretch importing window - in typical windows application, every window can be stretched.
Title: Re: AGS 3.1.2 Wishlist
Post by: matt on Sun 08/02/2009 03:40:52
please please please please please please please please make draw pixel faster.
Title: Re: AGS 3.1.2 Wishlist
Post by: Shane 'ProgZmax' Stevens on Mon 09/02/2009 16:07:59
I noticed that with custom dialog rendering you can't, at present, mimic typical gui options like pushed button animations and such.  Would it be possible to add a function to the dialog_options set that is checked once per loop for updates?  That would make creating pushed button animations and so forth manageable, since right now the only time it updates the contents of the dialog gui is when you mouse over an option/click on an option.  This would also be useful for resetting the position of dialog options once it is closed.
Title: Re: AGS 3.1.2 Wishlist
Post by: Vince Twelve on Mon 09/02/2009 19:14:15
I would like the ability to further customize the auto-number speech lines wizard.  Specifically, I would like:

-The option to number all un-numbered speech lines (instead of having it re number each time and probably screw up whatever speech files you've already made) and

-A way to define other strings to be auto numbered.  For example, if I have a custom speech function, like instead of character.Say() I use my own character.Speech() and character.Thought() functions.  Then I could tell the auto-numberer to also number any strings in my own functions.
Title: Re: AGS 3.1.2 Wishlist
Post by: Wonkyth on Thu 12/02/2009 00:53:20
While this isn't really urgent, I'd like it if the error messages said the character, as well as the line, of a missing/unexpected thing.
Title: Re: AGS 3.1.2 Wishlist
Post by: Shane 'ProgZmax' Stevens on Thu 12/02/2009 12:52:05
Actually, thinking about the custom dialogs, couldn't you just make the dialogs work within the regular gui controls but add a new option like the text field that is purely for dialog option displays?  That way a person could very simply create a robust dialog display with arrows, buttons, and the like without needing the dialog_options functions at all. 

Just a thought?
Title: Re: AGS 3.1.2 Wishlist
Post by: Joe on Tue 17/02/2009 23:33:02
This I'm gonna ask for is somethig I really need, cause it's driving me crazy...

At importing sprites it would be really heplful if you could choose more than one transparent color... so that you wont have any problem with colors when you import antialiased sprites...
Title: Re: AGS 3.1.2 Wishlist
Post by: Matti on Wed 18/02/2009 00:01:00
@Joe Carl:

When using 32-bit colors there's the possiblity to save the sprites with an alpha-channel which makes the transparency-problem obsolete. Plus it really looks good. Totally recommended for every hi-res game.
Title: Re: AGS 3.1.2 Wishlist
Post by: Joe on Wed 18/02/2009 00:14:32
Oh I see ;D You can't figure out how happy I feel now, thanks matti, thanks CJ.
Title: Re: AGS 3.1.2 Wishlist
Post by: Khris on Fri 20/02/2009 18:59:11
How about adding eEventQuitGame to take care of deleting DynamicSprites used in modules?
Title: Re: AGS 3.1.2 Wishlist
Post by: Wonkyth on Sat 21/02/2009 09:50:14
Increasing the number of rooms would be nice, as I'm working on a Big adventure-RPG, and with 299 rooms, I'd be cutting it fine to fit all the stuff in.

Something in the four-digit domain would be good.
Title: Re: AGS 3.1.2 Wishlist
Post by: Khris on Sat 21/02/2009 10:27:35
You can add more rooms, but the ones above 299 won't save their states. If you use numbers above 299 for rooms that contain just scenery, you can put all "important" rooms below 300.
Title: Re: AGS 3.1.2 Wishlist
Post by: ThreeOhFour on Sat 21/02/2009 12:14:11
Quote from: ProgZmax on Thu 12/02/2009 12:52:05
Actually, thinking about the custom dialogs, couldn't you just make the dialogs work within the regular gui controls but add a new option like the text field that is purely for dialog option displays?  That way a person could very simply create a robust dialog display with arrows, buttons, and the like without needing the dialog_options functions at all. 

Just a thought?


I second this suggestion.
Title: Re: AGS 3.1.3 Wishlist
Post by: subspark on Thu 26/02/2009 09:03:44
A Notes pane for developers to share ideas or leave instructions would be nice.

I remember asking for this before. Not sure if it was this thread though. However I made an icon for it. I believe it might be on page 3 or 4 of the last wishlist not started by me.

Cheers,
Sparx.
Title: Re: AGS 3.1.3 Wishlist
Post by: Trent R on Fri 27/02/2009 09:35:27
Quote* Added F4 hotkey to jump straight to the Events grid to edit interactions
Love this addition to 3.1.2, but I assumed that being in the room script would also open up the events (generic room ones, ie. rep_exec, first enter, etc). Could that capability be added?


~Trent
Title: Re: AGS 3.1.3 Wishlist
Post by: SSH on Fri 27/02/2009 10:20:35
It's quite easy to set up your own default room template that has these events added for all new rooms that you create... in fact, I've just documented this process on my blog! (http://ags-ssh.blogspot.com/2009/02/creating-new-room-template.html)
Title: Re: AGS 3.1.3 Wishlist
Post by: OneDollar on Fri 27/02/2009 13:10:51
The ability to change hotspot and object descriptions at runtime would be very useful.
Title: Re: AGS 3.1.3 Wishlist
Post by: Babar on Fri 27/02/2009 16:37:24
Hell, in that case, the ability to change properties at run-time too!
Title: Re: AGS 3.1.3 Wishlist
Post by: Joe on Fri 27/02/2009 20:34:05
The possibility of creating objects on the fly would be perfect


So that I can do something like this:

Object *myWonderfulObject = Object.Create.......



That would be wonderful for those modules which use objects that should be created via script... they won't need to create the same object in different rooms within the editor, like in particle modules...

Thanks for reading.
Title: Re: AGS 3.1.3 Wishlist
Post by: Yeppoh on Mon 02/03/2009 12:25:59
Hello. I'm quite new around here and working on my AGS game during my free time. When I'll have a concrete demo to show you'll be the first to know. Maybe CJ did read it many times already, but : Great work for this editor !

During the scripting of some SFX it occured to me something was missing for the DynamicSprite.
Since there's a DynamicSprite.Tint() function I would like a DynamicSprite.Transparency() one. It will be useful for Overlays with alphablended sprites mainly (and my echo effect).
If it's something that can be done.
I tried many ways with DrawingSurface, not to avail.

Cheers.
Title: Re: AGS 3.1.3 Wishlist
Post by: GarageGothic on Mon 02/03/2009 15:36:10
Yes, I think alpha channel support for DrawingSurfaces would be among my top priorities as well. That way you could draw sprites onto cleared surfaces using the transparency setting without finding only the ugly magic pink peering through them.
Title: Re: AGS 3.1.3 Wishlist
Post by: Khris on Mon 02/03/2009 16:48:57
If you .Clear(0) the DrawingSurface first, you can draw DynSprites onto it using .DrawImage's transparency parameter.
There should be no need to directly change a DynamicSprite's transparency (which feels awkward anyhow).
Title: Re: AGS 3.1.3 Wishlist
Post by: GarageGothic on Mon 02/03/2009 16:55:22
Khris, I agree that you need not to change the transparency of DynamicSprites. But with the current DrawingSurface setup, any sprites drawn to a clear DrawingSurface using the DrawImage transparency parameter will just show the magic pink color through the transparent sprite. The resulting DrawingSurface will not have varying degrees of transparency.
Title: Re: AGS 3.1.3 Wishlist
Post by: Yeppoh on Mon 02/03/2009 16:57:14
Yep. That would have been the most logic solution.

Tried.
Doesn't work that way.

Either it's still blank (if alpha  as true), or drawn onto a plain FF00FF transparency color silhouette (if alpha as false) like GarageGothic described.
Title: Re: AGS 3.1.3 Wishlist
Post by: Trent R on Tue 03/03/2009 19:47:27
I'd like a keyboard shortcut that will show the parameters of the function you're currently in. Like what happens right after your type the opening parenthesis of
player.Walk(


~Trent
Title: Re: AGS 3.1.3 Wishlist
Post by: Joe on Wed 04/03/2009 21:55:42
And It'd also be marvellious to add somethig to make games don't stretch in panoramic screens...
Title: Re: AGS 3.1.3 Wishlist
Post by: GarageGothic on Wed 04/03/2009 22:27:56
The widescreen issue has been brought up several times (often by myself):

http://www.adventuregamestudio.co.uk/yabb/index.php?topic=33896.0
http://www.adventuregamestudio.co.uk/yabb/index.php?topic=24993.0

I totally agree that we need better support for 16:9 and 16:9 aspect ratios, My personal interest in the topic back then was to make a 640x480 game that could also run in 640x400 mode without compiling two separate .exe files. But since then, widescreen monitors have pretty much become the standard, and it begins to feel like a weakness of the engine that the highest widescreen resolution currently available in AGS is 640x400.
The main obstacle so far seems to be that there aren't any true standards for widescreen resolutions, and the ones most common (1280x800, 1680x1050) are much higher than any current AGS resolution. 1024x576/1024x640 seem reasonable widescreen resolutions, but I don't know how well supported they are by current hardware. 960x540/960x600 are apparently more common, but they don't make it easy to create a game that also supports 4:3 resolutions.

Edit: If, on the other hand, you just mean something that adds black bars at the sides of a 4:3 viewport, your video card should be able to do so already if you go to the Display Properties  (in my Nvidia drivers you can even set this up on a program-by-program basis) . But it would nevertheless be a nice winsetup option too.
Title: Re: AGS 3.1.3 Wishlist
Post by: Ryan Timothy B on Thu 05/03/2009 00:14:34
I've been thinking lately why AGS doesn't create backups for you.
Perhaps just in the FILE menu, you could select Backup Game, the chosen backup directory would be the default (unless changed).

And whenever you Backup your game, it resets the "Backup your game" reminder.  Once the reminder pops up, it asks you whether or not you want to Backup your game.  This way you shouldn't hear about people losing their files because of a crash or glitch.

Perhaps even a note within the Backup game window, suggesting you Backup your game on a separate hard drive than that of your current save location.
Without thinking about Hard drive failure, some might backup their games on the same hard drive as the 'work' files.
Title: Re: AGS 3.1.3 Wishlist
Post by: GarageGothic on Thu 05/03/2009 00:38:22
Yeah, it would be great if AGS automatically (of course with an option to prompt you or simply turn it off) backed up your game instead of just warning you. Even better if it compressed the backup using an open source archiver like 7-Zip and stored it with a file name containing the date of the backup.

Edit: Another suggestion, based on Dualnames post in the beginner's forum (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=37111.0).  It would be great  if you could supply FillSaveGameList with an optional range parameter. That way you could for instance use FillSaveGameList(40) for your save game menu but FillSaveGameList(50) for your restore game menu so it would also display special savegames like autosave and quicksave (correctly ordered by save time) without risking the player overwriting them.
Title: Re: AGS 3.1.3 Wishlist
Post by: apegomp on Tue 17/03/2009 00:16:52
(http://i225.photobucket.com/albums/dd202/highwingx3/room34.png)
3D pixels :'(

Title: Re: AGS 3.1.3 Wishlist
Post by: monkey0506 on Tue 17/03/2009 04:40:43
Quote from: GarageGothic on Mon 02/03/2009 16:55:22Khris, I agree that you need not to change the transparency of DynamicSprites. But with the current DrawingSurface setup, any sprites drawn to a clear DrawingSurface using the DrawImage transparency parameter will just show the magic pink color through the transparent sprite. The resulting DrawingSurface will not have varying degrees of transparency.

Although this is true, GUI/Character/Object transparency should still apply. So depending what you're using it for, it could be worked around. To prevent drawing my alpha sprites via the DrawingSurface functions, I've done this in the Flashlight module:

DynamicSprite *sprite = DynamicSprite.CreateFromExistingSprite(the_alpha_sprite, true);
sprite.Resize(new_alpha_width, new_alpha_height); // optional step
sprite.ChangeCanvasSize(new_sprite_width, new_sprite_height, alpha_x, alpha_y);


Displayed on a GUI it works fine. As I said, it does depend what you're wanting to use it for...drawing effects on the background wouldn't really work, but you might be able to get away with using Objects instead...of course if AGS could actually clear the surface to a transparent layer instead of the magic pink bitmap that would definitely be advantageous. Just saying not strictly speaking impossible to get around this limitation.
Title: Re: AGS 3.1.3 Wishlist
Post by: GarageGothic on Tue 17/03/2009 05:09:04
True, you can make the final sprite transparent by displaying it as a GUI, character or object, but all the elements you draw to it must be 100% opaque. My main interest in this would be for particle systems, and it's really, really difficult to make anything looking even similar to real smoke without layering transparent and/or alpha-channel sprites - trust me, I've tried and unless it can be drawn directly to the background, hence allowing those effects, it ends up very solid and flat, even when made transparent afterward. Even more or less solid particles like snowflakes can look quite rough when everything else in the game uses anti-aliased edges.
Title: Re: AGS 3.1.3 Wishlist
Post by: monkey0506 on Tue 17/03/2009 05:19:14
Fair enough. :P
Title: Re: AGS 3.1.3 Wishlist
Post by: Khris on Thu 19/03/2009 00:50:48
Please, include an explanation of how to use player.ActiveInventory in the tutorial.
Title: Re: AGS 3.1.3 Wishlist
Post by: subspark on Sun 22/03/2009 23:32:05
Being able to use regions for mask alpha.
For example, lets say you have a room with a window on the left that is casting light down to the floor at 45 degrees. Ideally I would create a white mask for light that affects characters and objects only and use a 'blending mode' such as screen. I would then vertically place multiple walkable regions with varying power so that the mask's alpha affect on a character/object can be tuned up or down depending on where in vertical space the character is walking.

A great effect that could be achieved with masks, regions and blend modes.

Cheers,
Sparx.
Title: Re: AGS 3.1.3 Wishlist
Post by: Scavenger on Mon 23/03/2009 03:00:12
How about something akin to "Screen" in Photoshop/PSP?

I.E:
(http://i483.photobucket.com/albums/rr191/Khatoblepas/screen.png)

rather than

(http://i483.photobucket.com/albums/rr191/Khatoblepas/trans.png)

ergo producing a more accurate approximation of lighting. Useful for projector screens, stained glass windows, and those reflections you just can't get otherwise. It alliviates the problem of holograms being too dark, and yeah. I'm sure it wouldn't take more processing power than a transparency x3
Title: Re: AGS 3.1.3 Wishlist
Post by: subspark on Mon 23/03/2009 05:39:47
QuoteHow about something akin to "Screen" in Photoshop/PSP?
Why not take this further. Why not have screen, multiply and difference.

Blend modes in Photoshop are incredibly useful and some of these would be an ideal feature set for AGS.
Among the many other benefits, an obvious use for this, as Scavenger and I pointed out is lighting effects.

Edit:
I would also very much love to see 1280x800 (16:10) support.

Cheers,
Sparky.
Title: Re: AGS 3.1.3 Wishlist
Post by: Le Woltaire on Sun 29/03/2009 17:51:24
Here are my proposals:

Graphics:
- I think subpixel rendering for scaled sprite movements with Direct3D support at 32-colordepth would be great because the characters look and move stutteringly when they are scaled. In higher resolutions this becomes more and more obvious, because the artwork tends to be more detailed and fine.
(http://www.willmcgugan.com/images/subball.gif)

- I think it is time to make it possible to import vector sprites at least as EPS (With solid fillings). This would reduce the size of large backgrounds and sprites and add to the speed and fluidness of very big animated objects. Especially games that use just a few colors would profit from this possibility. Apart of that those sprites would work independently from the games resolution.

- When a game starts in Window mode, could it be possible to make the maximize icon active in order to make it run in full screen mode?

Music and Sounds:
- Could a function PlayMusicEx (int channel, int music, int volume, int x, int y) be introduced, so that music can be dealt like an ambient sound? Especially if music is part of the game (A Band in the game, A Radio) this can be handy. You might say, that this could be also done with ambient sounds, but if the same music has to be heard later as full background music or that it has to be effected by the MusicVolumeAdjust, PlayMusicEx would be better... Also two ambient musics would be possible. Say you pass with your character next to a tavern and hear the music from inside while you pass at a certain x and y. When you enter the tavern you hear the music as full background music... Individual music fadings at certain positions would be possible...

- The SayBackground function doesn't seem to get affected by the voice script, so that background Speech can't be heard...

Text Parser:
- Is it possible to export the content of the text parser word list into a single txt or xls file with all the word group and type info, so that it can be better distributed to translators and proofreaders? (I had to make thirty screenshots last time and the translators have to type them off and understand them somehow)

- The limit of text parser words should be much higher than 1500 because if translations get added this limit is easily reached by all kind of foreign words.

Organization:
- Folders for room organization or a sort rooms by name option would be useful. There exist so many games now with more than 100 rooms. For me it is very confusing to find the room that I'm looking for.

- Can Music and Sound files get script names somehow?

System:
- I am getting more and more mails from Linux and Mac users. I think it would be time to think a lot about an update of the mac-port or an implementation of a mac version compiler...
Title: Re: AGS 3.1.3 Wishlist
Post by: RickJ on Sun 29/03/2009 17:56:11
Quote
- I think it is time to make it possible to import vector sprites at least as EPS (With solid fillings). This would reduce the size of large backgrounds and sprites and add to the speed and fluidness of very big animated objects. Especially games that use just a few colors would profit from this possibility. Apart of that those sprites would work independently from the games resolution.
If this is ever contemplated I think SVG is a far superior choice.
Title: Re: AGS 3.1.3 Wishlist
Post by: subspark on Sun 29/03/2009 22:14:38
QuoteIndividual music fadings at certain positions would be possible
I believe this would be possible with regions and a bit of coding.

QuoteI think sub-pixel rendering for scaled sprite movements with Direct3D support at 32-colordepth would be great
I suggested this a while back for use with the parallax scrolling plugin. If sub-pixel rendering were to be implemented (and boy what a revolution that would be) it would open up a large number of new options for animators, designers and coders alike.

QuoteI think it is time to make it possible to import vector sprites at least as EPS
QuoteIf this is ever contemplated I think SVG is a far superior choice.
I agree with RickJ on this. EPS is a barebones format compared to SVG. I'm not reluctant to ask for SWF support either.

QuoteFolders for room organization or a sort rooms by name option would be useful
I also asked for this once. I think this would be a fantastic idea. I also believe there should be an ACTUAL folder for rooms in the root directory of our projects.

Cheers,
Sparky.
Title: Re: AGS 3.1.3 Wishlist
Post by: SpacePaw on Mon 30/03/2009 16:23:21
I wish for one thing connected with .NET plugin writting - more events like PropertyChanged, GameSettingsChanged etc. Esspecially connected with views and sprites like view added, sprite added, view deleted etc. (or just ViewChanged, SpriteChanged with parameter describing the action and the id of view/sprite)
Title: Re: AGS 3.1.3 Wishlist
Post by: Anteater on Mon 30/03/2009 16:53:22
Definitely sub-pixel rendering.

Fullscreen shader support would be nice.

Also the ability to create objects dynamically, would be majorly cool.
Title: Re: AGS 3.1.3 Wishlist
Post by: SSH on Mon 30/03/2009 16:59:57
Of course, its possible to manually do sub-pixel rendering if you mess around with Dynamic sprites...
Title: Re: AGS 3.1.3 Wishlist
Post by: subspark on Mon 30/03/2009 17:02:06
This is true.

Sparky.
Title: Re: AGS 3.1.3 Wishlist
Post by: OneDollar on Tue 31/03/2009 14:26:47
I don't think there's currently a way of reading what size an array is... could we do that please?

(If I've missed it, can someone tell me how to do it?)
Title: Re: AGS 3.1.3 Wishlist
Post by: Trent R on Tue 31/03/2009 18:07:46
$1, I think you can run a while check inside a custom function. if (!null) sorta thing. Then have it return the highest number of the while loop (ie, the arrary size).

~Trent
Title: Re: AGS 3.1.3 Wishlist
Post by: Khris on Tue 31/03/2009 18:19:02
No, because you'd have to use an invalid index to do that check which will result in an array out of bounds error.
However, you should always be able to store the size in another variable. Even with dynamic arrays, you use an intermediate step like this:
  int arr_size = random(5)+3;
  arr = new int[arr_size];
Title: Re: AGS 3.1.3 Wishlist
Post by: OneDollar on Tue 31/03/2009 21:19:07
Yeah, that's what I'm doing at the moment. It just makes for a redundant integer. Also if you're doing arrays of structs you can't make them dynamic, so you have to remember to set an integer the same size, and change it whenever you change the array size. There's workarounds, but reading at runtime would be much easier.
Title: Re: AGS 3.1.3 Wishlist
Post by: RickJ on Tue 31/03/2009 21:53:28
Here's a variation of KhrisMuc's suggestion.   It still requires a variable but it's temporary and can be dynamicly defined within the a function rather than static outside.


  int tmp_arr_size = random(5)+3;
  arr = new int[tmp_arr_size+1];
  arr[0] = tmp_arr_size;


Quote
Also if you're doing arrays of structs you can't make them dynamic, so you have to remember to set an integer the same size, and change it whenever you change the array size.
And for arrays of fixed size as mentioned in the above quote, getting the array size at runtime has no advantage over #define.   
Title: Re: AGS 3.1.3 Wishlist
Post by: OneDollar on Tue 31/03/2009 22:04:36
Quote from: RickJ on Tue 31/03/2009 21:53:28

  arr[0] = tmp_arr_size;

Ah, that's a good idea, thanks!
Title: Re: AGS 3.1.3 Wishlist
Post by: JpSoft on Tue 31/03/2009 22:50:43
Some ideas i mentioned before, but just to remember:

- Change walkable areas at run-time.
- Little notepad in the editor, so the game creator could easily add comments about the design of the game ("things to do", "do not forget", and so)
- Editor translated to other languages (for sure, many people will help with this if CJ provides the original text in english) Just imagine how many new users AGS will have
- NoLoopCheck adjustable in the general settings, not specifically in any function.
- Include a generic graphic pack for beginners (some chars, BGs and that stuff) Its difficult to start a new game when you dont have graphics, and many people do not know how find free graphics in the web. And the new ron gilbert could easily become frustrated if he/she use their own graphs at the very beginning.

Jp
Title: Re: AGS 3.1.3 Wishlist
Post by: Khris on Tue 31/03/2009 23:07:51
Quote- Change walkable areas at run-time.
How?

Quote- NoLoopCheck adjustable in the general settings, not specifically in any function.
Why?
Title: Re: AGS 3.1.3 Wishlist
Post by: Gilbert on Wed 01/04/2009 01:59:16
Quote from: KhrisMUC on Tue 31/03/2009 23:07:51
How?
By changing the mask image at run-time. It would be even more flexible if we can raw draw onto the mask. I think it's been discussed before, but I don't think it's of high priority.

Quote
Why?
For calculation intensive projects like strategy games, etc. This would just simply the codes a bit and make them somewhat less cluttering though and I don't know if it's worth the trouble to implement it as unless you're a veteran programmer who could spot errors easily, otherwise people who have activated this feature and are not aware of possible consequence will be confused by freezing hell.
Title: Re: AGS 3.1.3 Wishlist
Post by: Trent R on Thu 02/04/2009 18:23:08
Can the General Option to use native co-ordinates be set to true on new projects, but false on imported ones?

Perhaps this will over complicate things, but I've noticed a bunch of BTech problems concerning this... Maybe just a mention in the Scripting tutorials in needed.

~Trent
Title: Re: AGS 3.1.3 Wishlist
Post by: Sadistyk on Thu 02/04/2009 22:17:51
It would be useful (to me, at least) to be able to change the state of the custom properties at runtime, and to be able to change the text of a dialog option, also at runtime. Something like this:

dialog1.SetOptionText(1, "Hello world!");

;)
Title: Re: AGS 3.1.3 Wishlist
Post by: OneDollar on Thu 02/04/2009 23:26:45
Quote from: JpSoft on Tue 31/03/2009 22:50:43
- Little notepad in the editor, so the game creator could easily add comments about the design of the game ("things to do", "do not forget", and so)

This would be a perfect little editor plugin project for someone. An awesome version would include (at least) rich text, the ability to create lots of separate notes arranged in a tree, simple graphics package for making sketches/diagrams which could also be stored in the same tree and manual and readme editors that you could use to compose your documentation and would automatically export (user specified name).TXT or .RTF documents when you built your executable.

Any volunteers?

(I'd do it myself, but I don't know any C# or C++ or whatever, and can't make any sense of the plugin tutorial ;))
Title: Re: AGS 3.1.3 Wishlist
Post by: SpacePaw on Fri 03/04/2009 03:51:02
Quote from: OneDollar on Thu 02/04/2009 23:26:45
Quote from: JpSoft on Tue 31/03/2009 22:50:43
- Little notepad in the editor, so the game creator could easily add comments about the design of the game ("things to do", "do not forget", and so)

This would be a perfect little editor plugin project for someone. An awesome version would include (at least) rich text, the ability to create lots of separate notes arranged in a tree, simple graphics package for making sketches/diagrams which could also be stored in the same tree and manual and readme editors that you could use to compose your documentation and would automatically export (user specified name).TXT or .RTF documents when you built your executable.

Any volunteers?

(I'd do it myself, but I don't know any C# or C++ or whatever, and can't make any sense of the plugin tutorial ;))

Piece of cake :) I can do it :)

EDIT:
without the drawing diagrams thingy. This would take bit longer :) but who knows. Maybe in 2.0 version :)
Title: Re: AGS 3.1.3 Wishlist
Post by: JpSoft on Mon 06/04/2009 17:21:33
Quote from: SpacePaw on Fri 03/04/2009 03:51:02
Quote from: OneDollar on Thu 02/04/2009 23:26:45
Quote from: JpSoft on Tue 31/03/2009 22:50:43
- Little notepad in the editor, so the game creator could easily add comments about the design of the game ("things to do", "do not forget", and so)

This would be a perfect little editor plugin project for someone. An awesome version would include (at least) rich text, the ability to create lots of separate notes arranged in a tree, simple graphics package for making sketches/diagrams which could also be stored in the same tree and manual and readme editors that you could use to compose your documentation and would automatically export (user specified name).TXT or .RTF documents when you built your executable.

Any volunteers?

(I'd do it myself, but I don't know any C# or C++ or whatever, and can't make any sense of the plugin tutorial ;))

Piece of cake :) I can do it :)

EDIT:
without the drawing diagrams thingy. This would take bit longer :) but who knows. Maybe in 2.0 version :)

If you work on it, i willl be your first tester  ;D

Jp
Title: Re: AGS 3.1.3 Wishlist
Post by: SpacePaw on Mon 06/04/2009 17:32:27
Quote from: JpSoft on Mon 06/04/2009 17:21:33
If you work on it, i willl be your first tester  ;D
Jp

Hahah - OneDollar was first to offer that ;)
Anyways I DO work on it. I have some problems with font styles and stuff like that but it's moving forward slowly :)
Title: Re: AGS 3.1.3 Wishlist
Post by: Trent R on Mon 06/04/2009 19:50:01
Quote from: JpSoft on Tue 31/03/2009 22:50:43
- Little notepad in the editor, so the game creator could easily add comments about the design of the game ("things to do", "do not forget", and so)
I've thought before that this would be great.. A deluxe version as a plugin would be cool, but I'm wondering if CJ can put a simple textbox on the Start Page?


~Trent
Title: Re: AGS 3.1.3 Wishlist
Post by: JpSoft on Tue 07/04/2009 16:05:40
Yes, something like the script pages, but only for text purposes (without autocomplete) Also, have the chance to open it automatically when you open AGS. After all, the first thing i do when i open AGS is check my notes (a f***k .TXT file i never can found into my HD) to know what i were doing last time, what i must fix, etc etc


- Game settings
- Log Info (Notes, Diary or whatever)
.
.
.
- Pluggins
- Translations

Or something like that.

Jp
Title: Re: AGS 3.1.3 Wishlist
Post by: SSH on Tue 07/04/2009 17:18:23
Actually, I think a plugin like that is the example that comes with the editor plugin API download...
Title: Re: AGS 3.1.3 Wishlist
Post by: JpSoft on Tue 07/04/2009 17:23:33
Quote from: SSH on Tue 07/04/2009 17:18:23
Actually, I think a plugin like that is the example that comes with the editor plugin API download...

Which example?

Also, i remember that GM7 hace the notepad; its called game information

Jp
Title: Re: AGS 3.1.3 Wishlist
Post by: SSH on Tue 07/04/2009 17:28:20
http://www.adventuregamestudio.co.uk/AGS.Plugin.Sample.zip
Title: Re: AGS 3.1.3 Wishlist
Post by: subspark on Wed 08/04/2009 04:59:56
Heres an Icon for your plugin SpacePaw:
(http://www.shuugouteki.net/paul/Development/notes.png)

I did this ages ago when I sugested a notes panel for developers to leave instructions and things for each other.

Cheers,
Sparky.
Title: Re: AGS 3.1.3 Wishlist
Post by: SpacePaw on Wed 08/04/2009 05:16:40
Thanks sparky - It will save me some time indeed :3
Title: Re: AGS 3.1.3 Wishlist
Post by: subspark on Wed 08/04/2009 08:44:37
Let me know if you need any more graphics, my friend. Most of you have figured out I'm an artist by now.

Cheers,
Sparky.
Title: Re: AGS 3.1.3 Wishlist
Post by: Dualnames on Wed 08/04/2009 08:46:56
Wow you're working on another plugin? Guess you got the AGS germ..Known as Adventurus Gamicus Studiorus Plugintis Bacteria.
Title: Re: AGS 3.1.3 Wishlist
Post by: JpSoft on Wed 08/04/2009 10:08:48
And how it is supossed that it must work? I unzziped it in the ags editor folder, but nothing changes (AFAIK) Maybe the pluggin is too old for 3.1.2 version?

Jp
Title: Re: AGS 3.1.3 Wishlist
Post by: SpacePaw on Wed 08/04/2009 10:19:39
Quote from: JpSoft on Wed 08/04/2009 10:08:48
And how it is supossed that it must work? I unzziped it in the ags editor folder, but nothing changes (AFAIK) Maybe the pluggin is too old for 3.1.2 version?

Jp

you have to copy just one file AGS.Plugin.Sampleblahblahsomething.dll from bin/debug folder (or bin/release, I don't remember which one is there :) ) into the main AGS folder

Quote from: subspark on Wed 08/04/2009 08:44:37
Let me know if you need any more graphics, my friend. Most of you have figured out I'm an artist by now.

Cheers,
Sparky.
Yeah you could make a note icon too :) I have folders icons so it's the only one I need ;)

Quote from: Dualnames on Wed 08/04/2009 08:46:56
Wow you're working on another plugin? Guess you got the AGS germ..Known as Adventurus Gamicus Studiorus Plugintis Bacteria.

Mmmm I love programming <3 Pity that I have to work on school projecs too. I would use most of my time for AGS if I could :P

Title: Re: AGS 3.1.3 Wishlist
Post by: SpacePaw on Thu 09/04/2009 20:19:52
Okay, I'm making another .NET plugin and I'm confident now that  there are some small issues with the amount of things you can do using provided libraries:

-Although you can add tree leafs to your component and know when user clicks them or uses a context menu comand on them you CAN NOT rename nor move them after addition. This has no sense as it makes the whole tree idea useless. Tree is for organization and it's almost pointless to have a static one. You can "move" and "rename" by deleting the old elements and adding new ones but you still need to do that from your own component window. Those neat feautures like "rename" and "drag and drop" in views component aren't avalible.

-And I'll repeat once again - there should be some event handlers like "sprite added", "sprite changed", "view added" and so on. Why? Because without that refreshing the content of your own component is made too often and too late. When you add view using the context menu and project tree your component won't update until any event concerning it occurs.

Sorry if some of you guys don't get it, It's mostly for CJ anyway :P
Title: Re: AGS 3.1.3 Wishlist
Post by: Dualnames on Thu 09/04/2009 21:41:41
Addable, editable checkboxes would be cool, like tasks.

Icon [V]
Title: Re: AGS 3.1.3 Wishlist
Post by: DoorKnobHandle on Sun 12/04/2009 01:56:14
Hope it hasn't been said before but I'd like to see a nice way to draw a DrawingSurface to another DrawingSurface at x, y (so an additional optional int x, optional int y to the DrawingSurface.DrawSurface function would be what I'm asking for) - or is there a good workaround available that I don't see at the moment?
Title: Re: AGS 3.1.3 Wishlist
Post by: monkey0506 on Sun 12/04/2009 05:51:29
As far as drawing on surface onto another...you have to create the surface from a DynamicSprite or room background. And you can create a dynamic sprite from the room background. And it's possible to draw a DynamicSprite onto a DrawingSurface. Given this information it would be possible to simply release the second surface, draw the sprite, and if needed reassign the surface. Granted a DrawingSurface.DrawSurface might be a bit nicer.
Title: Re: AGS 3.1.3 Wishlist
Post by: subspark on Sun 12/04/2009 12:57:05
SUGGESTION: When importing sprites in bulk, the sprites are always treated under default import settings (top-left pixel / plain RGB)
Please oh please allow AGS to ask the user what settings to bulk import under including the standard auto alpha channel detection behavior. :P

Cheers,
Sparky.
Title: Re: AGS 3.1.3 Wishlist
Post by: Ethan D on Sun 12/04/2009 17:44:56
I think there should be a way to check and change what the variables are set at so that testing games can be much easier and you wont have to go through the game all the way to get to a scene your working on.
Title: Re: AGS 3.1.3 Wishlist
Post by: DoorKnobHandle on Sun 12/04/2009 17:54:57
Quote from: monkey_05_06 on Sun 12/04/2009 05:51:29
As far as drawing on surface onto another...you have to create the surface from a DynamicSprite or room background. And you can create a dynamic sprite from the room background. And it's possible to draw a DynamicSprite onto a DrawingSurface. Given this information it would be possible to simply release the second surface, draw the sprite, and if needed reassign the surface. Granted a DrawingSurface.DrawSurface might be a bit nicer.

I'm not quite getting your post, have you realized that DrawingSurface.DrawSurface already exists and I was merely asking for a way to draw a surface onto another surface somewhere else then at 0, 0? Or maybe elaborate on what you're saying. As I said, there is some workaround (I think) with, like, three temporary surfaces etc.
Title: Re: AGS 3.1.3 Wishlist
Post by: Ethan D on Sun 12/04/2009 17:58:53
If there is a way to do this ignore my post.  I think there should be an easier way to make a character face a direction like

cCharacter.FaceDirection(DownRight);
instead of having to do the facelocation or character.
Title: Re: AGS 3.1.3 Wishlist
Post by: GarageGothic on Sun 12/04/2009 18:03:41
Float On, there is a module that already does that (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=28210.msg358511#msg358511), though it should be updated to use extender functions and add diagonal directions, but that's pretty easy to do yourself. In fact, it's probably easiest to write it from scratch, should take about 5 minutes.
Title: Re: AGS 3.1.3 Wishlist
Post by: Trent R on Sun 12/04/2009 18:04:00
subspark: What you're looking for is under File->Preferences, although no Alpha at this time.. I do support a suggestion of that.

Float On: That's been suggested before (checking), in the Output/Stack pane at the bottom. But CJ would have to rewrite the script compiler for that to happen..
However, what you're asking isn't too hard. Script in the rep_exec a check on a global string, which is modified by a Game.InputBox. Also, check out Dualnames' AGS Console module (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=32787.0).

FloatOn2: Extender functions! :)  Just create function FaceDirection (this Character*, FaceDirection dir) along with enum FaceDirection
[Edit]: Or check out the module that Garage posted.

~Trent
Title: Re: AGS 3.1.3 Wishlist
Post by: monkey0506 on Sun 12/04/2009 18:20:35
@dkh: Oh...yes I must've overlooked that last night. You could do it like this:

import void DrawSurfaceAtXY(this DrawingSurface*, DrawingSurface *source, int x, int y, int transparency=0);

void DrawSurfaceAtXY(this DrawingSurface*, DrawingSurface *source, int x, int y, int transparency) {
  if ((source == null) || (x > this.Width) || ((x + source.Width) < 0) || (y > this.Height) || ((y + source.Height) < 0)) return;
  bool negx = (x < 0);
  bool negy = (y < 0);
  if (negx) x = -x;
  if (negy) y = -y;
  if (transparency < 0) transparency = 0;
  if (transparency > 100) transparency = 100;
  DynamicSprite *sprite = DynamicSprite.Create(source.Width, source.Height);
  DrawingSurface *surface = sprite.GetDrawingSurface();
  surface.DrawSurface(source);
  surface.Release();
  if ((negx) && (negy)) sprite.Crop(x, y, sprite.Width - x, sprite.Height - x);
  else if (negx) {
    sprite.ChangeCanvasSize(sprite.Width, sprite.Height + y, 0, y);
    sprite.Crop(x, 0, sprite.Width - x, sprite.Height);
  }
  else if (negy) {
    sprite.ChangeCanvasSize(sprite.Width + x, sprite.Height, x, 0);
    sprite.Crop(0, y, sprite.Width, sprite.Height - y);
  }
  else sprite.ChangeCanvasSize(sprite.Width + x, sprite.Height + y, x, y);
  surface = sprite.GetDrawingSurface();
  this.DrawSurface(surface, transparency);
  surface.Release();
}
Title: Re: AGS 3.1.3 Wishlist
Post by: GarageGothic on Sun 12/04/2009 18:37:11
Seems a bit overly complicated to me, monkey. What's wrong with:

void DrawSurfaceAtXY(this DrawingSurface*, DrawingSurface *source, int x, int y, int transparency) {
  DynamicSprite* sourcesprite = DynamicSprite.CreateFromDrawingSurface(source, 0, 0, source.Width, source.Height);
  this.DrawImage(x, y, sourcesprite.Graphic, transparency);
  }


?

You could optimize by putting in some coordinate checks for CreateFromDrawingSurface, to avoid handling a bigger section of the image than we need. But in your example, you still draw the full surface so no real speed gain by the cropping and changing of canvas size.
Title: Re: AGS 3.1.3 Wishlist
Post by: DoorKnobHandle on Sun 12/04/2009 18:44:11
Ah, that was the workaround I said I knew that it existed but couldn't figure out! :) Of course, the .Graphic property!
Title: Re: AGS 3.1.3 Wishlist
Post by: monkey0506 on Sun 12/04/2009 18:53:10
Quote from: GarageGothic on Sun 12/04/2009 18:37:11DynamicSprite.CreateFromDrawingSurface

Where are all these functions coming from? :=

@self: RTFM n00b!!%!#%^##%! ::)
Title: Re: AGS 3.1.3 Wishlist
Post by: DoorKnobHandle on Sun 12/04/2009 18:55:50
This degree of confusion even with coders who are experienced (I dare say :) ) just shows how much these two optional ints (x, y) for the DrawSurface function would improve it all, though!
Title: Re: AGS 3.1.3 Wishlist
Post by: JpSoft on Sun 12/04/2009 22:38:57
Higher limit in objects per room and controls per GUI would be nice.

Jp
Title: Re: AGS 3.1.3 Wishlist
Post by: SSH on Thu 16/04/2009 15:58:41
We really should only have the dynamic sprite warning log thing in Debug versions, not compiled.
Title: Re: AGS 3.1.3 Wishlist
Post by: GarageGothic on Thu 16/04/2009 16:11:06
Quote from: SSH on Thu 16/04/2009 15:58:41We really should only have the dynamic sprite warning log thing in Debug versions, not compiled.

I totally agree with this. No reason to worry the end user with a non-problematic error that is bound to happen whenever someone uses Alt+X or Alt+F4 to quit the game.

Edit: And just to remind CJ, please remove the 50 character limit for savegame names (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=36284.msg476026#msg476026).

Edit 2: A recent post reminded me of something I've been meaning to suggest for a while. Any chance there could be a GetArraySize(name) function? The size property must be stored somewhere since AGS knows when to crash with an out-of-bounds errors, so it would be great if that value could be retrieved at run-time. Of course you can always keep track on it using a #DEFINE (for static arrays) or an int, but especially for dynamic arrays it would mean cleaner code with less variables to juggle around.
Title: Re: AGS 3.1.3 Wishlist
Post by: monkey0506 on Fri 17/04/2009 05:37:48
Regarding the array size that is something Chris has talked about for some time but IIRC he wasn't sure what the most streamline method of implementing the functionality would be (i.e., in your example the function would have to be overloaded for every data type which is something AGS doesn't do or allow anywhere else!).

One possibility to allow a cleaner workaround would be if we could have dynamic arrays within custom structs then we could at least do:

struct IntArray {
  writeprotected int Size;
  int Data[];
  import bool Resize(int size);
};


But a built-in way of doing this would be much appreciated! :=
Title: Re: AGS 3.1.3 Wishlist
Post by: Crimson Wizard on Fri 17/04/2009 14:03:46
Sorry if this was mentioned sometime ago (don't have a patience to read all this thread through  ::) )
I have couple of humble ideas, simply something that comes in mind when I trying to create my first game...

First of all, what about allowing user to define sprite metrics (width & height) manually when importing one from a bitmap. Sometimes that could be easier than to drag a selection box. Also maybe the input fields for these metrics could display currently selected width and height if user decided to drag the box anyway.

Secondly, a way to copy/paste GUI elements when editing GUI control - this would make it faster to create several buttons of same size.
Title: Re: AGS 3.1.3 Wishlist
Post by: Matti on Fri 17/04/2009 14:48:55
I would greatly appreciate it if the room's object limit would be increased by 10 or 20..

For adventure games 50 objects are quite enough but for non-adventure games it sometimes isn't.
Title: Re: AGS 3.1.3 Wishlist
Post by: Crimson Wizard on Sat 18/04/2009 23:18:37
Ah, yes, and "Watch" feature for runtime debugger, if possible!
Title: Re: AGS 3.1.3 Wishlist
Post by: Crimson Wizard on Sat 25/04/2009 04:55:02
What about extra OnShow event handler for GUIs? Could be handy for GUIs with complex usage.
Title: Re: AGS 3.1.3 Wishlist
Post by: Trent R on Sat 25/04/2009 05:32:03
Quote from: GarageGothic on Thu 16/04/2009 16:11:06
Edit: And just to remind CJ, please remove the 50 character limit for savegame names (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=36284.msg476026#msg476026).
Recently came across this, and would like to voice my support.


Crimson1, this was brought up in the beginning of the thread (pages 2 or 3 I think), but CJ said it would require rewriting the script compiler, so it won't be coming soon. (If I'm getting your suggestion right. You mean to view the values of variables at runtime, right?)
Crimson2, what do you mean by OnShow? What's wrong with if(gui.Visible) check?


~Trent
Title: Re: AGS 3.1.3 Wishlist
Post by: Crimson Wizard on Sat 25/04/2009 05:40:18
Quote from: Trent R on Sat 25/04/2009 05:32:03
Crimson1, this was brought up in the beginning of the thread (pages 2 or 3 I think), but CJ said it would require rewriting the script compiler, so it won't be coming soon. (If I'm getting your suggestion right. You mean to view the values of variables at runtime, right?)
Yes, that's it.
Well, frankly, it isn't that much critical, at least for me (do not have too much complicated scripts).

Quote from: Trent R
Crimson2, what do you mean by OnShow? What's wrong with if(gui.Visible) check?
I mean an event handler that is run as soon as GUI became visible. Nothing wrong with "if(gui.Visible)" check, I just suppose it would be more convenient that way.
Well, it could be also something like "VisibilityChanged" to cover hiding GUI event as well. Maybe.
Title: Re: AGS 3.2 Wishlist
Post by: Gius on Sat 08/08/2009 17:07:46
If Ags were able to manage a direct connection with the webcam?


thanks
Title: Re: AGS 3.2 Wishlist
Post by: monkey0506 on Sat 08/08/2009 17:23:01
Are you planning to add motion sensing (like the EyeToy) to AGS? If so you'd probably need a lot of capabilities AGS doesn't offer and would have to write a plugin anyway.

Otherwise I can't fathom a reason for AGS to utilize a webcam.

No offense though, but I can't see how it could be useful at all for AGS to support this without a ton of new functionality being added which has no practical use in an adventure game.
Title: Re: AGS 3.2 Wishlist
Post by: Shane 'ProgZmax' Stevens on Mon 10/08/2009 10:54:38
I'd like to see the theora video support cj added expanded to work like scotch's plugin but with usability improvements.  For instance, being able to resize the video and have it play at a specific location as a background element; be able to set a video controls like eOnce, eRepeat, eBlock, eNoblock.  Actually, I'm curious if PlayVideo could just be expanded to support these settings for all the video formats?
Title: Re: AGS 3.2 Wishlist
Post by: Matti on Mon 10/08/2009 13:23:47
Just some minor things that would be nice:

- pixel-perfect detection for buttons (not just objects and characters)

- "apply to all" possibility (or better yet a checkmark) for importing alpha-sprites. It's annoying when you always have to tell AGS to use alpha channels, when indeed you're only using alpha-channel sprites in your game

- possibility to "import whole sprite" with the enter key instead of having to click it

Oh, and it would be nice to have the possibility to make more than one screenshot, also, saving it as a .png would be cooler than having it as a .bmp

EDIT: Another thing would be the ability to declare arrays via the global variables pane.
Title: Re: AGS 3.2 Wishlist
Post by: Joe on Mon 10/08/2009 21:39:23
It would be very nice the possibility of changing Objects/Hotspots name at run-time. :)
Title: Re: AGS 3.2 Wishlist
Post by: on Tue 11/08/2009 01:07:17
I'd like an option that allows you to inset outlined fonts, so that the outlines overlap.

i.e
(http://i3.photobucket.com/albums/y68/Ravey1964/insetfont.gif)

atm, you can only do this with automatic outlines.
(AGS doesn't compensate for the outline font being taller/wider than the speech font)
Title: Re: AGS 3.2 Wishlist
Post by: Khris on Tue 11/08/2009 01:46:13
Quote from: Mr Matti on Mon 10/08/2009 13:23:47Oh, and it would be nice to have the possibility to make more than one screenshot, also, saving it as a .png would be cooler than having it as a .bmp

//above on_key_press
int scrnshot;

//inside
  if (keycode==434) {  // F12
    scrnsht++;
    SaveScreenShot(String.Format("scrnshot%03d.pcx", scrnsht));
  }


Quote from: Ravey on Tue 11/08/2009 01:07:17
I'd like an option that allows you to inset outlined fonts, so that the outlines overlap.

If the letters of the font don't have margins on both sides, that's what you'll get.
E.g. look at Back Door Man (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=38521.0).
Title: Re: AGS 3.2 Wishlist
Post by: Matti on Tue 11/08/2009 01:51:19
Ha, that was easy. Thanks, Khris.
Title: Re: AGS 3.2 Wishlist
Post by: NsMn on Tue 11/08/2009 10:12:36
Speaking of Outlines, it would really be good if the colour of the outlines can be different, depending on the font (like the outline font or style).

And - if someone didn't said this yet - it would be best if there could be alternate things that can happen to a button if it's clicked or on mouseover, ie. change the button's text color instead of just using a different graphic. Besides, it still isn't possible to set the button text color in the script yet.
Title: Re: AGS 3.2 Wishlist
Post by: on Tue 11/08/2009 15:43:29
Quote from: KhrisMUC on Tue 11/08/2009 01:46:13
If the letters of the font don't have margins on both sides, that's what you'll get.
E.g. look at Back Door Man (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=38521.0).
Only works with automatic outlines.

There's no way to compensate for those extra 'margin' pixels when you're using an outline font.
Title: Re: AGS 3.2 Wishlist
Post by: Matti on Tue 11/08/2009 16:26:32
Quote from: NsMn on Tue 11/08/2009 10:12:36
Besides, it still isn't possible to set the button text color in the script yet.

What?

int Button.TextColor;
Title: Re: AGS 3.2 Wishlist
Post by: NsMn on Tue 11/08/2009 16:28:17
Well, I thought that would work in the NEWER AGS 3 Versions, but according to Babar, it still doesn't there.
Title: Re: AGS 3.2 Wishlist
Post by: Matti on Tue 11/08/2009 16:35:30
Just tested it and it works perfectly (AGS 3.1.2 SP1).
Title: Re: AGS 3.2 Wishlist
Post by: Babar on Tue 11/08/2009 17:32:09
Not text colour. What I said is that there was no Button.Color.
Title: Re: AGS 3.2 Wishlist
Post by: NsMn on Tue 11/08/2009 18:21:51
Okay... I'm convinced  ;D

Anyway, the text still allways move if the button is clicked. And that's dumb.
Title: Re: AGS 3.2 Wishlist
Post by: Jim Reed on Thu 13/08/2009 22:25:24
Gui popup x position for those pesky guis that pop up from the side.

Export/import walkable areas, hotspots, regions in runtime.

Overlaping of walkable areas.

Room.GetDrawingSurfaceForForeground()
Title: Re: AGS 3.2 Wishlist
Post by: Shane 'ProgZmax' Stevens on Fri 14/08/2009 14:06:00
This is something I've been thinking about for a long time and feel would be a much-needed and valuable improvement to the engine and editor:

layered walkable areas with regions that respond to npcs.

Specifically, I'd like to see walkable areas become layers that can co-exist on top of each other in the editor but not interfere in any way in the game.  You'd make layer one , draw your regions that work with it (some kind of layer drop down for the region would work) and such and then assign that layer to the player; you'd make another region for someone walking around in a circle and assign that to an NPC along with regions for him/her to react to.  These changes alone would make what is currently upwards of an hour job (depending on how complicated I make an npc's behavior) into something utterly trivial and incredibly versatile.  I'm not sure exactly how much re-working would be involved; I realize the current walkable area systems aren't designed to overlap, but aside from changing their behavior you'd already have the characters more or less ready to go since they have all the behaviors of players aside from reacting to regions, which has been requested several times over the years, anyway.

At any rate, I think it would greatly improve the way npcs are handled in the game and give people a lot more to do with them before resorting to a repeatedly_execute function and if statements and random number results!
Title: Re: AGS 3.2 Wishlist
Post by: Joe on Fri 14/08/2009 21:08:20
An option for room editing to select the objects you want to see or not while editing
Title: Re: AGS 3.2 Wishlist
Post by: Scavenger on Fri 14/08/2009 22:46:01
Just a few ideas I've been kicking around. Might make some into plugins or modules if they're impractical or impossible to implement.

I'd like to see better 8bit palette support with sub-palettes for sprites so that we can change their palette values without changing the sprite itself. It'd be useful for tinting and lighting a sprite without messing around with fiddly palette handling, and an easy method for making random people without importing massive amounts of sprites. SCUMM had it, I believe, and OHRRPGCE has a good implementation. True, they were limited to 16 colours per sprite, but how many do you generally need for 256 colour games?

Alternatively, I'd like to be able to control individual characters' and objects' Light Levels in script, rather than purely on a region basis.

Implementation of a more versatile .mod player would be nice, too. Mikmod's the one I've been looking at - it can change the volume of individual channels, leading to a nice iMuse kind of effect.

On the plugin front, I'd like to see hooks for when sprites are being blitted to the drawing surface. We have sprites that can be changed when they're loaded, but I've noticed that I can't have translucent chararcter or object sprites since the interrupts don't cover when a screen is halfway blitted with characters (meaning that trying to change the sprite will result in them being ). I'm pretty sure that sprites are blitted in from top (back) to bottom (front) so just adding in that hook will give a lot more freedom.

Also:
- Non-blocking Dialog and Display GUIs. I'd love to get my hands on something that automatically renders like they do with the same ease, but at the moment I can't get the dimensions of Display boxes while they're open, thus making translucent backgrounds to them a rough and often inaccurate business.

- Option to not have an outline in a dialogue parser (the door dialog in DWEF shows this, I didn't really want the outline to happen.)

- Changing of the game palette when changing the background frame, if they have different palettes happens before or after the image has changed, not at the same time, leading to some distracting flashes. Is there any way to fix this in the engine?
Title: Re: AGS 3.2 Wishlist
Post by: Stacy Davidson on Sat 15/08/2009 08:33:16
I've seen a lot of discussion on widescreen resolutions, and this is definitely a topic that concerns me, as I'd like to be able to offer the best gameplay experience possible to people with modern machines, and these days just about all the monitors you find are 16:10.  However, I do see the problem with alienating those with older monitors, and 1024 is definitely the best overall option out there there, because pretty much any machine made in the last 8 years or so will at least have that.

Can you answer me this one question, though: say there is a 1280x800 mode implemented, and my game is designed for that resolution.  When the player with an older 1024x768 SVGA system fires it up, could that 1280 game be scaled down and have black bars added to the top and bottom of the screen?  Or would a 1280 game simply be an impossibility for a 1024 user?

The black bars for widescreen monitors in 4:3 mode is a fantastic addition, BTW. Thanks for implementing that!

Thanks!
-s

Title: Re: AGS 3.2 Wishlist
Post by: Jim Reed on Sat 15/08/2009 22:14:16
Force feedback and joystick support. =D
Yeah, right!

Sprite skewing and similar effects (stretch a sprite to 4 points). Pretty please!

Draw textured triangle/circle/rectangle?

Motion blur?

Screen effects, sharpen, modify gamma, guassian blur, bumpmap, dilate, erode, etc.

Integral fps counter.

Font editor.

While you're at it CJ, tell santa that AGS community says hi! =D
Title: Re: AGS 3.2 Wishlist
Post by: Matti on Sat 15/08/2009 22:35:41
Quote from: Jim Reed on Sat 15/08/2009 22:14:16
Integral fps counter.

If you want to display/see the fps, use the debug() command (see manual).
Title: Re: AGS 3.2 Wishlist
Post by: Jim Reed on Sat 15/08/2009 22:55:43
Ah, my mistake, I usually use a custom function picked up ages ago on the forums, that serves nicely.
Btw, can you use that without the debug mode enabled?
Title: Re: AGS 3.2 Wishlist
Post by: Gilbert on Sun 16/08/2009 09:38:38
Well, the debug() functions work only in debug mode, so a proper FPS counter would be nice. (There were codes to simulate this, but it'll be better if it's internal.)
Title: Re: AGS 3.2 Wishlist
Post by: Shane 'ProgZmax' Stevens on Sun 16/08/2009 19:16:50
QuoteForce feedback and joystick support.

This is something I wanted to make a module for (using DirectInput), but it didn't seem possible last time I checked.  If I had direct access to DInput for polling devices I could make a module for it in a snap, and I will add that I'd very much like to get joypad support added (even if I have to write the script to make it happen, which is no big deal).  Internal support would be ideal, obviously.
Title: Re: AGS 3.2 Wishlist
Post by: subspark on Mon 17/08/2009 12:07:07
Can importing masks please act the same way as importing game backgrounds?

AGS always warns me that a mask is too small compared to the background, but this is because AGS doesnt know how to place it over the top half of the screen like it does with a background image.
Can we please automate this?

Cheers,
Sparky.
Title: Re: AGS 3.2 Wishlist
Post by: Khris on Mon 05/10/2009 16:59:35
Decided to post here after reading this thread (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=39003.0) about how to link an event to a function.

The general mechanism is mentioned in Part 3 of the tutorial.
It doesn't explicitly state there that an event triggers a call to a function by the name entered in the field, that one can rename it, or even link several events to one function.
It also doesn't mention that simply typing a function called room_Load won't make it get called automatically (as opposed to e.g. on_key_press).

The tutorial only explains the steps people have to do to create a hotspot event.

Still, I'm not sure if the way too high amount of threads about something as basic and essential to AGS as this stems from people not reading the tutorial or the tutorial not being a bit more verbose on this issue.
Regardless, IMO somebody has to do something about it.
It feels like that was the 84th thread in which I posted the words "thunderbolt icon".

Plus, Irathil said he'd been looking for the answer in the manual and in the forums and still wasn't able to find it.
I've noticed that the BFAQ (http://www.americangirlscouts.org/agswiki/Category:AGS_Beginners%27_FAQ) link in the forum rules sticky is dead, but even if somebody found it, it doesn't seem to have been updated since 2.x.

Understanding events function linkage is an essential part of using AGS, and way too many people have no idea how it works.
Imagine somebody had coded a paint program and every few days there's a new thread about how to change the drawing color...
Title: Re: AGS 3.1.2 Wishlist
Post by: Crimson Wizard on Thu 08/10/2009 22:56:02
I wanted to make a couple of suggestions, then I found one of them was already made quite a while ago:

Quote from: Joseph DiPerla on Thu 22/01/2009 17:24:54
6)Views-- Can we just have an option to copy one loop to the next? Most of the time my Right loop is a copy of the left loop just flipped. So rather than have to put in all the frames, can we just have a copy function?

What's the status of this one? Is it planned or implemented or discarded, or what? ;)

Second suggestion is to be able to select multiple frames and set up properties for them all at once.
Reasons:
1) Setting up same delay.
2) Setting up Flipped flag for large piece of loop or whole loop at once.
Title: Re: AGS 3.2 Wishlist
Post by: subspark on Thu 08/10/2009 23:55:32
Strongly agreed!

Cheers,
Sparky
Title: Re: AGS 3.2 Wishlist
Post by: Wonkyth on Fri 09/10/2009 02:03:58
I'm fairly handy with C#, so maybe I'll try making an editor plugin that could do that.
I wouldn't rely on me though, as I'm not very self-motivated...
Title: Re: AGS 3.2 Wishlist
Post by: subspark on Fri 09/10/2009 02:22:33
QuoteI wouldn't rely on me though, as I'm not very self-motivated...
Lol... That's not supposed to be a good thing. :)
Title: Re: AGS 3.2 Wishlist
Post by: Stacy Davidson on Fri 09/10/2009 05:30:15
New thought on the resolution issue.

I suppose what I'd really like to see is this scenario:


* a higher, widescreen resolution is implemented (1280x800, or even better 1920x1080)

* a game is developed in this resolution

* when played, player is given choices of resolution.  At full res, the game plays as it looked when it was designed.  On a lower res of, say, 640x480, the screen is vertically reduced to 480px, but the image retains original aspect ratio and the remaining areas of the screen simply scroll left/right. 

In this way, you could design a room that is one single screen at high res, but when played in low res the screen would be a scroller.


Is this something that would be doable?  And, how would it effect the GUI?  Could the GUI simply scale down with the screen?  Or would the designer need to include alternate sets of GUIs for each res?  (worst case scenario, probably unnecessary but I wanted to throw it out there).

I am really interested in this feature, as the only way to play AGS games on modern screens now is to play in a window, or play it vertically squeezed.

Thanks Chris!
-s

Title: Re: AGS 3.2 Wishlist
Post by: subspark on Fri 09/10/2009 05:55:49
Well back on Unreal Engine 3, what we would do is design multiple GUIs for every resolution we wanted to support. I would work in photoshop at the very highest 16:10 resolution (2560x1600) and scale backward sharpening by 50% in each increment. The engine would allows for resolution to be changed in-game or set beforehand and the nessecary GUI layout would load. This is how many engines handle this but AGS may not necessarily be the best candidate for this neither the worst. I would imagine we'd have to rethink much of AGS.

Allow me to share some of my ideas on how AGS 'might' handle dynamic resolutions that can be changed during gameplay.
First and foremost a new resolution manager could be invented in which say 6 custom resolutions can be input that the gui & room editor have access to from a drop listbox. Also updating the GUI editor to handle the 'play area' might be neccessary. You would define a play area rect in the GUI editor much like the inventory rect.

In the gui/room editor, by cycling through the six different resolutions, AGS would load/unload a different set of variables and sprites per resolution setting.
Handling all this data internally may or may not be the best way to go. I'm no programmer or system designer but I can take a good guess.

Anyway I hope this discussion continues. (Perhaps in a seperate "radical ideas and design" thread)
I'd like to see dynamic "custom" resolution support in the near future and I'm sure some of you would too. :)

Cheers,
Sparky.
Title: Re: AGS 3.2 Wishlist
Post by: Denzil Quixode on Fri 09/10/2009 12:26:24
As 3.2 is now entering the RC stage, it is probably too late to start adding wishlist things for it, but anyway...

If a function returns a (pointer to a) struct, you currently must assign that to a variable before you can access its methods and fields. Could that be changed?

For example, say CreateMyStruct() is a function that returns a MyStruct* pointer, and MyStructs have a method called MyMethod(). If all I want to do is create a MyStruct, call a method on it and then no longer care about it, I'd try to do it like this:

CreateMyStruct().MyMethod();

...but the compiler complains that it was expecting a structure before the dot, and will only allow this:

MyStruct* myStruct = CreateMyStruct();
myStruct.MyMethod();


I know that may not seem like much difference, but I would prefer the option if possible.
Title: Re: AGS 3.2 Wishlist
Post by: Denzil Quixode on Fri 09/10/2009 12:27:18
Another one - I have an Editor plugin and a Run-Time plugin that I intend to work together as a unit, but the user must treat them as separate things (for example, when enabling/disabling the feature they have to do so in two different places in the project tree). Would it be possible to have some way for one of the plugins to "link" itself as dependent on another one? I don't know exactly the right way to do this. I have some ideas:

Title: Re: AGS 3.2 Wishlist
Post by: joelphilippage on Fri 09/10/2009 16:10:47
It would be nice to have the renumber speech function to add speech numbers to the old list so line numbers are not messed up.
Title: Re: AGS 3.2 Wishlist
Post by: RickJ on Sun 11/10/2009 20:13:22
Extender Variables or Properties
Extender functions are fantastic, wonderful, wizbang thingies indeed.  But the inability to similarly extend the variable space is a huge hindrance to extender functions reaching their full potential.  There are workarounds that usually involve creating huge static struct arrays.  These are cumbersome, ineloquent, and often negate any benefits to be gained through the use of extender functions.  In some cases such workarounds are impractical, especially when object types having unlimited number are involved.

Likely this has been suggested before multiple times but I would like to ask again so that it is not lost and forgotten.
Title: Re: AGS 3.2 Wishlist
Post by: monkey0506 on Mon 12/10/2009 05:20:03
Although I support the idea of extender properties (as well as static extenders) the workaround can be made slightly more eloquent, though it means we can't use a struct for organizational purposes. We have dynamic arrays, but can't currently make a dynamic array of a custom struct (another useful suggestion). So instead of:

struct CharVar {
  int HP;
  int MP;
};

CharVar CharVars[AGS_MAX_CHARACTERS];


We could instead do something such as:

int CharVar_HP[];
int CharVar_MP[];

function game_start() {
  CharVar_HP = new int[Game.CharacterCount];
  CharVar_MP = new int[Game.CharacterCount];
}


Granted for larger structures this easily becomes much more aggravating (I would know), however I've used this method myself with great success.

You could then have Get/Set extenders that simply mask the internal properties:

int GetHP(this Character*) {
  return CharVar_HP[this.ID];
}

void SetHP(this Character*, int hp) {
  CharVar_HP[this.ID] = hp;
}


Don't get me wrong, I'm not saying a built-in solution wouldn't be appreciated here. But to me having an extracted data structure with dynamic arrays is better than a compressed data structure with a static size.
Title: Re: AGS 3.2 Wishlist
Post by: mikosworld on Sat 17/10/2009 15:29:19
In "Inventory Items", to add "Mouse Over image" feature in "Apparence" section.

Because, I've create 2 states icons for my inventory items (normal image icon and over image icon with light red outline).
I would like this feature, to show my mouse over item when I'm overlapping it with hotspot/regions ...
Title: Re: AGS 3.2 Wishlist
Post by: mikosworld on Sun 18/10/2009 15:04:04
Another idea, after the audio player system remade. Why not to make the video system as ( vMymovie.Play(); ) ;)
and to build game with external resource file separated as "movies.vox" like
Title: Re: AGS 3.2 Wishlist
Post by: suicidal pencil on Sun 18/10/2009 17:29:41
Hey, maybe someone could put some internet connectivity into AGS, so that players could submit scores to a database, or in some games, play with others. That, and it could also be used so that AGS will check for updates and bug fixes itself.
Title: Re: AGS 3.2 Wishlist
Post by: CTxCB on Sat 30/01/2010 10:32:10
How about the ability to select, move and delete more than one item in gui
Title: Re: AGS 3.2 Wishlist
Post by: xenogia on Sat 30/01/2010 11:07:56
Quote from: Crimson Wizard on Thu 08/10/2009 22:56:02
I wanted to make a couple of suggestions, then I found one of them was already made quite a while ago:

Quote from: Joseph DiPerla on Thu 22/01/2009 17:24:54
6)Views-- Can we just have an option to copy one loop to the next? Most of the time my Right loop is a copy of the left loop just flipped. So rather than have to put in all the frames, can we just have a copy function?

What's the status of this one? Is it planned or implemented or discarded, or what? ;)

Second suggestion is to be able to select multiple frames and set up properties for them all at once.
Reasons:
1) Setting up same delay.
2) Setting up Flipped flag for large piece of loop or whole loop at once.

I would definetly love at option to select multiple frames of animation and change the overall delay.
Title: Re: AGS 3.2 Wishlist
Post by: Shane 'ProgZmax' Stevens on Sun 31/01/2010 22:11:57
I think this is worth mentioning again since I know many people support the idea:


Make the concept of 'characters and objects' obsolete and instead think of the current character structure as a generic 'entity' that can be characters or objects at the users whim.  Objects are severely crippled characters with limited value so replacing them with all the functionality of a character is a meaningful step forward.    

To retain the usefulness objects currently possess as far as Room Edit goes, allow any 'entities' set to display in a specific  room to show up visually in Room Edit, be they characters or objects.  This not only makes objects more powerful but finally gets rid of their limitations while sacrificing no usability.  Further, allow users to create folders in the character section of the menu so they can break them up into characters/objects or in any way they like.  This also empowers users with the ability to see precisely where their characters and npcs will appear in rooms, something I've been looking forward to for a long time.  

Something else that might help with organizing the new object design would be to have any objects/characters in the entity (character) list that appear in the current room to be highlighted in some way in case the user didn't break them up into separate room folders -- or perhaps the engine could automatically create room folders in the character (entity) list on compile if there are characters or objects that are set to specific rooms and automatically arrange them.  This would probably be an option rather than a static behavior since some people would prefer to organize things themselves, but it could be 'on' by default. :)



Title: Re: AGS 3.2 Wishlist
Post by: discordance on Mon 01/02/2010 19:12:22
^ I strongly support all of the above.
Title: Re: AGS 3.2 Wishlist
Post by: suicidal pencil on Thu 25/02/2010 20:07:28
I agree with that. Also, I think that there should be no upper limit on those entities, or if CJ doesn't implement it, at least no limit on the amount of objects allowed in a room ;D There's a ton of things that you can do with objects if you twist them juuust right, and a limit restricts what you can do.
Title: Re: AGS 3.2 Wishlist
Post by: monkey0506 on Thu 25/02/2010 20:53:35
TBH I don't really see any huge advantage of the current implementation of an Object vs. a Character anyway. If I needed a multi-room object I could just as easily use a character without any major grievances or disadvantages.

I understand:

Title: Re: AGS 3.2 Wishlist
Post by: Crimson Wizard on Thu 25/02/2010 21:21:46
I wonder if this is possible to allow creating some kind of "entities" (or simply objects and/or characters) dynamically in game? Ofcourse, AGS is intended to be used for classic-style adventure creation, but let be honest, people are trying to make something different like arcade, strategy, etc every now and then. I don't know about AGS internal mechanics, though doubt it would be so difficult to implement... or would it?
Title: Re: AGS 3.2 Wishlist
Post by: Crimson Wizard on Fri 26/02/2010 14:25:26
What about break/continue commands? Several times I met a need to skip the rest of the loop under certain condition; I had to invent clumsy "if/else" constructions to solve that.
Title: Re: AGS 3.2 Wishlist
Post by: Wyz on Sun 28/02/2010 20:29:16
Are we still having a wish list here?
I was working on I game when I got this strange idea that might be useful. The usefulness aside, I'll just post it here. :)
My idea: spell checking for strings in dialog and scripts. Simply said, you type cEgo.Say("What a niec day!"); the 'niec' would get a red squiggly line underneath it. Hook it up with aspell or something. Well It has completely no priority, and there are different ways to do it, but I thought it would be nice if I 'd share it with you.
Title: Re: AGS 3.2 Wishlist
Post by: Crimson Wizard on Sun 07/03/2010 00:48:05
Quote from: Wyz on Sun 28/02/2010 20:29:16
My idea: spell checking for strings in dialog and scripts. Simply said, you type cEgo.Say("What a niec day!"); the 'niec' would get a red squiggly line underneath it. Hook it up with aspell or something. Well It has completely no priority, and there are different ways to do it, but I thought it would be nice if I 'd share it with you.
You can write your dialogs in text editor which supports spell checking :)
Title: Re: AGS 3.2 Wishlist
Post by: subspark on Sun 07/03/2010 05:30:56
I strongly support Prog's suggestions. This also ties in well with an earlier suggestion of being able to manipulate characters in the room editor and view realtime feedback of walkable area scaling, tinting, walkbehinds and coordinates. So, yeah I can see a real use for this and I hope it becomes one of the higher priorities for the next version.

Edit: Also another suggestion - It would make sense if the room editor simply remembered the last bitmap import directory just as the sprite editor does.

Cheers,
Sparky.
Title: Re: AGS 3.2 Wishlist
Post by: GarageGothic on Fri 19/03/2010 23:34:06
I was scripting a function that duplicates a GUI as a DynamicSprite, but found that a few important properties weren't accessible through script at runtime. So hence these suggestions (there are probably more, but these are my main obstacles):

* A read/writable TextAlignment property for Buttons and Labels.
* Read/writable GUI.BackgroundColor/GUI.BorderColor properties (also very handy for fade-to-any-color effects when using GUIs for nonblocking fades)

The TextAlignment property would probably mean a new enumerated type since Buttons/Labels have more options than the current eAlignment enum used for Character.LockViewAligned. BTW, is there any special reason that Labels can only align text along the top edge while Buttons can align top, middle and bottom?

Thanks for reading this, CJ!
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Tue 23/03/2010 10:51:38
SUGGESTION:
Speech translation support.
Whenever a translation is picked in Config.exe, it could automatically swap in the spoken lines in the specified language.

Perhaps a special speech pack (*.tvox) that will replace the default language if placed in the game folder and if the associated translation is chosen.

Cheers,
Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: Ryan Timothy B on Fri 26/03/2010 22:52:53
I've got one tiny yet great suggestion that I'd really love to have.
I don't use AGS's own editor for walkbehinds or walkable areas, mostly because it's very tedious.  The only time I really use it is if it's a quick demo build until I get the real graphics.

If you could add the Space Bar support that Photoshop uses, which is actually used to pan images.  It's such a pain having to use the scroll bars.

It would also be quite cool if the zoom feature on the tablet could also be used to zoom in and out with the new AGS feature.
Title: Re: AGS 3.3 Wishlist
Post by: TM on Sat 27/03/2010 21:51:15
Hello.

- In the sprite manager, I would like to be able to select previously imported sprites and click "update sprites" to load in newer versions like in Flash, instead of having to tediously replace each single one.

- It would be cool if idle animation had its own delay setting with 5 as default value, so it doesn't mess up old games (because idel has a super secret hidden delay). Or, as Mr Crimson Wizard and Xenogia requested, selecting multiple frames. That would work just as well.

- When you move a background image around by a few pixels, all the hotspots and areas are off. Would be nice if we could just mark and drag areas.


Here be nitpicky stuff:
- I understand that there has to be a standard font, but why can't we delete fonts 2 (speech default) and 3 (outline)?
- Overboard with all the structs, global variables and stuff! Let's get some true OOP rolling with classes and inheritance!!!
Title: Re: AGS 3.3 Wishlist
Post by: deadsuperhero on Sun 28/03/2010 04:43:13
Time for me to step in and demand the ridiculous and expect the impossible. :D

-Bundled Mac and Linux runtimes so that a game developer can "Build for Linux" and "Build for Mac" (The runtimes would have to be up to date, of course, but this would make this a lot easier than the current methods of setting up the runtime individually for each game. I can also imagine that packaging up a .dmg or a .deb file wouldn't be too hard)

-Along with said runtimes, a way for each runtime to save to a logical native location in order for the binary to be installed system-wide.

-An OpenGL backend for hardware graphics acceleration. You currently have DX acceleration, but us Linux and Mac users don't really get to use it with our runtimes.

And of course, the currently probably impossible:

-Build a cross-platform editor frontend using Qt or GTK. There are Mono bindings for GTK# (http://www.mono-project.com/GtkSharp) and Qt# (http://techbase.kde.org/Development/Languages/Qyoto). Furthermore, Qt uses a lot of C++ and is capable of integrating into either Gnome or KDE environments.
Title: Re: AGS 3.3 Wishlist
Post by: Calin Leafshade on Sun 28/03/2010 05:44:33
I actually really have only one (possibly 2 ) serious requests.

Full alpha blending on drawing surfaces (I know alot of people support this, I WANT THIS SO BADLY, MORE THAN SEX.)

and also Additive blending would be nice.. you can make some very nice effects with additive blending.

The only other things Id request are things i'd 'like but wouldnt be too bothered if they never arrived'.

A watch pane for the editor.
reverb for audio.. which should be really quite easy to implement if you use freeverb.
Sprite deformation (theres a module for this but its not all that efficient I dont think.)
Full screen post process pixel shaders. (this would be so so pretty, Hyper low res pixel shading is not something that has ever been done and this is so powerful in terms of graphical effects.)
Title: Re: AGS 3.3 Wishlist
Post by: Snarky on Sun 28/03/2010 07:30:31
Unicode string support. Only that.

(May already have been mentioned in this thread, I didn't look.)
Title: Re: AGS 3.3 Wishlist
Post by: xenogia on Sun 28/03/2010 11:16:57
I'd definetly have to agree with both Alliance and Calin.

Linux support for the editor would be amazing without using virtualization.  This would make me go back to Linux permanently.  And all of Calin's ideas would be great also.

Here is my input

I would love 720p support, so I can have games run at 1280x800.  As this resolution would higher the calibre for future games.
Title: Re: AGS 3.3 Wishlist
Post by: SpacePaw on Sun 28/03/2010 12:10:13
This may have been mentioned before but it should be really easy to change:

Make custom properties editable through the script. It would give GREAT possibilities when it comes to extending characters, objects, hotspots etc.
Title: Re: AGS 3.3 Wishlist
Post by: Chrille on Mon 29/03/2010 16:42:33
It seems it's been discussed before, but the option to start an animation from a specified frame would extremely useful to me. Right now I'm at a point where my only options would be to add alot of extra views with less frames. Either that or script my own animation system which would seem like a total waste considering the default one works so well already.

Perhaps adding another parameter at the end of the Animate function or have the animation start from whatever frame a character or object has been set to. For example
character.Lockview(#);
character.Frame = #; 
character.Animate(bla bla bla);
Title: Re: AGS 3.3 Wishlist
Post by: xenogia on Tue 30/03/2010 02:42:19
I would love an option to add custom properties in the AGS setup executable.  An example would be "Turn Filter On/Off" rather than doing it in-game.
Title: Re: AGS 3.3 Wishlist
Post by: ThreeOhFour on Tue 30/03/2010 12:18:19
I really wish we had the ability to change the highlight colour when mousing over text using the standard dialog gui (bottom of screen) style.

A game variable similar to game.text_shadow_color would be awesome - and it's the one colour we can't seem to change in game :(
Title: Re: AGS 3.3 Wishlist
Post by: Danman on Tue 30/03/2010 16:52:03
There is one feature I would always love. A Flood Fill to walkable area tool. I believe it would be very useful.
(When I say Flood fill I mean with only colors like just white)  Especially for Sketches
Title: Re: AGS 3.3 Wishlist
Post by: Crimson Wizard on Tue 30/03/2010 17:03:48
Quote from: Danman on Tue 30/03/2010 16:52:03
There is one feature I would always love. A Flood Fill to walkable area tool. I believe it would be very useful.
But... there IS such tool  :-\
Title: Re: AGS 3.3 Wishlist
Post by: Danman on Tue 30/03/2010 17:08:56
But for Colors only ??? . I never saw it.
Title: Re: AGS 3.3 Wishlist
Post by: Tentacles on Tue 30/03/2010 17:23:59

     I'm going to dare to be a little different here. Since I have more practice in ruby coding, perhaps maybe have a switch that turns on the ruby coding option?
Title: Re: AGS 3.3 Wishlist
Post by: Crimson Wizard on Tue 30/03/2010 17:30:15
Quote from: Danman on Tue 30/03/2010 17:08:56
But for Colors only ??? . I never saw it.
Sorry, I don't understand what you mean. Can you elaborate?
Title: Re: AGS 3.3 Wishlist
Post by: Danman on Tue 30/03/2010 17:59:48
Let say I draw a sketch out. I want only the area that I filled in red to be walkable. Like how Paint programs use the flood tool. But only to fill in that color to be a walkable area.

I got to be honest this is very hard to explain. I hope this makes more sense.
At the moment walkable areas, Hot spots, and Walk behind areas. Don't relate to the actual background.
Sorry but has Crimson Wizard pointed out. this feature does exist already.  :-[  :P Thanks Crimson Wizard.
Title: Re: AGS 3.3 Wishlist
Post by: Crimson Wizard on Tue 30/03/2010 18:10:37
You can use masks to create walkable areas in AGS. Make a copy of your background in any graphic editor, then fill needed area with blue color, other areas with another colour (e.g. white). Then save as 8-bit image, and import as "walkable areas mask" in AGS.
If you need more separate walkable areas, you can fill them with other colours, like green, red etc.
Title: Re: AGS 3.3 Wishlist
Post by: Dataflashsabot on Tue 30/03/2010 18:19:38
Requesting that you bring back the Make My Game feature, I found it very useful.
Title: Re: AGS 3.3 Wishlist
Post by: Digital Mosaic Games on Tue 30/03/2010 23:32:56
1.
It´s always annoying because I can´t script something with objects from a room in a roomscript when the Room itself isn´t open and the objects arent selected!
This should be changed.
2.
And there should be more Regions because in some cases(in my case) it is helpful to have more.

These are the things which I can think of at the moment.
Title: Re: AGS 3.3 Wishlist
Post by: monkey0506 on Wed 31/03/2010 00:23:56
@NEON:

1. You say "objects from a room in a roomscript"..The only time anything in the room script (roomX.asc) will ever be executed is when the room is loaded. If I'm misunderstanding you then..perhaps are you saying you have to open the room for editing to edit the room script? Coz you can open the room script without opening the room itself..Or maybe you're saying that to link any events to room objects you have to open the room..? To me that's no different than having to open a character's pane to link events to the character. Maybe a better suggestion in this case would be context menu options for rooms to more easily open a room for editing and select a specific item such as hotspots, rooms, walkable areas, etc. with a single command instead of having to open the room, then select the item from the drop down. I could see the usefulness of that particular idea..

2. There's ways that you can work around the existing limit such as reusing regions and checking co-ordinates to simulate new regions. If you can present a reasonable case for why you'd need more regions CJ might be able to raise that limit though..
Title: Re: AGS 3.3 Wishlist
Post by: Digital Mosaic Games on Wed 31/03/2010 13:21:20
Quote from: monkey_05_06 on Wed 31/03/2010 00:23:56
@NEON:

1. You say "objects from a room in a roomscript"..The only time anything in the room script (roomX.asc) will ever be executed is when the room is loaded. If I'm misunderstanding you then..perhaps are you saying you have to open the room for editing to edit the room script? Coz you can open the room script without opening the room itself..Or maybe you're saying that to link any events to room objects you have to open the room..? To me that's no different than having to open a character's pane to link events to the character. Maybe a better suggestion in this case would be context menu options for rooms to more easily open a room for editing and select a specific item such as hotspots, rooms, walkable areas, etc. with a single command instead of having to open the room, then select the item from the drop down. I could see the usefulness of that particular idea..

2. There's ways that you can work around the existing limit such as reusing regions and checking co-ordinates to simulate new regions. If you can present a reasonable case for why you'd need more regions CJ might be able to raise that limit though..

1. I mean when I want to script "oDoor.Visible=true" in RoomX.asc and I want my little "Script-Help-Window" which shows you if you have everything written right, I must have open the RoomX and select "Objects" that my "Helping-Window" appears.

2. Because it´s a simplerway to have more regions.
Title: Re: AGS 3.3 Wishlist
Post by: Jim Reed on Wed 31/03/2010 14:37:19
Dear Santa!

I would like a brand new toy car, and a way to make diagonal loops more customisable.

You see, as most of the games have some kind of a perspective that is not pure top-down, diagonal movement shouldn't be used in conjuction with orthogonal movement on a pure 4:4 basis. The diagonal movement should be more closer to the horizontal axis than the vertical axis. Unfortunately, not all games have the same perspective, so it would be nice to be able to chose at what angles shoud diagonal movement be used.

I hope you get my meaning, or I could provide a graphic example.
Obviously there is a coding workaround for this, so it isn't a top priority wish. But I still want a brand new toy car!
Title: Re: AGS 3.3 Wishlist
Post by: helios123 on Fri 02/04/2010 08:22:05
A very basic, template based character editor, like SSH's WalkCycle Generator (http://adventuregamestudio.co.uk/games.php?action=detail&id=720), would be a welcome addition, as it would speed up the process of character creation, especially for newbies or those who suck at drawing, such as myself.

Native Parallax Scrolling would also be nice, as I think it would me more faster than doing the same through scripts...
Title: Re: AGS 3.3 Wishlist
Post by: Clarvalon on Fri 02/04/2010 08:31:09
My wish?  That v3.2 be the last, so I'm not forever playing catch-up or concerned by feature-creep  :)
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Fri 02/04/2010 08:56:52
I agree with Jim Reed.

While I'm working on a whole new pathfinder system with a friend, I still stand by the suggestion of native support for a tool in which we can define the angles at which diagonal loops are activated.

We'd just have to place two symmetrical points down in the room editor.

Cheers,
Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: Crimson Wizard on Fri 02/04/2010 16:37:46
I have a suggestion to make "Display multiple icons for multiple items" variable a member of Character or Inventory Window instead of global setting.
Title: Re: AGS 3.3 Wishlist
Post by: Sadistyk on Mon 05/04/2010 01:19:52
A 'Width' and 'Height' properties for the 'Graphic' member of the 'Object' object.
Title: Re: AGS 3.3 Wishlist
Post by: GarageGothic on Mon 05/04/2010 04:31:18
Quote from: Sadistyk on Mon 05/04/2010 01:19:52A 'Width' and 'Height' properties for the 'Graphic' member of the 'Object' object.

The Graphic property is just the sprite slot number, so to retrieve the height/width, you can read Game.SpriteWidth[oMyobject.Graphic] or Game.SpriteHeight[oMyobject.Graphic].
Title: Re: AGS 3.3 Wishlist
Post by: Dualnames on Mon 05/04/2010 13:29:46
How about walk-to-points property (X +Y) not read only.

hotspot[].WalkToX; is as it is now, read-only, I'd love it not to be. It's not a major thing, but it could help me in certain occasions, that I skipped with a workaround.
Title: Re: AGS 3.3 Wishlist
Post by: SuperDre on Mon 05/04/2010 19:13:07
How about splitting the gamedata from the exe, and create other runtime versions (for other platforms).. especially since there are more and more other devices out there which are great for playing adventures.. How about a runtime version which let's you select the particular game you want to play (or you can even do an 'Adventure'Store much like the AppStore/android market from within the runtime), have games in their respected subfolders, and even manage stuff like updates.

Starting with Windows/linux for setting up the whole framework would be great ofcourse.

Keep the editor for .NET only ofcourse, but the runtime multiplatform (well you already got a linux port).

Another thing that would be great (and has been mentioned on the board some times) is letting AGS become part of ScummVM (well at least for the older versions so they are playable on windows too instead of dos only)..
Title: Re: AGS 3.3 Wishlist
Post by: Crimson Wizard on Tue 06/04/2010 19:03:58
Pleeeease, add zoom in slider to GUI editor, pleeeeease. I am half-blind from this goddamn computer already, and I have to bring my face close to monitor when aligning tiny controls for low-res games. Pleeeeease, I will be nagging until you implement this, oh Chris Jones.  :P
Title: Re: AGS 3.3 Wishlist
Post by: Calin Leafshade on Tue 06/04/2010 19:11:35
Stop asking for things that are minor inconviniences!

Alpha channels damnit ALPHA CHANNELS!
Title: Re: AGS 3.3 Wishlist
Post by: Dualnames on Tue 06/04/2010 19:12:55
Quote from: Crimson Wizard on Tue 06/04/2010 19:03:58
Pleeeease, add zoom in slider to GUI editor, pleeeeease. I am half-blind from this goddamn computer already, and I have to bring my face close to monitor when aligning tiny controls for low-res games. Pleeeeease, I will be nagging until you implement this, oh Chris Jones.  :P
HAHAHAHHAHA....great laugh. Now seriously, a zoom would be perfect.
Title: Re: AGS 3.3 Wishlist
Post by: Matti on Tue 06/04/2010 20:51:17
I support the GUI zoom slider!
Title: Re: AGS 3.3 Wishlist
Post by: kaputtnik on Wed 07/04/2010 23:21:23
Just a very simple suggestion that might be easy to implement and probably useful to many people: When adding a new dialog option in the dialog editor, it shouldn't be added at the bottom of the list, but either at the top of the list or at the penultimate position.

Why do I suggest that? Well, when working with dialogs, you will be adding or removing options sometimes, but the last option will (for almost all conventional adventure games) always stay the "Goodbye" option. When you're adding things after it, it will move up and not be the last option anymore, and then you have to copy and paste all the stuff.

Of course, there is a workaround for that (just adding a dozen empty options and making the "Goodbye" the, say, 14th one), but it would be more elegant that way. And what would be even more elegant: Drag and Drop dialog options. But that's probably too much to ask.

Title: Re: AGS 3.3 Wishlist
Post by: Ryan Timothy B on Thu 08/04/2010 04:32:52
Quote from: Calin Leafshade on Tue 06/04/2010 19:11:35
Stop asking for things that are minor inconviniences!

Alpha channels damnit ALPHA CHANNELS!

I always get distracted by the shiny thoughts in my mind too.  Ooh how I'd love the alpha channels.  GUI's are half supported and are riddled with issues, they don't work like layers in a paint program whatsoever.  Or I just can't figure the bloody stuff out.

I've used a 32 bit background with alpha channel on the GUI like you're supposed to, and I still can't have a button with a shadow (alpha channel) that works properly.  It would definitely be nice to know if I'm just doing it wrong somehow.
Title: Re: AGS 3.3 Wishlist
Post by: xenogia on Thu 08/04/2010 04:51:05
Here is a big one and hopefully it will be resolved, Calin I think you'll appreciate this.

"TOTAL ERADICATION OF SOUND STUTTERS" :)
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Sat 10/04/2010 00:20:12
Oh Here Here!!  :)
Title: Re: AGS 3.3 Wishlist
Post by: Shane 'ProgZmax' Stevens on Sat 10/04/2010 04:24:59
Quoteand I still can't have a button with a shadow (alpha channel) that works properly

You lazy so and so, just draw your own shadow!  Just kidding  := .  I think proper implementation of any feature is only reasonable to desire (even if CJ has a massive backlog of fixes and features).  I definitely support getting everything that mostly works to work 100% correctly (alpha channels, d3d vs ddraw visual inconsistencies, etc) and then focus on enhancements to existing editor elements like gui zoom, characters visible in room edit and so on and then totally new features, in that order.

At some point I'd also like to see strings have a user-definable size (perhaps by adding functionality like New) as I recently ran into the 500 character limit no less than 5 times while making entries for a player-readable library utility.  Separating the content into multiple strings, while completely possible and hardly a chore, just isn't as quick and efficient as placing all the pertinent data into one string.  Even when trying to re-create something like a book it's easy to go past the 500 character per page mark, so dynamic sizing is what I'd like to see ultimately applied to most (if not all) of the hardcoded limits that users most frequently dabble with.
Title: Re: AGS 3.3 Wishlist
Post by: Ryan Timothy B on Sat 10/04/2010 04:41:33
Quote from: ProgZmax on Sat 10/04/2010 04:24:59
You lazy so and so, just draw your own shadow!  Just kidding  :=
Lol. 
Yeah it's so horrible that I actually make a second GUI just for the shadowed button, since the button moves around.  So yea, I guess there is still a solution but definitely not the most desirable.
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Sat 10/04/2010 08:07:52
QuoteI think proper implementation of any feature is only reasonable to desire
Agreed. I only wish alpha was fixed for the 3.2 release. <Sighs>

Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: xenogia on Sat 10/04/2010 08:30:47
For me the only things I want fixed for the next release are as follows:

* V-Sync Full Screen issues in Directx9.
* Sound Stuttering
* Scaling Issues in DirectX5.

If they were resolved and nothing else I would be happy.
Title: Re: AGS 3.3 Wishlist
Post by: Dualnames on Sat 10/04/2010 10:39:36
Quote from: ProgZmax on Sat 10/04/2010 04:24:59
Quoteand I still can't have a button with a shadow (alpha channel) that works properly
At some point I'd also like to see strings have a user-definable size (perhaps by adding functionality like New) as I recently ran into the 500 character limit no less than 5 times while making entries for a player-readable library utility.  Separating the content into multiple strings, while completely possible and hardly a chore, just isn't as quick and efficient as placing all the pertinent data into one string.  Even when trying to re-create something like a book it's easy to go past the 500 character per page mark, so dynamic sizing is what I'd like to see ultimately applied to most (if not all) of the hardcoded limits that users most frequently dabble with.

I've never had hit that limit, but a great number of entries for the guide, where not only 500 words, and if this as a little flexible I'd have less trouble to deal with.
Title: Re: AGS 3.3 Wishlist
Post by: Peter Bear on Sat 10/04/2010 12:44:48
Hello everyone.

I admit I haven't read the 15 precedent pages.

May I ask for a "walk-to point" property for Objects
+ A "EBlock /  ENoBlock" property for the walk-to points ( hotsports and objects )
+ Sprite Editor : expand canevas ( vertical & horizontal size ), the inverse of cropping ... To work on sprite centering,  adjustment from AGS directly ...

+ as a linux user, something to get rid of the .net 2.0 framework ? ;)


I haven't met anything yet, nothing worrying ...





Title: Re: AGS 3.3 Wishlist
Post by: xenogia on Sat 10/04/2010 12:54:51
I would love a linux version of the IDE, it would mean I could get rid of Windows forever.
Title: Re: AGS 3.3 Wishlist
Post by: Sslaxx on Sat 10/04/2010 13:17:08
Quote from: Xenogia on Sat 10/04/2010 12:54:51
I would love a linux version of the IDE, it would mean I could get rid of Windows forever.
Ditto.

So what would need to be changed/altered for the .NET IDE to work with Mono? Primarily System.Windows.Forms. I'm not sure if Mono has (yet) a functional-enough clone of this to work; certainly the version of Mono the beta of Ubuntu 10.04 supplies doesn't work with it. And then you'd need to deal with, say, the .NET bindings for Allegro and IrrKlang, maybe the C-script compiler as well. And the editor still uses, most crucially, C/C++ DLLs (AGS.Native.dll). So I'd say there's a fair few issues to be resolved before it'd be even thinkable. Not sure it'd be impossible, though it might easily be not worth the effort.
Title: Re: AGS 3.3 Wishlist
Post by: xenogia on Sat 10/04/2010 13:29:14
I guess you could just continue to VM it under Linux.  For most part the latest development version of WINE plays AGS games perfectly out of the box.
Title: Re: AGS 3.3 Wishlist
Post by: Sslaxx on Sat 10/04/2010 13:30:38
Quote from: Xenogia on Sat 10/04/2010 13:29:14
I guess you could just continue to VM it under Linux.  For most part the latest development version of WINE plays AGS games perfectly out of the box.
Yeah, a VM is a nice solution, that's what I do. And no problems with AGS-made games with WINE either (WINE 1.1.42). I'm not sure if installing the Windows version of Mono via WINE would help, but I've not tried it as yet.
Title: Re: AGS 3.3 Wishlist
Post by: Monsieur OUXX on Thu 15/04/2010 08:50:19
Quote from: Ryan Timothy on Thu 08/04/2010 04:32:52
Quote from: Calin Leafshade on Tue 06/04/2010 19:11:35
Stop asking for things that are minor inconviniences!

Alpha channels damnit ALPHA CHANNELS!

Ooh how I'd love the alpha channels.

ALPHA CHANNELS!
The very last step between AGS and a full-featured, SUPER HIGH quality graphics adventure engine that would overcome Lassie, Wintermute, etc. :-)
(Please forumers don't start a conversation about the pros and cons of those other engines. Focus on the important message : A.L.P.H.A. C.H.A.N.N.E.L.S :-D)
Title: Re: AGS 3.3 Wishlist
Post by: Dualnames on Thu 15/04/2010 22:46:41
Quote from: Monsieur OUXX on Thu 15/04/2010 08:50:19
Quote from: Ryan Timothy on Thu 08/04/2010 04:32:52
Quote from: Calin Leafshade on Tue 06/04/2010 19:11:35
Stop asking for things that are minor inconviniences!

Alpha channels damnit ALPHA CHANNELS!

Ooh how I'd love the alpha channels.

ALPHA CHANNELS!
The very last step between AGS and a full-featured, SUPER HIGH quality graphics adventure engine that would overcome Lassie, Wintermute, etc. :-)
(Please forumers don't start a conversation about the pros and cons of those other engines. Focus on the important message : A.L.P.H.A. C.H.A.N.N.E.L.S :-D)
MOuXX welcome back, and yes indeed, if this is done, there's nothing more to ask!!
Title: Re: AGS 3.3 Wishlist
Post by: tzachs on Fri 16/04/2010 17:16:17
I assume it's been said in the past, but I could really use support for creating stuff at runtime: views, characters, objects, guis, etc.
oh, and alpha channels...
Title: Re: AGS 3.3 Wishlist
Post by: RickJ on Fri 16/04/2010 21:44:48
How about a universal import/export facility that would allow one to export an entire game or portions thereof to a zip archive consisting of an xml-ish collection of files.   This collection of files could possibly contain something like an XML manifest listing all game elements in the export and the file in which they are contained.  Sprites could be in PNG files, sounds/music in mp3/ogg/midi/wav formats, game and room data in separate XML files, room areas in PNG files, etc.   So what would this mean?

Backup
If the entire game was exported you could keep the export as a backup of the game and it's resources.  It could be imported into an empty game or unzipped to recover items from the backup.

Foreign Runtime Support
If someone wanted to make a runtime for another platform they would be able to do so from the exported files.  Everything would be there.  I think if this were available Clavaron's project would have been a bit easier. 

Export/Import Game Elements
Currently we can  import/export characters, GUI's and individual sprites.   To import/export other game elements it would be necessary to request CJ to add a new feature that implemented import/export of the specific item(s).  Using this method it would be possible to import/export any arbitrary collection of items desired.   Character, GUI and other standard import/exports would be handled the same way.  For example to do a character export the same mechanism would  be activated with the only difference that the default selections would already be made for the user which he could override.   

It seems like a lot of work but it is offset by not ever having to add import/export functions for specific items in the future.  It would also open the possibility of runtime support for other platforms.   Such a system would also be able to replace the current import/export and game template functions.
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Sat 17/04/2010 18:36:50
Wow I totally support this feature! It had to be asked sometime. :=

Nice one RickJ. I back that.

Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: xenogia on Sun 18/04/2010 05:34:00
I know this a long shot, but I'd really love to see 5.1 support.
Title: Re: AGS 3.3 Wishlist
Post by: Pumaman on Tue 20/04/2010 22:51:28
Quote from: Ryan Timothy on Thu 08/04/2010 04:32:52
Alpha channels damnit ALPHA CHANNELS!

What is it exactly about alpha channel support that you need? For the most part alpha channels should work fine, the main exception being some limitations on DrawingSurfaces and some quirks in the way GUIs with alpha channel controls work?
Title: Re: AGS 3.3 Wishlist
Post by: Sslaxx on Tue 20/04/2010 23:15:13
Quote from: Pumaman on Tue 20/04/2010 22:51:28
Quote from: Ryan Timothy on Thu 08/04/2010 04:32:52
Alpha channels damnit ALPHA CHANNELS!

What is it exactly about alpha channel support that you need? For the most part alpha channels should work fine, the main exception being some limitations on DrawingSurfaces and some quirks in the way GUIs with alpha channel controls work?
Is there anything stopping you fixing the GUI quirks? And proper alpha channel support with sprites would be nice (instead of asking you about it, it'd just go "oh hey, image with alpha channel, use transparency info off that").
Title: Re: AGS 3.3 Wishlist
Post by: Dualnames on Tue 20/04/2010 23:34:42
Chance of hard-coding mouse sensitivity? Or isn't that really possible without a plugin?
Title: Re: AGS 3.3 Wishlist
Post by: Ryan Timothy B on Wed 21/04/2010 00:58:18
It's mostly the whole ton of GUI quirks with alpha channels, for instance with inventory items that use alpha channel (this I haven't tried since 3.2, first release), buttons, etc.  They don't merge correctly and you have a ghostly image around it instead.  Often using multiple GUI's just to get correct looking shadows on buttons.  Where the second GUI is the button.

Like I said: unless I'm doing something wrong, those are my biggest issues with alpha channels.

Being able to use them completely with drawing surfaces and such would be outstanding for my crazy graphical ideas.

I imagine others have more information on the issues with alpha channels than I.  But it's basically the only serious thing I'd like to have working correctly, everything else is just to make it run better and easier.
Title: Re: AGS 3.3 Wishlist
Post by: Ryan Timothy B on Fri 23/04/2010 18:54:08
One instance actually, unless I'm missing something:
You can't create a dynamic sprite (with alpha set as true or false) and use DrawImage with a transparency set.  False will draw the image at a different hue of pink, and True the DrawImage won't even show up.

edit: which makes me curious how people make those rain effects... I must be missing something. Ignore that, I was being stupid.

edit2: wait, never mind.. I forgot about that issue.  I remember Mr. Leafshade being stumped on this.  I remember it not being possible to apply transparency yet..  So yes.  That's one thing I would be tinkled transparent (did ya catch that one? lol) if it was capable.
Title: Re: AGS 3.3 Wishlist
Post by: Sslaxx on Mon 26/04/2010 15:51:19
How about an item - "Notes" or "Project comments" or something - where you can store notes about the project you're working on. They wouldn't be compiled with the final game (fairly obviously), but it would make it a little easier to work on stuff in that you can refer to project notes without having to leave AGS.
Title: Re: AGS 3.3 Wishlist
Post by: Monsieur OUXX on Wed 28/04/2010 20:48:41
Something super-easy to implement :

A shortcut to move a module up or down (within the list of modules).

I have above 50 modules and it's really time-consuming to have to move the module all the way down every time I create a new one.
Title: Re: AGS 3.3 Wishlist
Post by: Shane 'ProgZmax' Stevens on Thu 29/04/2010 08:34:07
I really hadn' t paid much attention to this before, but lately especially I've realized that Dialogs really need a .Reset() option to bring them back to all their default conversation settings.  Say that you have options you are turning on gradually through the dialog like riddles, and for some reason the person fails, you have to manually go back and turn on some and turn off others until everything is back to default again.  It would be far better if you could just call dDialog.Default() (or Reset) to have it pop back to the original settings.
Title: Re: AGS 3.3 Wishlist
Post by: Alan v.Drake on Thu 29/04/2010 12:31:10
Position related audio panning, at least for characters, would be a very welcome addition. Any chance to see it implemented soon ?

- Alan
Title: Re: AGS 3.3 Wishlist
Post by: xenogia on Thu 29/04/2010 12:39:51
Quote from: Alan v.Drake on Thu 29/04/2010 12:31:10
Position related audio panning, at least for characters, would be a very welcome addition. Any chance to see it implemented soon ?

- Alan

That would be fantastic.
Title: Re: AGS 3.3 Wishlist
Post by: Calin Leafshade on Thu 29/04/2010 12:46:45
the new audio system *does* support panning but not for character sounds it seems.

However this would be possible with a little script wizardry
Title: Re: AGS 3.3 Wishlist
Post by: Wyz on Thu 29/04/2010 15:48:30
Actually, alpha channels work well the way I'm using them. Time for a new bold request then? How about pixel shaders. ;)
Title: Re: AGS 3.3 Wishlist
Post by: monkey0506 on Fri 30/04/2010 00:33:58
For character sounds you would likely just do something such as:

function repeatedly_execute_always() {
  int i = 0;
  while (i < System.AudioChannelCount) {
    if (System.AudioChannels[i].PlayingClip == aBobFootstep) System.AudioChannels[i].SetRoomLocation(cBob.x, cBob.y);
    i++;
  }
}


It might be a bit obtuse to think you would actually have completely different footstep sounds for each character though. Perhaps the easiest solution in such a case would be to manually handle playing the footstep sounds (via the script) which would allow you to have more control over them like this..but the general concept here applies to other character sounds as well of course.
Title: Re: AGS 3.3 Wishlist
Post by: Alan v.Drake on Fri 30/04/2010 13:01:02
SetRoomLocation... huh ? I'll give it a try when I get back from work.
Anyway, you could make a "Footsteps" audio type, and check that instead of the single clip.

EDIT: I ditched SetRoomLocation since it didn't pan at all.
So, I just jotted down this little script, it checks which character is moving and pans each channel playing "Footsteps" type sounds accordingly.
To use it you need to create an AudioType called "Footsteps".

It's poorly thought and written, but it works just fine.


int PanningFromPosition(int x){
int panning = ((x-(160+GetViewportX()))*10)/16; // you need to change here if you're not using 320x...
if (panning > 100) panning = 100;
if (panning < -100) panning = -100;
return panning;
}

function repeatedly_execute_always() {
int i = 0;
int j = 0;
AudioChannel *channel;
AudioClip *audioclip;

while (i < System.AudioChannelCount) {
channel = System.AudioChannels[i];
if (channel.PlayingClip != null) {
audioclip = channel.PlayingClip;
if (audioclip.Type == eAudioTypeFootsteps) {
while (j<Game.CharacterCount-1 && !character[j].Moving)  {
j++;
}
channel.Panning = PanningFromPosition(character[j].x); // SetRoomLocation does not pan
j++;
if (j>=Game.CharacterCount) return;
}
}
i++;
}
}


Still, I don't like this kind of workarounds.

- Alan
Title: Re: AGS 3.3 Wishlist
Post by: monkey0506 on Sun 02/05/2010 21:41:10
What do you mean SetRoomLocation does not pan at all? Isn't that the point of it?
Title: Re: AGS 3.3 Wishlist
Post by: Calin Leafshade on Sun 02/05/2010 22:03:52
SetRoomLocation sets the room location RELATIVE TO THE PLAYER.

so its worthless for footstep sounds.
Title: Re: AGS 3.3 Wishlist
Post by: monkey0506 on Sun 02/05/2010 22:05:52
But wouldn't setting the room location of a sound relative to a player effect panning of the sound unless the player was in an off-screen location?
Title: Re: AGS 3.3 Wishlist
Post by: Alan v.Drake on Sun 02/05/2010 22:07:46
Also the only thing it changes is the volume, not the panning.

Quote
AudioChannel.SetRoomLocation(int x, int y)

Sets the currently playing audio to be a directional sound, eminating from (x,y).
The volume of the channel will be dynamically adjusted depending on how close the player character is to the co-ordinates. Therefore, as the player walks closer the volume will increase, and as they walk away the volume will decrease.

The channel's Volume setting sets the maximum possible volume when the player is standing on the specified co-ordinates.

Pass the co-ordinates as (0,0) to remove the directional effect and return this channel to playing at its normal volume.

Title: Re: AGS 3.3 Wishlist
Post by: monkey0506 on Sun 02/05/2010 22:10:33
Okay my mistake then. I either misread or assumed wrong about the function. It would be nice to have a function to automatically induce panning instead of manually having to calculate the panning level.
Title: Re: AGS 3.3 Wishlist
Post by: hedgefield on Thu 06/05/2010 00:46:17
In XNA you can collapse different sections of the code, like if there's a lot of stuff in your "Controls" section that you don't want to look at right now, you can click the minus-sign and it will collapse.

To have something like that in AGS would be super super useful.
Title: Re: AGS 3.3 Wishlist
Post by: Wonkyth on Thu 06/05/2010 09:43:31
Yes, touching up the code window a little would be nice, with proper collapsing and such.
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Sat 08/05/2010 16:21:31
Yeah I'm all for that! Count me in!
Title: Re: AGS 3.3 Wishlist
Post by: Ryan Timothy B on Wed 12/05/2010 19:00:12
A trivial and overall unimportant request, but definitely handy:

Notepad++ has a feature that where you double click something it highlights not only the word/variable/etc you clicked but it highlights all of them in the document that share the same spelling.  It makes it much easier to navigate and understand your scripts and such.

Every time I go back to AGS after writing some PHP scripts in Notepad++ I am always catching myself doing the double click without any results.  Then I immediately say "If only AGS had this feature". :P

It also highlights braces when you're near it, without the need of pressing CTRL+B.
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Sat 15/05/2010 09:05:31
I would like to see a default character starting coords property in the room editor for when you forget or refuse to script in changeroom coords manually. Makes testing between rooms easier.

Cheers,
Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: Rulaman on Sat 15/05/2010 12:46:48
What about a FaceCharacter-Property, beside the player starting room, x and y coordinates?
So you can set your character in the staring room at x,y and face it to an direction (Left, Right, Up, Down).
Title: Re: AGS 3.3 Wishlist
Post by: SSH on Mon 17/05/2010 09:28:37
These last two suggestions are easy to script. I'm puzzled why you think CJ's limited time is better doing this than something that can't be scripted.
Title: Re: AGS 3.3 Wishlist
Post by: hedgefield on Mon 17/05/2010 21:16:27
Rulaman, I built a custom function to do that. It's not very flexible but it gets the job done. Feel free to PM me if you need help with that.

It would be useful to have it built-in, yes (and have the targeted character be dynamic, that's my biggest gripe with my own function - it only works on the PC), but I agree that it's low-priority right now.

Title: Re: AGS 3.3 Wishlist
Post by: subspark on Tue 18/05/2010 09:32:25
QuoteThese last two suggestions are easy to script. I'm puzzled why you think CJ's limited time is better doing this than something that can't be scripted.
It's more about finding what ties in well with the existing features at least on CJ's part. For us, I started this thread in the hopes that even the most remotely viable suggestions (within reason) would have a chance to be reviewed.

There's actually quite a large pool of ideas that CJ might revisit even 4 years down the track. Our thread here is a valuable source of feedback on the average user that Chris can take and implement the best logical fits with AGS. He's certainly not short of ideas. ;)

Cheers,
Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: Ryan Timothy B on Wed 26/05/2010 20:39:49
I've noticed that Objects don't have an Object.Scaling option, or Object.ManualScaling.  But scaling seems to be possible with objects already since there is Object.IgnoreScaling.

It would be nice if scaling could be manually changed on objects - right now I'm just using drawingsurface resize, but that's not as pretty with direct3D running.
Title: Re: AGS 3.3 Wishlist
Post by: GarageGothic on Wed 26/05/2010 20:59:25
Quote from: Ryan Timothy on Wed 26/05/2010 20:39:49It would be nice if scaling could be manually changed on objects - right now I'm just using drawingsurface resize, but that's not as pretty with direct3D running.

Seconded - I even suggested it myself (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=34365.msg451833#msg451833) a couple of years ago. Currently I've ended up using an array of Characters to replicate the Objects in a room, but it's an ugly workaround and as you say there doesn't seem to be any special reason for its absence.
Title: Re: AGS 3.3 Wishlist
Post by: Rulaman on Sun 30/05/2010 20:14:35
What about a function to find out if a room exists?
Game.RoomExists(int room);

e.g.

Quote
if ( Game.RoomExists(23) )
{
 player.ChangeRoom(23);
}
else
{
 player.Say("Room not available.");
}

It is extremly useful in the development time.
If you have your Roomnumbers, but not implemented it, you can prevent an error and a program termination.


Edit:
What about a new debug level, where you can set the global variables.
Like the Teleport debug.
Title: Re: AGS 3.3 Wishlist
Post by: Spire on Mon 31/05/2010 15:13:46
I apologize if this has already been mentioned, but the only thing I found from searching was from four years ago...

If 16:10 is to be supported as a native aspect ratio, then 16:9 should be as well.  I took a look in several local computer shops, and it is getting very difficult to find 16:10 monitors; 16:9 seems to be the new norm.

Would it not be possible to handle aspect ratios similar to the Monkey Island Special Editions?  That is, 16:9 is the native aspect ratio, and if your monitor is any other aspect ratio, the image is letterboxed.  I don't know about anyone else, but I don't mind the black bars at all, and it would eliminate the need to have different versions of artwork, or cropping the image.
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Tue 15/06/2010 16:32:15
Already suggested 'somewhere' but...

Properties that are editable during runtime.
We could then customize objects/hotspots/classes/etc during gameplay. Very cool.

Cheers,
Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: Monsieur OUXX on Tue 15/06/2010 16:43:48
An object type "Object", that does nothing. (not an Object as in "Object in the room's scene" - I mean an object as in "the common Object type that's in every OOP).

This would allow to add extender functions to something else than "String"


EDIT: I'm not making any sense.
Title: Re: AGS 3.3 Wishlist
Post by: Crimson Wizard on Tue 15/06/2010 16:50:28
Quote from: Monsieur OUXX on Tue 15/06/2010 16:43:48
This would allow to add extender functions to something else than "String"
You can already add extender functions to something else than String.


Quote from: Monsieur OUXX on Tue 15/06/2010 16:43:48
I mean an object as in "the common Object type that's in every OOP
:-\
C++ has no "common" Object type, yet it's still an OOP language.
Title: Re: AGS 3.3 Wishlist
Post by: Monsieur OUXX on Tue 15/06/2010 17:50:25
Quote from: Crimson Wizard on Tue 15/06/2010 16:50:28
(...)

I didn't mean to start a theoritical discussion.
But to address your points:
- Yes, you can add extenders to other objects... But then you have to carry around the data of those objects, even when you just want an empty container.
- Yes, C++ doesn't have a generic type "Object"... But alllows you to create your own. In AGS, you *have* to use the existing types when it comes to extenders.


EDIT: Cancelled my request, but for other reasons. It's really not critical.
EDIT: I'm not making any sense, I'd better shut up.
Title: Re: AGS 3.3 Wishlist
Post by: Joseph DiPerla on Tue 15/06/2010 20:01:27
Well, I will start a small list of suggestions. Really though, there isn't much to suggest, being that AGS is awesome already. Thinking from a standpoint of newbies and also from developers who really just want to develop quickly without too much coding and use of other users modules, I think the following would work well to be implemented:

*This one I had suggested back since 1999, but now I even dare offer an advancement on how it should work: Inventory background with the option of it animating. Yes, I know, you can set a back drop. But wouldn't it be better if it could just use an inventory background image, rather than using another object?

*I suggested this one in January 2009: GUI Preview window. I use mouseover images on the gui and I would like to be able to see what it looks like when the mouse is over the GUI without having to test the game. Can this be done?

*Another one from the same time period: Choosing Random idle/Blink/Thinking view. Instead of having it scripted, can we just specify multiple idle views that are comma seperated and the idle view will play one randomly? Also can we have the ability to then say how much time should go by between different views?

*Views-- Can we just have an option to copy one loop to the next? Most of the time my Right loop is a copy of the left loop just flipped. So rather than have to put in all the frames, can we just have a copy function?

*Can we have an option for a character that allows his eyes to follow the mouse? I know, its stupid, but I feel it adds better user interactivity and makes it more fun. Basically an option called "UsersEyesFollowMouseCursor?" with a true or false option. And then you just create a view as normal. Then when you move your mouse to a certain part of the screen, the characters animation will play accordingly. Basically its just to draw the loops where the characters eyes follow the mouse.

*I always make this suggestion as it would simplify room area editing: Point Plotting. You click one spot, then you click another and a line is drawn from one point to the other and you continue until the last point meets the first and then fills in the area within the points. Gimp 2 has an option like this called "Paths Tools" only its for creating selections. Basically I want that concept, but to draw and fill in area's in the rooms.

*I dont know if this is possible at all, but it is a nice feature to have. Instead of just assigning an image to an inventory object, can we also assign a view to it so we can have inventory that animates? Good for carrying cell phones that ring, etc...

*Built in paralax scrolling support.

*I personally would like to suggest Inventory Categories where you can assign an inventory item to a category such as Magic, erbs, weapons, etc...Then you can choose what category the inventory window can display. This way the character can easily have multiple inventories rather than creating another character and displaying his inventory.

*Can we have a feature where we can have a video playing in a particular region? For instance, lets say there is a tv somewhere. We just draw a region on its screen and assign a movie to play on it.

*Video Dubbing and Text. Can we dub the video sound for game translations? Also can we add Sub-titles to a video?



I know this is jumping the gun, but perhaps for AGS 3.4 or higher:

*Bring back some sort of interaction editor. I miss that thing. It made my life easier when I was working on my Simpsons game.

*Patching system-- If I created a template or game, and I update it several times, I hate to have to upload it each time, or even to have to have my users download it again. If a file is about 100 megs to download, its a pain. Especially like games we saw recently updated like "Kings Quest 1". So this is an all around good feature for the developers as well as the gamers.

*This would be very useful to me, but at the same time I can see this being a pain in the butt to code. None-the-less, I am putting it out there as a suggestion at some point. Object and character scaling that is not specific to a region or hotspot. Perhaps in the character and object editor itself add an option to enter a scale size. Even a script that will change the scale size. Helpful to use rather than editing an image and shrinking it and useful to do a Sam and Max effect where they are in a house where they keep shrinking down and enlarging and so forth.

*GUI transitions: Similar to the rooms transition, only applied to how the GUI Shows up. A particular transition would be a SLIDE in from Top/left/bottom/right to X Y (Mouse coordinates valid too).

*New screen transition: SLIDE IN (Much like the IPhone). Screen slides in from left/Right/Top/Bottom.

Thanks again for listening.
Title: Re: AGS 3.3 Wishlist
Post by: Atelier on Tue 15/06/2010 20:47:07
Really selfish of me, considering, but I think it could be useful for all people who use the text parser:

Could the word list be [optionally] organised into folders, in a way identical to the current sprite folders? That is, users can create their own sub folders for nouns, verbs, commands, adjectives, etc - or for whatever they want (words relating to cake!)

It would bring custom organisation to the text parser, which can quickly turn into a jumble, with verbs, nouns, and adjectives mixed in together as they are added. The way IDs work does not need to change - new words would still take the next free number. Something like this should be of lowest priority, but it would be a useful feature.
Title: Re: AGS 3.3 Wishlist
Post by: abstauber on Thu 17/06/2010 12:21:41
A few minor requests of mine, I hope I don't re-request too much ;)

- change hotspot names at runtime
- set /change custom properties at runtime
- folders for dialogs and characters in the editor
- *bump* refresh custom dialog surfaces

And of I course I second all the calls for full alpha channels on surfaces.
Title: Re: AGS 3.3 Wishlist
Post by: Kweepa on Thu 17/06/2010 16:08:17
Phew! It took me an hour, but I read the entire thread.
You're a repetitive lot! :=

1. Variable display when debugging.
2. Shortcut to refresh the auto complete dictionary.
3. File.WriteFloat and File.ReadFloat.
4. When changing a game's colour depth, fix all sprites and room backgrounds.
5. Since a room script has no properties, it would be nice if the room properties remained in the property pane when editing room events.
6. Sprite original size preview pane for larger sprites (maybe split the sprite pane vertically, or arrange the sprites in a larger grid).

Oh... and 16:9 and alpha channels!
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Fri 18/06/2010 01:29:12
Quote from: abstauber on Thu 17/06/2010 12:21:41
A few minor requests of mine, I hope I don't re-request too much ;)

- change hotspot names at runtime
- set /change custom properties at runtime

Lol, Abstauber! I only just re-requested those things myself two nights ago! :P
http://www.adventuregamestudio.co.uk/yabb/index.php?topic=36284.msg544464#msg544464 (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=36284.msg544464#msg544464)

We ARE a repetitive lot! Good to see most of us are on the same line of thinking though. It seems there are just some areas of AGS that we're all really seeking improvement on.
Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: Scavenger on Fri 18/06/2010 01:58:55
There's only one thing I'd ever want to be implemented at the moment:

Dumping sprite data into an array. So a 32x32 image can be dumped into image[1024] and back again. This will make pixelwise modifications, custom tinting, and palette changes a lot easier. Say, if one wanted to change every pixel in the palette to something on a blue gradient, ala Discworld I (In 256 colour!), or even to recolour or change a sprite totally. You know, some more grounded, low levels stuff. Either that, or making GetPixel a lot faster. It just seems to be more efficient to turn a sprite into a raw array. Just how slow IS GetPixel, anyway?

I got around it by making a plugin last time, but to be honest it was really inflexible and I'd like to be able to do things like that in AGS itself, rather than outside of it.
Title: Re: AGS 3.3 Wishlist
Post by: Kweepa on Fri 18/06/2010 03:12:22
Quote from: Scavenger on Fri 18/06/2010 01:58:55
Just how slow IS GetPixel, anyway?
I can do ~1.3 million GetPixels in a second. Accessing the drawing surface of a background, or accessing the drawing surface of a 32x32 pixel dynamic sprite, it's all the same.
I can do ~2.5 million int array accesses in a second.
So it's about half the speed of an array access.

(These tests were done with an unrolled loop.)

[EDIT] Gilb, my point was that GetPixel isn't slow at all. I would guess it's about half the speed of an array access on any machine.
Title: Re: AGS 3.3 Wishlist
Post by: Gilbert on Fri 18/06/2010 03:36:39
This also depends on the spec of the system running the game though.

However, I don't see a benefit in using arrays other than Get/Set Pixels, apart from easier coding. Chances are, it's equally slow in using either of these representations, as what I know is, the colour values used in AGS' colour system DO NOT match the raw graphics data (except in good o' 256 colour mode), as say there're the annoying reserved colours #0-31 and that even in 32-bit mode you can only set/get colours in 16-bit resolution (I'm actually planning to make a new thread about attempts to improve this without breaking the current system, but I don't have time yet), so when you access an element from that array it's not likely be a simple read or write from a normal array, but instead the engine has to do the Get/Set Pixel route to Get/Set the values.
Title: Re: AGS 3.3 Wishlist
Post by: abstauber on Fri 18/06/2010 08:54:17
hehe, I've just read this thread so many times in the past, I thought I could get around with it this time :D

<offtopic> Why has the issue tracker been closed? It would make a decent job as a wish list tracker </offtopic>

And to make my reply not completely pointless:

Dear wishing well, I want break points in dialog scripts :=
(which of course is also a re-request)
Title: Re: AGS 3.3 Wishlist
Post by: Gilbert on Fri 18/06/2010 13:50:03
The trackers actually has not been closed. It's just sort of abandoned and moderators who have access to update it are just too lazy to bother to do so.
Title: Re: AGS 3.3 Wishlist
Post by: edmundito on Sat 19/06/2010 18:11:52
Not a wish, but a mistake in the manual (which is why we need an issue tracker guys...)

if you look for the entry for GetColorFromRGB it says:

"(Formerly known as RawSetColorRGB, which is now obsolete)"

That's totally not true at all! :D RawSetColorRGB is a completely different function. Though in a roundabout way it replaces the functionality of it with the new drawing system introduced in 3.0...
Title: Re: AGS 3.3 Wishlist
Post by: Wonkyth on Sun 20/06/2010 11:14:59
Polymorphism?
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Fri 25/06/2010 17:59:04
Suggestion:
To avoid simpler users from confusing this with a bug,

In AGS 3.3, I would like to see better handling of mouse modes. Currently they are hard coded and we have to work around them by renaming the events in the events pane AND the script in order to customize the naming conventions. In our game, our events don't automatically line up well at all between the events in the events pane and the script.

Event: Open = PickUp() function for example

Cheers,
Sparky.
Title: Re: AGS wishlist, from Pumaman's list.. Onion skinning
Post by: barefoot on Sat 26/06/2010 11:05:09
Onion skinning... like drawing walkbehinds around and over Objects..

like walking over a steel brige with steel cables, have the object in view whilst drawing walkbehind.

-barefoot-
Title: Re: AGS wishlist, from Pumaman's list.. Onion skinning
Post by: DoorKnobHandle on Sat 26/06/2010 12:54:39
That thread (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=13482) is well over SIX years old. Is that some kind of new record on this forum? Has to be. ;)
Title: Re: AGS wishlist, from Pumaman's list.. Onion skinning
Post by: Dualnames on Sat 26/06/2010 14:24:57
Quote from: dkh on Sat 26/06/2010 12:54:39
That thread is well over SIX years old. Is that some kind of new record on this forum? Has to be. ;)

Just broken I'm afraid. :)
Title: Re: AGS wishlist, from Pumaman's list.. Onion skinning
Post by: Khris on Sun 27/06/2010 02:42:43
I want the interaction editor and the make my game menu entry back!!!!!!one
Title: Re: AGS wishlist, from Pumaman's list.. Onion skinning
Post by: barefoot on Tue 29/06/2010 08:59:29
Hi

Having a larger animation preview would be better for us with not so good vision..

and what about locking Objects...

-barefoot-
Title: Re: AGS wishlist, from Pumaman's list.. Onion skinning
Post by: Matti on Tue 29/06/2010 12:29:49
barefoot, why exactly do you dig up such an old thread instead of using the 'official' AGS wishlist? You know, it is on page one of the technical forum..

Edit by strazer:

Indeed. Split from this thread (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=13482) and merged into this one.
Title: Re: AGS wishlist, from Pumaman's list.. Onion skinning
Post by: Dualnames on Wed 30/06/2010 01:52:25
Quote from: Mr. Matti on Tue 29/06/2010 12:29:49
barefoot, why exactly do you dig up such an old thread instead of using the 'official' AGS wishlist? You know, it is on page one of the technical forum..


There's no reason attacking the guy, he searched, and probably this came up first, and he didn't see the date.
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Wed 30/06/2010 05:33:29
Yeah! Or perhaps the date *was* correct for barefoot because he was replying from the past.

Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: Jackpumpkinhead on Thu 01/07/2010 23:55:08
i didn't take the time to read all of the posts but my wishes are
a sayinbackgroud function that will animate characters
and
the ability to make characters visable or invisable
Title: Re: AGS 3.3 Wishlist
Post by: SSH on Fri 02/07/2010 02:16:17
Didn't take the time to realise that these already exist, either.
Title: Re: AGS 3.3 Wishlist
Post by: Stacy Davidson on Sat 17/07/2010 20:38:14
Kinda sad to see the widescreen issue hasn't gotten any more love.  I know AGS started as a tool for re-creating retro adventure games, but it's 2010 now and the fact is that most people are playing these games on widescreen monitors with computers that can eat 1920x1080 games for lunch.  I'd even settle for 1280x800.  I just want to be able to design a game that features high resolution graphics that utilize the full width of a widescreen monitor, because those are just about the only monitors on the market anymore.  As long as we keep making 4:3 games, we're just toying around with old school novelties that appear dated on modern computers (and I'm not bashing that in general, I just want to move forward a little more myself).

Thanks Chris,
-s
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Mon 19/07/2010 01:03:04
Yeah its unfortunate that the only widescreen support is LOW-res. 320x200 / 640x400 (16:10) I would also like to see widescreen support for higher resolutions.
Especially now that Monkey 2:SE was recently released. 8)

Cheers,
Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: Stacy Davidson on Mon 19/07/2010 03:57:47
Yeah, even without the fancy menu handling that has been bandied about.  Simple support for 1280x800 would be awesome, preferably with aspect ratio correction for those with 4:3 monitors.  Would be a world of difference for the project I'm working on now.
Title: Re: AGS 3.3 Wishlist
Post by: GarageGothic on Wed 21/07/2010 22:09:15
I barely need to mention it again, but just for the record I still second the hi-res widescreen support request. Though ideally I'd prefer to see it implemented as total resolution independence (with a predefined virtual resolution being mapped to an arbitrary screen resolution) than just another pixelwidth-by-pixelheight choice on the list.

My real reason for posting, though, is to suggest a custom read-only resource file for storing data resources that aren't managed internally by AGS (think a .vox file that isn't restricted to audio files and can be accessed using File.Open). I imagine it as a subfolder in the game's source directory where the developer can put any data files that would normally have to be stored as plain or encrypted text in the game's distribution folder, e.g. map layout data, databases, custom dialog text.  Upon compile, these resources would be stored in a single file which could then be accessed through the File functions (read mode only) - possibly by pointing it to a "folder" specified as the resource file name surrounded by some kind of special character (similar to the current "$SAVEGAMEDIR$" use). Would definitely save me a lot of cut-n-pasting of Strings and auto-generated code to script.

Edit: Wouldn't have to be String data only, since you can't run harmful external code from within AGS anyway there's nothing preventing storing other kinds of data files (pcx or bmp files, though no sure why you would do that, but more relevant perhaps other file formats that could be accessed through a plugin - e.g. for jpg support).
Title: Re: AGS 3.3 Wishlist
Post by: Chrille on Thu 22/07/2010 13:09:02
Said before, I'm sure, but I wish it'd be possible to use pointers for integers and strings.
Title: Re: AGS 3.3 Wishlist
Post by: Calin Leafshade on Thu 22/07/2010 13:16:31
for what purpose?
Title: Re: AGS 3.3 Wishlist
Post by: Chrille on Fri 23/07/2010 12:05:19
Just for keeping down the amount of code really.
Title: Re: AGS 3.3 Wishlist
Post by: Dualnames on Fri 23/07/2010 12:57:30
Quote from: Jackpumpkinhead on Thu 01/07/2010 23:55:08
i didn't take the time to read all of the posts but my wishes are
a sayinbackgroud function that will animate characters
and
the ability to make characters visable or invisable

I have to second that.

[PARENTHESIS]

YES SMARTASS. THERE ARE MODULES FOR THAT.

However it's important to state if somehow ags handled this within a non-blocking talk view, it'd be great. It's not much to ask for, it's a hell of a thing to code to sync with the plugin I'm using. That's all.

I haven't really looked on to that anyhow, but so far not a module that doesn't crash the plugin. It'd be great if it just played the talking view, or some other view would be even better like displayspeechbackground view.

Just ideas.
Title: Re: AGS 3.3 Wishlist
Post by: Sadistyk on Wed 11/08/2010 04:23:00
It would be nice to have a little more zoom to edit the rooms. I'm a little myopic and sometimes when I'm defining the walk-behind areas I have to be very precise and the current maximum zoom gives me a hard time to focus on the pixels.
Title: Re: AGS 3.3 Wishlist
Post by: Le Woltaire on Fri 20/08/2010 10:40:35
Here is my new proposal list:


Graphics & Animation:
- I remind on the subpixel rendering for scaled sprite movements with Direct3D support at 32-colordepth issue that I had started. This would be a gigantic improvement in AGS. The characters now look and move stutteringly when they are scaled at unequel levels.

- I continue to propose the import of vector sprites with solid fillings. This developement exists in the adventure culture since "Another World" and could help developers to make small sized unique games with fluid animations. The handeling scripts could be similar as the ones for Adobe Flash actionscript. It would be a really powerful tool for the whole scene.


Text Parser:
- Is it possible to export/import the content of the text parser word list into a single txt or xls file with all the word group and type info, so that it can be better distributed to translators and proofreaders?

- Can the parser words be left out of the translation files? It doesn't matter anything for the game if you translate them there from my experience. (If I'm wrong correct me.) Instead of this they have to be added in the parser list as additional translated synonymes.

- Is it possible to have multiple text parser lists. With more than 5000 words in a list it becomes very difficult to handle this. Instead one could define another list and call the list depending on the topic or function, or Language.

- In order to make lists shorter could the synonymes get + tags or folders at the side and open on click then show all the synonymes. I have four different languages in some of my games that are partially parser driven. In such a case tha parser words have to be added in another language and create lot's of word material on every word. All languages get mixed up, this is very confusing for me.

- Every time a parser word gets added all rooms get recompiled when the game is tested. Is this neccessary?

- German umlaut accents like ä ü ö and other foreign signs do not get understood by the parser. I think it's a pitty.


Rooms:
- Folders for room organization or a sort rooms by name option would be useful. There exist so many games now with more than 100 rooms. Room names can be easily changed. But if room numbers change it's a lot of confusion because the scripts don't update automatically...
In my case I am naming the rooms after the following system:
LOCATION_SUBLOCATION_TYPE_NUMBER
Example: PALACE_HALL_ZOOM_1
Sorting them by name is more useful...

- When the x,y coordinates are copied or displayed could the 320x240 coordinates be used if the script is controlled by low resolution coordinates (general setting) ? Currently always the real coordinates are displayed and have to be recalculated by head in such a case.

- An "export room maps" option would be great that exports hotspot, walk behind, regions and walkable areas to four different PNG files with the rooms name and content. This helps to remake games in higher resolutions. Otherwise when importing a new screen resolution the maps are lost... Alternative: When a new screenshot gets imported the current areas get automatically scaled by AGS on the new screens size on demand.

- Can the "fix object in postition" option be reinstalled? This was very useful when objects overlapped.

- Can selected objects in a room be positioned with the arrow keys in a pixel perfect way?


System:
- Mac users keep mailing me about mac versions for my games. Is there really no voluntary team to work out a new mac compiler?

- Can there be something like a switch between windows and full screen mode?

- Can the setup dialogue be styled in the games style?


Postproduction:
- Can there be an internal screen cast plugin for AGS that is there to generate an AVI or MOV or OGG file from the returned material in AGS? I got the experience that on high resolution games it is difficult to capture game sceenes from AGS with screen cast software. In general many times they are not able to get fluid game sceene videos.

- Can a game runner be compiled with the game on demand? Something like a small additive programm that ags spits out where setup, game start and manual or other files get accessible on a table. (I know it`s possible to script this alone and some developers did this, but it could become an intern optional part of the engine like the setup tool.)
Title: Re: AGS 3.3 Wishlist
Post by: NSM on Sun 22/08/2010 11:42:42
For me, it would be a major help if VSync was introduced for Direct3D to prevent tearing.
Title: Re: AGS 3.3 Wishlist
Post by: Calin Leafshade on Sun 22/08/2010 16:41:20
Quote from: NSM on Sun 22/08/2010 11:42:42
For me, it would be a major help if VSync was introduced for Direct3D to prevent tearing.

Give this a try http://www.adventuregamestudio.co.uk/yabb/index.php?topic=41669.msg551426#msg551426
Title: Re: AGS 3.3 Wishlist
Post by: cat on Wed 25/08/2010 13:44:37
I'd love to modify properties during execution, and also translate the values of stringproperties in the translation file.
Title: Re: AGS 3.3 Wishlist
Post by: Dualnames on Wed 25/08/2010 13:49:29
I'd love a GetTint character command. It can perhaps be used like this. cEgo.Tint(cyogurt.GetTint());

That would make me happy. It can always return the HTML color code, but that'd require lots of scripting from CJ's part, so that's more than understandable.
Title: Re: AGS 3.3 Wishlist
Post by: markbilly on Wed 25/08/2010 17:19:59
If someone has said this before, I'm seconding it. If not:

Transparency for dialog option guis, please!

Until that is implemented, TLG isn't getting released, basically.
Title: Re: AGS 3.3 Wishlist
Post by: Calin Leafshade on Wed 25/08/2010 17:44:48
@markbilly

This is possible with scripting if you are clever about it.

make the dialog option gui back color magic pink
everytime you display the dialog options (i.e before a dialog starts or after the number of options has changed):
iterate through the dialog options counting which are on and which are off
using this count you can calculate how much space the dialog gui will take up.
put a new gui being the dialog options gui with your transparency or alpha channeled image or whatever and position it relative to the space the dialog gui is taking up.
switch this gui on/off everytime you display dialog options/dont display them.
DONE!

this does work since its in Infinite Grace's next game ^_^
Title: Re: AGS 3.3 Wishlist
Post by: markbilly on Wed 25/08/2010 17:59:32
The rest is all very complicated for me but I'm sure I could work through it. The problem I have though, is this...

Quoteswitch this gui on/off everytime you display dialog options/dont display them.

A simple visible check doesn't seem to work so this would require me to put a bit of code at the @S of EVERY dialog. I'm prepared to do that but is there an easier way?

If this is off topic, I suppose it's best to continue the discussion here (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=41450.0).

EDIT: I got Mr Names on the case with this and he says it can't be done. So my request stills stands...
Title: Re: AGS 3.3 Wishlist
Post by: Knoodn on Tue 31/08/2010 15:17:45
if suggested before, I'm seconding:

what I wish is a clickable property for objects in the proberty grid. when I use objects for walkbehinds and parallax scrolling I have to set this by script for every object.

an other wish is the possibility for descriptions for global variables in the global variables pane. after working over years on a project sometimes I can't remember what I thought by declaring  variables long ago  ;).
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Thu 02/09/2010 12:00:51
Quoteif suggested before, I'm seconding:

what I wish is a clickable property for objects in the proberty grid. when I use objects for walkbehinds and parallax scrolling I have to set this by script for every object.

Well I think your sixth'ing but I agree and I'm seventh'ing

Sparky :)
Title: Re: AGS 3.3 Wishlist
Post by: xerca on Tue 07/09/2010 12:33:39
I wish to use both lip sync and looped speech views at the same game for different characters.
Title: Re: AGS 3.3 Wishlist
Post by: hedgefield on Tue 07/09/2010 20:23:31
Sorting audio, views, characters etc by name would be really nice.
Title: Re: AGS 3.3 Wishlist
Post by: redspark on Wed 08/09/2010 02:40:45
When assigning sprites to a view, could we be able to highlight all of the sprites for all of the loops and choose assign from the popup menu.  Then we designate the number of loops and then for each loop say what the direction and number of frames are.  That way we can define a complete view in one step rather than 8 assignments.  Thanks.
Title: Re: AGS 3.3 Wishlist
Post by: Buckethead on Wed 08/09/2010 15:38:24
It would be great if all assets had a re-import function. It would really come in handing when making changes to sprites.
Title: Re: AGS 3.3 Wishlist
Post by: tzachs on Wed 08/09/2010 16:26:32
I'm not sure what you mean here, BucketHead... You can re-import each sprite by right clicking it in the sprite editor and choosing replace in the context menu.
Title: Re: AGS 3.3 Wishlist
Post by: Calin Leafshade on Wed 08/09/2010 18:28:39
I think he means a 1-click 'import from original source' button
Title: Re: AGS 3.3 Wishlist
Post by: cianty on Wed 08/09/2010 20:18:16
Yes, I have often been thinking the same recently.

Maybe instead of importing the image directly there could simply be a text property where you specify the path from where to load the image and then there could be one button which will update all sprites from their paths. That would be really really useful.

I would have liked this especially when making walk cycles so all you need is to save in Photoshop, click update in the EGS Editor and you can imediately see the new walk cycle in action...
Title: Re: AGS 3.3 Wishlist
Post by: tzachs on Wed 08/09/2010 21:59:06
Ah, I see it now.  ::)
Yes, that would be very useful indeed...
Title: Re: AGS 3.3 Wishlist
Post by: cianty on Fri 10/09/2010 08:12:50
That would be the same way as with the new sound system, wouldn't it?
Title: Re: AGS 3.3 Wishlist
Post by: Dualnames on Fri 10/09/2010 10:17:15
I  was sure I begged for this as well.

http://www.adventuregamestudio.co.uk/yabb/index.php?topic=34365.msg452253#msg452253

Guess now that there's more of us, the proposition may be considered more. ;)

Title: Re: AGS 3.3 Wishlist
Post by: Buckethead on Fri 10/09/2010 12:07:44
Dual, that is not actually the same thing. In that topic you request to export sprites while I request to have a Re-import button. Also, can't you already export sprites from the sprites manager?
Title: Re: AGS 3.3 Wishlist
Post by: Dualnames on Fri 10/09/2010 13:27:57
yes, well, damn I'm stupid. :P
Title: Re: AGS 3.3 Wishlist
Post by: Calin Leafshade on Fri 10/09/2010 17:58:43
As I understand it, the sound system does this *automatically*on recompile but keeps a cached copy incase the original is moved or deleted.

So it seem a little inconsistent to introduce that behaviour unless CJ plans to do the same with sprites.

Wintermute behaves like this too.
Title: Re: AGS 3.3 Wishlist
Post by: cianty on Sun 12/09/2010 09:06:12
Another very useful (and rather easy) addition: When you create a new frame in a loop you already automatically get the next picture from the previous picture's folder. This is great. Now what I would like to see is that if the previous image was flipped, the next one should be flipped too. That would be a small but very neat addition. :)
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Sun 12/09/2010 09:30:31
Totally agreed. Little advantages like that add up to speed workflow! :)

Cheers,
Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: rbaleksandar on Sun 12/09/2010 19:30:44
I think that it'll be better if one has "Flip selected frames" in the context menu when you right-click on a selection of frames and the ability to select those you want to apply the flipping on. I'd also like a "Reverse selected frames", which will reverse the order of the selected frames (we have 1,2,3,...,n and after reverse: n,...,3,2,1).
Title: Re: AGS 3.3 Wishlist
Post by: DoorKnobHandle on Tue 14/09/2010 22:00:26
Customizable Idle Animation Speed

Please! :D

Link (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=36779.0) to a short thread.

At the moment, there seems to be no option apart from going through every frame and adding a -5 delay or something. I have 8 directions with 32 frames of idle animation each. NO WAY! ;D
Title: Re: AGS 3.3 Wishlist
Post by: GarageGothic on Wed 15/09/2010 12:45:01
Quote from: dkh on Tue 14/09/2010 22:00:26
Customizable Idle Animation Speed

At the moment, there seems to be no option apart from going through every frame and adding a -5 delay or something. I have 8 directions with 32 frames of idle animation each. NO WAY! ;D

Not to suggest that your request isn't reasonable, but as a workaround you could just set up a timer to run the animation instead of using the built-in idle mode. There's even a module for it (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=28573.0), but I have no idea if it's 3.2 compatible.
Title: Re: AGS 3.3 Wishlist
Post by: Creator on Thu 16/09/2010 12:07:44
Would it be possible to have global arrays accessable from the global variables pane?
Title: Re: AGS 3.3 Wishlist
Post by: cianty on Thu 16/09/2010 18:54:24
I think this was mentioned before but I HAVE to reiterate the need for folders in the Views collection. To me that is the single most important feature of all....
Title: Re: AGS 3.3 Wishlist
Post by: DoorKnobHandle on Thu 16/09/2010 18:57:13
There already are folders? Or what do you mean with "Views collection"?
Title: Re: AGS 3.3 Wishlist
Post by: cianty on Thu 16/09/2010 19:41:06
ARGH! I am sorry! I meant the Rooms, of course.

That's what you get when posting with a headache...  :P

Rooms would definately need folders.
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Fri 17/09/2010 16:58:07
QuoteRooms would definately need folders.
Agrees and seconds this.

Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: cianty on Fri 17/09/2010 17:33:59
I'd also love me some "switch", by the way.... :)
Title: Re: AGS 3.3 Wishlist
Post by: Wyz on Sat 18/09/2010 13:02:44
I'd love to see  native min, max and abs functions. I always end up with these in my code. ;D
Is it possible to include them as a macro? that way they will work for both floats and ints. Otherwise maybe minf, maxf and absf for floats?

I also like something I usually call clamp:
#define clamp(x,a,b) min(max(x, a), b)
Title: Re: AGS 3.3 Wishlist
Post by: GarageGothic on Sat 18/09/2010 19:16:15
I'd love to see something like Dialog.RunOption(int option), preferably without having to call Dialog.Start() first.
Title: Re: AGS 3.3 Wishlist
Post by: Rulaman on Sat 18/09/2010 20:21:30
The ability to set the loop and not only the view of animating cursors would be nice.

For example like Sierra's King's Quest 7 where the mouse-cursor changes when its over a hotspot.
If I had e.g. 20 muse cursors and it changes to the inventory item when i click in the Inventory on it. It animates/changed when i move over a hotspot.

At the moment I need 20 view for this. But an option to set the loop will decrease the needed views drastical.


Greetings
Rulaman
Title: Re: AGS 3.3 Wishlist
Post by: deltamatrix on Sun 19/09/2010 17:02:13
When will functions like setTransparency or TintScreen use a range of 0 - 255 rather than the far less accurate 0 - 100. For 32-bit games, this will be more necessary.
Title: Re: AGS 3.3 Wishlist
Post by: Akril15 on Sun 19/09/2010 22:46:41
It's a pretty tall order, but I would love it if lip-sync for LucasArts speech (http://www.adventuregamestudio.co.uk/tracker.php?action=detail&id=561) was implemented.
Title: Re: AGS 3.3 Wishlist
Post by: Wonkyth on Tue 21/09/2010 05:48:43
Oooh, I would dearly love it if it was possible to publish custom events!
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Thu 23/09/2010 08:57:14
You know, I always find it a little bit frustrating that AGS still provides 3.1 style handling for the speech audio type.
I would KILL to see full speech support become an integral part of the new 3.2 audio system. :D

EDIT:
QuoteIt's a pretty tall order, but I would love it if lip-sync for LucasArts speech was implemented.
This doesn't sound like a tall order at all. In fact, if what you say is true, I'm shocked that lip syncing for LucasArts style speech was never implemented.
No wonder I was having such a bullshit time with Pamela on my now abandoned game. ;D
Back then, I used a variety of handy Photoshop + Audio tools to make some awesome 640x400 LucasArts style character lipsync, but AGS chewed it up and spat it back out. :'(

Anyway, me hopes that the requested feature gets the attention we fellow know it deserves.

Cheers,
Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: Calin Leafshade on Thu 23/09/2010 10:41:28
I actually managed to do Lucas Arts lipsync... Only about 100 lines of code.

It's designed to parse pamela files. (although you have to rename the extension or AGS gets confused)

feel free to give it a try but its not the cleanest code in the world.


int SpeechTimer = 0;

struct SyncFrame{
 
  int time;
  bool played;
  String phoneme;
 
 
};

SyncFrame SyncFrames[50];

function ResetSyncFrames(){
 
  int i = 0;
  while (i <50){
    SyncFrames[i].played = false;
    SyncFrames[i].time = -1;
    SyncFrames[i].phoneme = "";
    i++;
  }
 
}

function TalkFrame(String Phoneme){
 
  if (Phoneme == "T") return 6;
  if (Phoneme == "L") return 13;
  if (Phoneme == "UH1") return 20;
  if (Phoneme == "IY0") return 6;
  if (Phoneme == "P") return 20;
  if (Phoneme == "R") return 21;
  if (Phoneme == "K") return 23;
  if (Phoneme == "S") return 15;
  if (Phoneme == "IY1") return 6;
  if (Phoneme == "IH1") return 6;
  if (Phoneme == "END") return 0;
  return 0;
 
 
}


function iSay(this Character*,  String what){
  ResetSyncFrames();
  if (what.StartsWith("&",false)){
   
    int firstspace = what.IndexOf(" ");
    String strnum = String.Format("%s",this.scrname);
    strnum = strnum.Substring(1, 4);
    strnum = strnum.Append(what.Substring(1, firstspace - 1));
   
    String filename = String.Format("%s.dat",strnum);
    //Display("%s",filename);
    File *PamFile = File.Open(filename, eFileRead);
    if (PamFile != null){
    bool processing;
    int index = 0;
    while(!PamFile.EOF){
    String line = PamFile.ReadRawLineBack();
      if (processing && !line.StartsWith("//")){
        int colon = line.IndexOf(":");
        if (colon > 0){
        String strtime = line.Substring(0, colon);
        SyncFrames[index].time = strtime.AsInt / 15;
        SyncFrames[index].phoneme = line.Substring(colon + 1, line.Length - colon - 1);
       // Display("%d;%s",SyncFrames[index].time, SyncFrames[index].phoneme);
        }
   
      index ++;
      }
    if (line == "[Speech]") processing = true;
    }
    PamFile.Close();
    }
   
  }
 
  this.SayAt(50, 50, 200, what);
  SpeechTimer = 0;

 
 
}

function DoSpeechChecks(){
   
   if (cLydiaTalk.Speaking){
    int i = 0;
    while (i < 50){
      if (!SyncFrames[i].played && SyncFrames[i].time == SpeechTimer){
       
        cLydiaTalk.LockViewFrame(10, cLydiaTalk.Loop, TalkFrame(SyncFrames[i].phoneme));
        SyncFrames[i].played = true;
        i = 60;
      }
     
      i++;
    }
    SpeechTimer ++;
   
  }
 
 
}

function repeatedly_execute_always()
{
DoSpeechChecks();
}
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Thu 23/09/2010 16:33:30
That code ain't messy either!

Calin, why is it that you have a solution to everything? Now I can work on Paracosmo again... YAY!

Sparky sends a big whiskery man-kiss your way! :-* Oh wha? You didn't want..? Too LATE!
I just planted a schloppy one right on your left cheek!! - Whichever one you think of first... :=

Sparx.

PS: You seriously kinda rock, dude.
Title: Re: AGS 3.3 Wishlist
Post by: Calin Leafshade on Thu 23/09/2010 17:23:17
the code will need some heavy editing to generalise it.

Currently it only works for a single character so it needs generalising but the basic idea is there.
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Thu 23/09/2010 19:16:58
Quotethe code will need some heavy editing to generalise it. Currently it only works for a single character so it needs generalising but the basic idea is there.

That's cool dude. I've already begun customizing it and filling the system out with additional features. I never would have been able to begin from scratch though.

Sparky. :)
Title: Re: AGS 3.3 Wishlist
Post by: Icey on Fri 24/09/2010 00:26:53
I wish easy online support,HD support,video(avi) to be pack with exe
Title: Re: AGS 3.3 Wishlist
Post by: Scavenger on Fri 24/09/2010 00:38:57
Quote from: icey games on Fri 24/09/2010 00:26:53
I wish easy online support,HD support,video(avi) to be pack with exe

Online support is never that easy - it's one of the hardest things to ever to be attempted in a game. I doubt adding it to AGS's core system would even make it that much easier, beyond letting the linux and mac engines [such as they are] have the same code.

And if you're worried about people spoiling the game by watching the FMVs, I'm pretty sure you can just rename the files "videoXXX.dat" and run them. Packing them into the EXE itself would be a nightmare.
Title: Re: AGS 3.3 Wishlist
Post by: GarageGothic on Fri 24/09/2010 00:55:30
Use ogg vorbis instead of .avi - no issues with external codecs that the end user may or may not have installed, and they can already be included in the compiled file.

Edit: This was in response to icey/Scavenger's post on the previous page, btw. That said, as I've suggested in an earlier post, I *do* think it would be excellent to have a custom resource file format to "hide" custom data files that could be accessed through File functions or by a module. For instance .xml vector data, text resource files, or the .pam files used by the script Calin posted (though I still think AGS should support lipsync for any style of animation internally - I can't see any technical arguments for restricting it to Sierra style overlays).
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Fri 24/09/2010 05:06:41
QuoteI *do* think it would be excellent to have a custom resource file format to "hide" custom data files that could be accessed through File functions or by a module

I've suggested this once before, but it would be totally kick-ass if AGS could allow users to customize their own data packages. A container file with a custom three-letter extension could be entered into the properties pane and on compile, the data files get encoded and dropped into the compiled folder.

I've always welcomed the idea of user customization in concert with security.

Cheers,
Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: Dualnames on Fri 24/09/2010 11:46:19
There is a very great module that Monkey made, and it had a video test demo as well, the module is called Encrypted Module 1.1 or 1.2 anyhow, the most recent one, and trust me, its very fast in both encrypting and decrypting, so you don't really have to worry about speed issues. The whole dat thing in my personal opinion is just uterrly pointless in my OWN opinion.
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Fri 24/09/2010 14:40:10
QuoteThe whole dat thing in my personal opinion is just uterrly pointless in my OWN opinion.
Oh, you mean pointless as officially supported? I can see where your coming from indeed, however CJ has always maintained a high level of security to protect project data and I personally think a data management/protection system would compliment that motive and offer better protection right out of the box.

Cheers,
Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: Dualnames on Fri 24/09/2010 14:48:29
I'm not really sure, sparks. I don't think a function offered by a complicated module, ever became part of AGS instead. And the encrypted module is in that category as well.
Title: Re: AGS 3.3 Wishlist
Post by: GarageGothic on Fri 24/09/2010 20:37:41
Encryption is only part of the issue (and in any case, AGS' own file obfuscation is lousy - most if not all Strings are searchable cleartext in the executable file). To me the main concern was the ability to bundle files of various formats in a single resource file. I'm probably just gonna add the functionality to my plugin, but it's kinda getting to the point where I'm rewriting so much base functionality that I might as well do a full AGS port.
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Sat 25/09/2010 01:14:00
My point exactly, Garage. Hit the nail on the head buddy. ;)

Cheers,
Sparks.
Title: Re: AGS 3.3 Wishlist
Post by: Akril15 on Sat 25/09/2010 01:59:16
Quote from: Calin Leafshade on Thu 23/09/2010 10:41:28
I actually managed to do Lucas Arts lipsync... Only about 100 lines of code.
Ooooh, this sounds great! I'll definitely have to play around with that code when I have the time. Thank you very much!
Title: Re: AGS 3.3 Wishlist
Post by: Ryan Timothy B on Sat 25/09/2010 12:21:27
Instead of having just IsInteractionAvailable(int x, int y, int mode), there should also be a more direct approach since I imagine the X and Y route uses this method behind the scenes anyway.

Suggestion:
Character.IsInteractionAvailable(int mode);
Object.IsInteractionAvailable(int mode);
Hotspot.IsInteractionAvailable(int mode);



Just like the currently available feature: InventoryItem.IsInteractionAvailable(int mode);

It would make things less spaghetti code with some of my stuff. Thank-you kindly! :P
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Mon 27/09/2010 11:23:14
I think having an OnRelease property to go with the OnClick one in the GUI events pane would be extremely useful.
You could effectively create a two-step function this way. For example you can click down on mouse to fade out a GUI, and then release the mouse to fade another in. ^^
It would save many lines of mouse state checking code.

Cheers,
Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: Knox on Thu 30/09/2010 17:31:39
It would be great to have some sort of "tokenize" for strings (taken from Mel scripting):

QuoteThis command will split the first string argument up according to split characters provided in the optional second argument. If this argument is not provided, tokenize will use a default split string consisting of whitespace characters. The input string is scanned for substrings (tokens) which are separated by any of the split characters. Note: tokenize does not match the entire split string; it matches any character in the string. The resulting token strings are put into the third argument which is a string array. The return value of this procedure is the number of tokens into which the original string is divided.


MEL examples
string $buffer[];
$numTokens = `tokenize "A/B//C/D" "//" $buffer`;

// Buffer will contain 4 strings, not 2: "A", "B", "C", "D"
// and $numTokens will be 4.

string $buffer[];
$numTokens = tokenize("Mildred Pierce Femme Fatale", $buffer);

// Buffer will contain 4 strings: "Mildred", "Pierce", "Femme", and "Fatale."
// and $numTokens will be 4.

string $buffer[];
$numTokens = `tokenize "testing=non-default separators" "=" $buffer`;

// Buffer will contain 2 strings: "testing" and "non-default separators."
// and $numTokens will be 2.

Title: Re: AGS 3.3 Wishlist
Post by: Calin Leafshade on Thu 30/09/2010 18:22:08
general:

Check the stringplus module. It has a very similar function based on a C# function.
Title: Re: AGS 3.3 Wishlist
Post by: tzachs on Thu 30/09/2010 23:39:38
I'm missing an "Export" button for the audio files (in the new version, this obviously wasn't a problem in the old version).
As a workaround I took the files from the AudioCache folder, but I don't think that I can count on it for the long run.
Title: Re: AGS 3.3 Wishlist
Post by: Knox on Fri 01/10/2010 16:26:04
Thanks Calin, Ill try that module out!
Title: Re: AGS 3.3 Wishlist
Post by: helios123 on Mon 04/10/2010 19:46:17
Here are some features which would also be useful. (I have not read all of the 22 pages of replies, so some might have been be repeated. Sorry about that):

Title: Re: AGS 3.3 Wishlist
Post by: subspark on Mon 04/10/2010 22:17:28
I would like to see a simple lock objects position feature for the room editor. I'm always dragging my mouse a little when selecting them and can rarely get a stationary lock on the darn things! ;D

Seriously though, it's as frustrating as a nail in the eyeball. >:(

Cheers,
Paul.
Title: Re: AGS 3.3 Wishlist
Post by: GarageGothic on Mon 04/10/2010 22:30:59
Quote from: subspark on Mon 04/10/2010 22:17:28I would like to see a simple lock objects position feature for the room editor. I'm always dragging my mouse a little when selecting them and can rarely get a stationary lock on the darn things! ;D

I agree a lock feature would be convenient, but you don't actually need to click objects to select them, just use the object dropdown menu in the room editor like you would do for hotspots or regions.
Title: Re: AGS 3.3 Wishlist
Post by: Gilbert on Tue 05/10/2010 01:59:55
Quote from: helios123 on Mon 04/10/2010 19:46:17
A for loop for use in scripts, so that for loops can be used where the number of iterations are known, (e.g. traversing an array, generating numbers from intA to intB in steps of intC), and while loop can be used for the more general case of unknown number of iterations. Also, using a for loop ensures that the loop variables are initialized, there will less cases where initialization, increment/decrement of the loop variable was forgotten.

Well, I think this has very low priority, as signified by the fact that there were 'for' loops before the overhaul of the text script system in AGS AC V1.14. So, this feature has been absent for more than 10 years now.
Title: Re: AGS 3.3 Wishlist
Post by: subspark on Tue 05/10/2010 04:40:09
QuoteI agree a lock feature would be convenient, but you don't actually need to click objects to select them
Yeah but I'm just old fashioned like that. ;)

Cheers,
Sparky.
Title: Re: AGS 3.3 Wishlist
Post by: Rocco on Tue 05/10/2010 19:23:00
Quote from: subspark on Mon 04/10/2010 22:17:28
I would like to see a simple lock objects position feature for the room editor.
I second that, today i had this issue trying to place 2 small objects at pixellevel above 1 big object.
this was a bit fiddly, but i can live with that, but i cant live with the Walkable Areas Limitation.

- So please raise the Walkable Area and maybe the Regions Limitation.
For the most issues in AGS, there are more or less convenient Workarounds,
but i dont know a decent workaround to outpace the Walkable Area Limitation.
So please - (it would be gorgeous if this could already done in AGS 3.2 last minute, cause who knows when AGS 3.3 will appear,
and i guess its not so much work,   ;D )

- a hotspot description renaming function on the fly would also be very useful (but not so badly needed as more Walkable areas  :P )


Title: Re: AGS 3.3 Wishlist
Post by: Knoodn on Tue 05/10/2010 20:00:25
Quote from: subsparkI would like to see a simple lock objects position feature for the room editor. I'm always dragging my mouse a little when selecting them and can rarely get a stationary lock on the darn things!

Yes, indeed!