Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - frogking

#1
About a month ago I created my first game using AGS for the October MAGS competition and I scribbled some barely readable notes whenever I encountered something which I found confusing or which didn't work as I expected. I thought feedback like this can be helpful for developers even if some of the issues may already have a solution I don't know about. Don't treat it as a list of complaints, I think AGS is a cool product ;) I used AGS 3.1.2.


Development Environment

o The new game wizard should provide a browse button to
  select the target directory for the new game. It might also
  be useful to direct the user to the "General Settings" page
  after creating the game.

o It should be possible to reopen a previously edited game
  from the file menu (File > Recent > ... ?) similar to the
  way you can do on AGS startup. Also, creating a new game
  should be possible from the File menu for completeness.

o It would be nice to be able to toggle break points just by
  left clicking in the gray area between the line number and
  the beginning of the line.

o People often seem to accidentally release debug versions at
  least for quick MAGS games. Actually, "debug mode" is more a
  build setting than an actual game setting. Maybe there could
  be commands like "Build Debug Version" and "Build Release
  Version" in the menu instead which would output to different
  subdirectories.

o It would be nice to be able to force-edit script files while
  testing the game (at your own risk, knowing that the debugger
  may no longer show the correct line numbers). This allows
  to fix small things like typos in message without having
  to write them on a list or abort testing.


Scripting Language

o A ternary operator would be nice, but is of course syntactic sugar.

o Calling a global function from a dialog script did not seem to
  work for me (but I may have been doing something wrong).

o I had the impression that the global script does not import
  the global header (so within the global script a function name
  is only known if it occurs at an earlier time in the script).


Event Handling

o When compiling the game, there should be an error if an
  event handler has a function name set which does not exist,
  just as for functions called in code. Currently this seems to
  needlessly crash at runtime.

o It would be convenient if the InventoryItem had an event
 
    UseInvSymmetric(InventoryItem* otherItem)

  If an item is used on another, this would always be called for both items.
  So you only need to implement one for combining two objects.

o Also, I fell into the trap of having no reactions for some interactions
  although I implemented unhandled_event. This of course happens if you do
  handle an event but then have some condition inside the event handler
  for this interaction to have the desired effect. I solved this by
  adding code like "else {unhandled_event(5,1);}" but it is a bit
  cryptic and the event type is actually already known by the
  engine. Maybe a built-in function "treat_as_unhandled_event()"
  could be added.

o Also, regarding unhandled events, it might be more forgiving
  for the player to give the negative response immediately instead
  of first walking up to the hotspot as if something was happening.
  Maybe this could be a game option under "Character Movement":

    "Do not walk to hotspot for unhandled events"


Sprite Handling

o It would be nice to have a "Reimport Sprite(s)" command which
  simply reloaded the selected sprites from the filename stored in
  the SourceFile property. This allows to edit multiple sprites
  with an external editor and then updating them in AGS without
  having to browse to each (in my case I was generating *lots* of
  frames for animations from a 3D source and I found it to be less
  painful to simply delete the old sprites and recreate the
  animation loops than try to replace the sprites from file).

o When importing a sprite with an alpha channel, you first get
  a message box asking you whether to use the alpha channel. Then
  the normal sprite import dialog opens which includes the normal
  transparency options. This is a bit confusing for the user. I
  would recommend to include "Alpha Channel" as an option in
  the "transparent colour" combobox and select it as default if
  the imported image has an alpha channel. This would make it
  more clear what happens and it saves a click too.

o A warning might be displayed within the dialog if the imported
  image has an alpha channel but the game is not configured to be
  32-bit color.

o Furthermore, the alpha channel did not seem to work for
  inventory items within the inventory window. Pixels with partial
  transparancy were tinted with black instead of the actual
  background color. So I had to use a black inventory window ;)


Room editor

o The "Show this room's" combo box in the room editor and the
  object selection combo box in the property window are closely
  coupled but very distant on the screen. In particular, it is
  a bit confusing if you come from scripting just to add a few
  event handlers to some objects, because the objects don't
  appear in the property box unless you also select the
  correct region type on the other side of the screen.

  Maybe the following functionality would be helpful:

   In the property window, add a check box

     "Filter by currently displayed region type"

   If this is disabled, the combo box could show all
   objects. If an object is selected which has a different
   type from the current display settings, automatically
   change the display to the type of the new object.

o Clearing areas (drawing with right mouse button) seems to affect
  all regions while drawing only affects the currently selected. This
  is somewhat counter-intuitive. Also, if this is desired for some
  reason, there should at least be an easy way to completely reset
  or clear the current region without affecting other regions.
 
o A brush size / line thickness for freehand drawing of regions
  would be nice. Sometimes 1 pixel is a bit restrictive.


GUI editor

o This could do with a "grid" for placing components or at least a small
  delay after a click before it can be moved. I routinely moved GUI elements
  by accident for 1 pixel when I just wanted to select them.


Music / Sound

o If you delete the last piece of music, the old music.vox
  should be deleted when compiling. Currently it sticks around.

o It would be nice to give sounds names instead of numbers.


Site

o I didn't find the documentation for [ hide ] [ /hide ] in the forum documentation
  where the other tags are documented.



And congratulations for reading this up to the end :)



#2
This was my entry for the October 09 MAGS with topic "Steampunk" and incidentally also my first AGS game. Most people who commented seemed to enjoy playing it so I thought I'd post it here as well. It seems fitting to post it shortly after the release of a real Star Trek AGS game, too ;)



Download

Features

* 640x480 32-bit graphics rendered using POV-Ray
* Inappropriate violence (non-graphical)
* Misguided sense of humor

It's very short though.
SMF spam blocked by CleanTalk