AGS 3.3 Wishlist

Started by subspark, Tue 09/12/2008 03:34:03

Previous topic - Next topic

Dualnames

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!!
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

tzachs

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

RickJ

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.

subspark

Wow I totally support this feature! It had to be asked sometime. :=

Nice one RickJ. I back that.

Sparky.

xenogia

I know this a long shot, but I'd really love to see 5.1 support.

Pumaman

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?

Sslaxx

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").
Stuart "Sslaxx" Moore.

Dualnames

Chance of hard-coding mouse sensitivity? Or isn't that really possible without a plugin?
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Ryan Timothy B

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.

Ryan Timothy B

#309
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.

Sslaxx

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.
Stuart "Sslaxx" Moore.

Monsieur OUXX

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.
 

Shane 'ProgZmax' Stevens

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.

Alan v.Drake

Position related audio panning, at least for characters, would be a very welcome addition. Any chance to see it implemented soon ?

- Alan

xenogia

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.

Calin Leafshade

the new audio system *does* support panning but not for character sounds it seems.

However this would be possible with a little script wizardry

Wyz

Actually, alpha channels work well the way I'm using them. Time for a new bold request then? How about pixel shaders. ;)
Life is like an adventure without the pixel hunts.

monkey0506

For character sounds you would likely just do something such as:

Code: ags
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.

Alan v.Drake

#318
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.

Code: ags

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

monkey0506

What do you mean SetRoomLocation does not pan at all? Isn't that the point of it?

SMF spam blocked by CleanTalk