AGS 3.02 Wishlist

Started by lemmy101, Thu 24/04/2008 14:11:48

Previous topic - Next topic

Le Woltaire

#20
I would like to mention again two points from my last suggestions for v3.01

- Could there be an additional character.asc and inventory.asc script, so that the GlobalScript.asc doesn't get messed up with all kind of character and inventory functions anymore and becomes more economic. Especially in large games with more than 50 characters the global script becomes to long. The search function in top of the global script shouldn't work alphabetically but in order of the existing functions from top to bottom. Character functions are shown on top at the moment, but more important script lines like "repeatedly execute" are shown on bottom of the list like it is now...
   
- It should be possible to sort Rooms not only by numbers but also by names:
Sometimes when a game is divided in different locations it has more than one room for each of them. They could be organized better if they are sorted by their names...

-The Preview Option for animations does not not support flipped loops. You still see them as normal animations...



Shane 'ProgZmax' Stevens

QuoteWalking cycles use many sprites, about 10 or sometimes more, and 'Import over the existing sprite' only works one sprite at a time, so, either we select one by one, or do the delete view/delete sprites/import sprites/assign to view routine again.

This is very true.  I'll often make subtle changes to an animation and then have to:

A) Delete every view that uses frame(s) from the animation

B) Delete every frame

C) Reload the animation and start again

It's time consuming, yes, and I'd certainly like a more efficient solution, but there are things I'd like to see changed that have no easy work around (blocking dialogs, for instance).

Makeout Patrol

It's a pretty minor request, but I would be pretty pleased with a character.faceHotspot() method in the vein of the character.faceLocation() and character.faceCharacter() sorts of functions. Maybe a character.faceRegion() method, too, if it's not too tough.

monkey0506

#23
FaceHotspot could be worked around if the hotspot has a walk-to point set:

Code: ags
import function FaceHotspot(this Character*, Hotspot*, BlockingStyle block=eBlock);

function FaceHotspot(this Character*, Hotspot* theHotspot, BlockingStyle block) {
  if ((theHotspot == null) || (theHotspot == hotspot[0]) || (theHotspot.WalkToX == -1)) return;
  this.FaceLocation(theHotspot.WalkToX, theHotspot.WalkToY, block);
}


An implemented function would be appreciated but not hard to work around.

Regions would be more difficult since there's no co-ordinates available and you would have to seek them out (making it slower as well).

However you could do Objects easily since those have co-ordinates given. I always wondered why MoveToHotspot and MoveToObject were completely removed altogether...

Makeout Patrol

Quote from: monkey_05_06 on Thu 01/05/2008 03:14:52
FaceHotspot could be worked around if the hotspot has a walk-to point set:

Code: ags
import function FaceHotspot(this Character*, Hotspot*, BlockingStyle block=eBlock);

function FaceHotspot(this Character*, Hotspot* theHotspot, BlockingStyle block) {
  if ((theHotspot == null) || (theHotspot == hotspot[0]) || (theHotspot.WalkToX == -1)) return;
  this.FaceLocation(theHotspot.WalkToX, theHotspot.WalkToY, block);
}


An implemented function would be appreciated but not hard to work around.

Regions would be more difficult since there's no co-ordinates available and you would have to seek them out (making it slower as well).

However you could do Objects easily since those have co-ordinates given. I always wondered why MoveToHotspot and MoveToObject were completely removed altogether...

There's a bunch of pretty simple ways to work around it, I just figured I might as well suggest it because it seems like a pretty simple change and it would make programming cutscenes go a lot quicker. Facing objects already has a character.faceObject() function, by the way, and I use it quite a bit.

Electroshokker

New tint functions:

Room.tint
Item.tint

together with the existing:

Object.tint
Character.tint

functions, I'd be able to change all screen colors any way I like. (rather then having a complete TintScreen)

This'd be killer for a night-time, day-time system. (rather then having to replace the entire background every time)

monkey0506

Well we do have DynamicSprite.Tint now so we could just do:

Code: ags
DynamicSprite *sprite = DynamicSprite.CreateFromExistingSprite(iKey.Graphic);
sprite.Tint(255, 0, 0, 100, 100);
iKey.Graphic = sprite.Graphic;


For InventoryItems. Unfortunately this requires us keeping a DynamicSprite lying around for the InventoryItems. But for rooms we can do this:

Code: ags
DynamicSprite *sprite = DynamicSprite.CreateFromBackground();
sprite.Tint(255, 0, 0, 50, 100);
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
surface.DrawImage(0, 0, sprite.Graphic);
surface.Release();
sprite.Delete();

subspark

As requested in another thread, support for luminance greater than 100% would be ideal.

Cheers,
Paul.

subspark

#28
It has just occurred to me that in order for me to create diagonal walk behinds with perspective I need to do more than a few id's with different baselines. But this is an approximation of what could be a much simpler process.

I suggest that AGS 3.02 introduces dynamic baselines that can be rotated to compensate for change in perspective.

Cheers,
Paul.

Edit:
I would also like to suggest a sound property in the regions pane of the room editor. Having to
Code: ags
ViewFrame *frame = Game.GetViewFrame(WALKING, 2, 4);
for each view is no less than a headache and could easily be managed by a simple 'footstep override' property in the regions pane. Cheers.

lemmy101

Hi CJ! Thanks for adding the sprite stuff to source control.

One problem that caused a few crashes and game corruption was I didn't realise that sprindex.dat isn't handled under source control. Could this also be added at some point?

Thank you!

lemmy

subspark

#30
SUGGESTION:
I think a 'notes' pane would be really useful. I've got so many ideas and it would be handy to be able to write them into AGS so that I can logistically implement them one by one. It would also be helpful for anyone working in a team environment so that members can read each others notes and write their own.

I also made an icon for your convenience:



MORE SUGGESTIONS:

  • The baseline for objects is never visible and can't be dragged. Could this be added?
  • The ability to hide/unhide objects via a toggle for easy comparative placement would be fantastic. Perhaps the 'visible' parameter in the object pane of the room editor could actually hide the object in the editor as opposed to just the engine alone.
  • In the room editor, assign SHIFT to lock line drawing to 90 and 45 degree angles.
  • cEgo.SayBackground(); currently doesnt support speech playback. Could this be added?
  • The ability to name loops and call them via their 'would-be' script names would be neat.
  • The Vista Game Explorer integration currently doesn't support .ico format. Theres this ugly border around my game icon where other games such as Minesweeper or Solitaire do not. Is there a way to mimick this behaviour? I've tried Vista Game Explorer Editor already.
  • The ability to run short scripts on view frames might be a useful feature. Instead of ViewFrame.Sound you would just type PlaySound(3); in the frame script. Does anyone else agree?


    Cheers,
    Paul.

    Edit: Added more suggestions.

SSH

#31
I know these'll probably go in 3.03 or whatever but I'd like:

a) A "global" search that can either search ALL scripts (including rooms?) or possibly even searches dialogues, gui, view, control, character names, too
b) A spell-checker that's clever enough to know about script and dialogue script syntax.(e.g. GNU Aspell with Ccpp Filter Mode which only checks comments and string literals)
12

miguel

Quote from: SSH on Thu 08/05/2008 12:49:02
I know these'll probably go in 3.03 or whatever but I'd like:

a) A "global" search that can either search ALL scripts (including rooms?) or possibly even searches dialogues, gui, view, control, character names, too
b) A spell-checker that's clever enough to know about script and dialogue script syntax.

Hi to all,
what about some markers on the scripts? I could use that a lot, sometimes searching for pieces of script can be hard specially the globalscipt.asc
Imagine this:
REM 1 code for opening stuff goes here
   {code
REM 2 code for blah blah
   {code
...
A pane that we could easily go to REM 1 would be great
It's obviously not a primary request.
Working on a RON game!!!!!

Gilbert

Can't you just use comments and search for the texts? Like:

//This is a comment.

/* This is a comment, too.*/

subspark

I have to agree here. If your not commenting your code, how can you or anybody else keep track of what everything does?

Paul.

Rui 'Trovatore' Pires

Very easily, speaking for myself. Judge not.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

SSH

Following the KISS principle, it probably makes more sense to turn code that does different stuff into different functions, at which point the function dropdown will fulfil your needs.
12

miguel

Quote from: Gilbot V7000a on Thu 08/05/2008 14:35:28
Can't you just use comments and search for the texts? Like:

//This is a comment.

/* This is a comment, too.*/

I do comment my script and never said I didn't, but I would like to have access to parts of it quickly,
As you know, a function can have hundreds of lines and looking for it can be exhausting.
Adding a mark on line xxxx could really help.

Working on a RON game!!!!!

DoorKnobHandle

Then just do it like this:

Code: ags


// TODO: add real value
Wait ( GetGameSpeed ( ) );



Now press CTRL+F and enter the mark-ID "TODO" for example and it'll always take you there.

miguel

Sorry to have wasted your time,
ignorance makes a man blind,
looks like it was a simple thing to do.

thanks dkh, it will help me a lot.
Working on a RON game!!!!!

SMF spam blocked by CleanTalk