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

Messages - frogking

#1
I don't think there is anything wrong with the C# approach, it's use is
common enough that dependency issues shouldn't be too bad. It might
be advisable to use an older version such as C# 2005 express so your
dependency is to the older .NET 2.0 runtime which is bound to have
already ended up on the system for some time.

Regarding Vista / W7 security, it's not so draconion and not even
strictly speaking a security feature (it affects everyday usage more
than it hinders malicious attackers). Its main purpose is to make it
annoying to work with software which requires administrator
privileges, to force developers to write better software. So that
in the future it may actually be feasible to work with a normal
user account, which in turn increases security.

If you can avoid the need for administrative privileges, that
is the preferred way. Otherwise, the recommendation is to split
the application into an normal usage executable and a separate
configuration executable (almost like winsetup.exe except that
the latter just calls ... ). The configuration executable will then
required administrator privileges and it should contain a
manifest which states so (this means it will automatically
ask for elevation when started, without the need for
the user to right-click and use run as).



#2
Very nice, like the retro feel. The standard keyboard control is
next to unplayable for me but rotational keyboard is fine. Although it
would seem more logical if the left and right arrow keys would then
slide the ship to it's local left and right while rotation could still be
done with z/x.

I also like the in-game help. To make it perfect it could include
the powerups as well, I found the system a bit confusing even
after reading the readme.txt

BTW, if you like this kind of game you might wish to check out
xpilot at http://www.xpilot.org/
#3
Sounds like what you are trying to do *should* work. Did you try importing the sprite from file instead of clipboard to see if this changes things? Also, when you say "all in once", do you mean "Tiled sprite import"? If yes, does disabling this box change the behavior of transparency?
#4
I just had a quick look at RC 2, in particular to check out widescreen and audio.

1. The widescreen mode seemed to work fine in the sense that it still works on my 1024x600 netbook even if the option is activated (I was worried it would interfere with properly set up systems which do not squish 4:3 resolutions anyway).

2. Audio files with names instead of numbers both in file names and script: great!

3. Earlier in this thread it was mentioned that the audio files in the cache are automatically updated on compiling. I'm not sure I like this idea. Adding data to a game should have a consistent feel: If I import a sprite, it's data is added to the game, but not automatically updated when the source changes ... hmm, at least I thought so ... actually I didn't try if that happened later during compilation (in fact, I recently suggested to have an explicit reimport sprite(s) command, and an explicit reimport audio file(s) would also be nice). For historical reasons, the behavior could also be such that source files which reside under Sound and Music (or any?) subfolders within the game folder are updated automatically (after all, copying them there already had the semantics of "adding" them to the game). But it would feel strange for sounds which I added from an arbitrary location. Also, the property SourceFileName should be SourceFile to be consistent with the corresponding sprite property.

4. Others have commented on the inconsistency of having only one tab for audio. I think the strangeness comes from having each individual data item as a member in the tree. If it were more like the sprite editor you would just select audio in the tree and have a listing of all audio data in the tab, maybe with convenient play button next to each and the possibility to select multiple items, e.g. for deletion - or reimport ;) But such a GUI can always be added at a later date, in addition to having items in the tree. Even sprites could someday be listed in the tree, then.

5. Not related to anything new in 3.2 but noticed while playing around with tree and audio: Currently, opening an item as a "document" (tab) is on the same level with making its properties available in the property window (need to double-click on item). It would feel more natural if the properties were already displayed when selecting the item in the tree. So you could, e.g., quickly change the volume of a sound without needing to open the tab at all.
#5
Quote from: monkey_05_06 on Tue 01/12/2009 00:13:48
I think you might be misunderstanding the way "No transparency"/"Leave as is" work. AGS internally uses magenta (RGB 255, 0, 255) as a transparent color. "No transparency" means that any pixels with the exact RGB color of (255,0,255) will be replaced. "Leave as is" means that any pixels with that exact RGB color will be interpreted by AGS as being fully transparent.

This sounds like I thought it works, except I didn't know the internal value was fixed to (255,0,255). However, as far as I understand it, this transparent color is not (and should not be) used when the image is loaded into a 32-bit game with alpha channel support. In that case, the alpha channel is stored separately by AGS and only the alpha channel is used for determining transparency. Therefore, it is a bit confusing if the dialog offers to process the sprite with respect to the transparent color, which isn't used anyway.

Regarding 16-bit games, the alpha channel would just be another method for specifying which pixels should get the color 255,0,255 during import. The benefit of this would be that you don't have to worry about accidental usage of the transparent color. If you render a sprite with transparency from a 3d engine instead of painting it by hand, there is no guarantee that the exact color 255,0,255 occurs nowhere in the solid part of the sprite, which means "Leave as is" doesn't work reliably. Using the sprite corners is even more likely to produce unwanted effects."No transparency", of course, will also kill those parts which are intended to be transparent.

And thanks for explaining the AGS basically uses a "labelled image" internally to represent regions. This is of course also makes it consistent that clearing pixels affects all regions, and also that drawing over an existing region affects that as well. In that case, I think a "lock inactive regions" checkbox could be useful. This would allow drawing of new pixels only over hotspot 0 and clearing of pixels only for the currently selected hotspot.
#6
Quote from: frogking on Mon 30/11/2009 20:54:32
That's because you can't import 32-bit images at all. In a 16-bit game you can: the image will be scaled down and the alpha channel silently ignored.

Actually, for 16-bit games there could be a mode "Transparency from Alpha Channel" which would be the same as "No transparency", i.e. changing all pixel values away from the transparent color by a slight amount, but then writing the transparent color value to all pixels where the alpha channel indicates full transparency. Of course you don't have support for partial transparency including its anti-aliasing effect then, but it would still be a good way of using images in 16-bit games where you do not have exact control over pixel values, such as 3d renderings (or photos, but those rarely have transparent pixels).
#7
@monkey: Thanks for the detailed reply!

Quote from: monkey_05_06 on Mon 30/11/2009 19:21:30
I'm sorry, what? AGS does not allow functions to be called after only the declaration like C++, they must be defined before they can be called.

Well that explains it then ;)

Quote from: monkey_05_06 on Mon 30/11/2009 19:21:30

Quote from: frogking on Mon 30/11/2009 15:01:54o 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.

By this same logic there should be a compile-time crash for any functions which have an import defined, are never called, and are never defined. Obviously these event handlers are called internally so even if they're not defined there may not be (currently) a flag thrown for an invalid function call. I support the logic of it, but I'm not sure it's presently feasible. Might be quite a task for CJ to implement this.

I'm not sure I fully understand this and your comparison to a function which is never called. Just to make sure we are talking about the same thing: For me, specifying the name 'foo' in the GUI as an event handler is functionally equivalent to writing a call to 'foo()' in the script. The latter case rightly generates the compiler error "undefined token foo".

It's the other direction which is harder to detect: When code may reference an object defined in the GUI, as with sprites (so you get this big glaring warning box if you delete a sprite in the GUI). Although I found it strange that the sprite then gets deleted even  if there is a perfectly obvious internal reference from an animation loop or similar (and AGS already has a function to check sprite usage in the GUI). It might be useful to call this automatically before deleting a sprite.

Quote from: monkey_05_06 on Mon 30/11/2009 19:21:30

Quote from: frogking on Mon 30/11/2009 15:01:54o 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.

This is exactly the same as the existing iItem_UseInv functions only that it takes an InventoryItem parameter directly. The "normal" method of usage is just to check player.ActiveInventory. Even given your implementation though I don't see how this would prevent the need for duplication of code/logic.

The key phrase here was If an item is used on another, this would always be called for both items. That is, the engine should raise this particular event twice, once for each item. This is what the "Symmetric" hints at. Of course, the user must then take care not to accidentally implement it twice.

Quote from: monkey_05_06 on Mon 30/11/2009 19:21:30

Quote from: frogking on Mon 30/11/2009 15:01:54o 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.

There are two options that perform this function. "Leave as is" and "No transparency". Most likely if you're using an alpha channel you're going to use "No transparency". The name of the option itself might be confusing, but there's a calltip-esque prompt that tells you what it does.

Well, the prompt for no-transparency says "AGS will make all transparent pixels non-transparent" which is very off-putting if you wish to use transparency, even when controlled by an alpha channel. Even worse is the prompt for Leave as-is which says "Pixels which have transparent color will be transparent", which is exactly what you wish to avoid if your image may contain all possible color values and relies on alpha channel for transparency. I was rather worried by this. Also, none of the options are meaningful when using an alpha channel so they should at least be grayed out.

Quote from: monkey_05_06 on Mon 30/11/2009 19:21:30

Quote from: frogking on Mon 30/11/2009 15:01:54o 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.

I do get an error (at least in an 8-bit game):


That's because you can't import 32-bit images at all. In a 16-bit game you can: the image will be scaled down and the alpha channel silently ignored.

Quote from: monkey_05_06 on Mon 30/11/2009 19:21:30
Maybe this would be easier if showing the room's "Nothing" could populate the properties drop-down with everything?

Yes, getting all objects in the properties drop-down is what meant with disabling filtering. It may get a bit cluttered but you can also begin by typing the first letters of e.g. hMyHotspot. It would have felt more natural for me in the coding phase. While drawing hotspots and walk areas of course the filtering is helpful.


Quote from: monkey_05_06 on Mon 30/11/2009 19:21:30
Right-clicking while drawing areas uses the "eraser" which really just draws hotspot 0. This is the same as in MS Paint where right-clicking draws the background color. I would expect it to do this. And if you want a way to clear the current region just use the fill tool instead of line tools. Right-clicking with the fill tool reacts similarly (as expected).

Ok, your expectation is then based on better understanding how hotspot 0 is related to the background than I did ;) Still, I distrust the fill tool because with thin or disconnected regions it can be fiddly and force you to rely on the one step undo.
 
Apropos unexcepted behavior of hotspots and background: Initially I hoped I could have two overlapping hotspots with one of them always being disabled, but it seemed that the area of the disabled hotspot was always treated as background / hotspot 0?
#8
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 :)



#9
@abstauber:

Your games looks really sleek but I encountered two problems:

1.

Spoiler
After giving the bag with rodent to the dog, I couldn't get it to follow me. I got the message that I'm his friend but walking up to the dog didn't have any reaction. I restarted the game (and also tried doing everything in a different order) and it worked. I think the first time I opened the fence before leaving to fetch the rodent. I also have a savegame with this problem.
[close]

2.

I saved immediately after playing through the first arcade sequence. Now I can't load
it, the game, it always crashes with "crossfade: buffer is null attempting transistion".
I might have saved tooooo quickly? >:(
#10
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.
#11
Just when the posted comments got my hopes up ;D

But congratulations Babar!

As this was unexcepted from the reviews posted so far, it seems that more people participate in mags than I thought. I'd be curious to know the total number of votes given.
#12
Phew, finally finished all games and voted. Tomorrow I would have had all the time in the world to play them on a train ride but no internet to save me if I got stuck so it had to be today ;)

Steam Squares
Spoiler

Nice simple puzzle, but not enough to be a winner.
Also, the random start position is not tested for solvability.
[close]

Ted McBinky and his Steam Engine
Spoiler

The graphical style is not for me. Building the entire game on the one puzzle which is usually frowned upon is an amusing notion, and to its credit it has to be said it was the only game where I did not encounter a single bug.
[close]

The Chronomancers
Spoiler

I liked the setting, the train made the world feel large. The graphics worked but made for a bit of a pixel hunt. The font for Veronica was hard to read.
[close]

The Energizer
Spoiler

There was a good investigative feel,  the game felt quite
long for a mags entry. Although this was partially due to a
lot of talking which did get slightly annoying at times.

The interrogation mode was a cool feature but having three different ways of communicating is confusing (dialog, typing, note picking). The fonts in the save/restore dialog were distorted for me, and I encountered a crash.

Some puzzles I did not find logical, e.g., the lounge was supposed to be soundproof but the bagpipe was heard by susan when Mclassen was playing in the lab. The dark store room with the large window is odd in bright day light. Most safes can't be opened by a screwdriver. As for using a dangerous contraption to  reenergize a broken light bulb when three other rooms have the same lamp type ... well :P
[close]

Samarkand
Spoiler

Compact oriental mood in intro and game, good feeling. The string theory I found entertaining, the interface is simple but
sleek.

However, it was almost completely devoid of game. Only two puzzles and they were basically the same. A pity because I think this could have been a winner.

I hope I didn't just miss another ending where the shah
could be convinced of the attack (but if there were the
game should have hinted at it). Also the game did not
terminate properly for me, had to Alt-F4 it.
[close]

One of a kind
Spoiler

Nice extensive introduction. Clean graphics. Characters a tad too talkative for my taste.

Sleek GUI and inventoy system, combinable/detachable items are interesting. But I had the impression that I was swamped with items, which had two problems: Inventory window was too small, and too many possible interactions which would make sense to the player but can't all be handled by the game.

There is a walkarea bug in the lab when entering from the left.

At least one puzzle was hardly logical (if you have a key in a small glass tube on some flimsy stand, you hardly need a magnet on a string to get it).
[close]

Trial of the Schnellersparrow
Spoiler

Cool introduction, graphic style and atmosphere. Maybe the color scheme takes a bit of life away though.

The items are too small, and lacking reaction on any interactions, which makes it hard to figure out if you actually hit the hotspot. Do look up the "unhandled_event" function for next time!

It actually took me 15 minutes to figure out I could just walk through the closed door on the left :D

There was the possibility of a dead end. Featuring a flare gun is, of course, a great idea ;)
[close]

Ex Machina
Spoiler

Simple graphics but it works fine. The houses look rather boxy, though. Menu, cursor, message boxes and color scheme seem to fit consistently. Minor GUI issue: Could not return to arrow cursor in inventory, had to close and reopen.

Puzzles were rather easy but most of them fitted the story convincingly, although the magic appearance of a hammer and chisel stretches suspension of disbelief.
[close]

And I voted for
Spoiler

Ex Machina, because on the whole, it was thoroughly enjoyable, relatively bug free, and fitted the theme.
[close]
#13
@bicilotti

thanks, that was my problem

@tzachs

ok finished it with three different endings. Nice game!

Regarding the problem with the safe I either dreamed it or it went away after restarting, now I can open the safe even with the old savegame ... or should I say safegame ;)


#14
@tzachs

Yes I did, I think it may be a bug in the game which depends on the
order in which you do things (or some problem on saving and restoring?)

I now started over from the beginning and ...
Spoiler
... this time I could open the safe. Adlam is dead, I got the letter framing susan, I have 6 entries on my notes. I still can't enter Susans room through the window and I still don't know how to crack her. I ask about gun and show her the letter. The "Hint" button tells me I've got something in my notes but by now I must have tried every single word, even the silly ones.
[close]

BTW the game will crash if you use or look at notebook or note inventory item while they are being shown on screen.
#15
@tzachs

Spoiler
Yes I fixed the bulb, and I think I need to use the screw driver on the safe at some point in the game but it is not yet "the time"
[close]

And glad you like my game ;D
Spoiler
Did you try writing a log entry after the attack?
[close]
#16
4 to go ...

@tzachs: Stuck in your game

Spoiler
I know Susan has a gun but it's not enough for interrogation and it doesn't seem to be considered a valid reason for going through the window into her room. Got screwdriver and bagpipe
[close]


#17
@discordance

ok np if it was the end I'll forego the updated version ;)

@bicilotti

did you download the old version before? Try clearing your browser cache or
shift-reload or similar

@dualnames

wow, 9 games in 72 hours (and work days at that) is a lot ;)

An unrelated monthly competition I know of parallelizes the voting and the next round (i.e., entries can be submitted until end of the month, and there is always two weeks for voting at the beginning of the next month while the new competition is already underway). Such a system might encourage more people to vote. Of course, here the winner gets to pick the topic so
you'd need to invent a topic yourself once to fill the gap ;)

#18
@FSi

Spoiler
I seem to be one key short. Used up the keys from rug, safe, wolf & bush. Maybe I need the one from the blacksmith but I didn't find a way
[close]
#19
@Helme

1st hint
Spoiler
You need to find out about a place where you should go from Risa
[close]

2nd hint
Spoiler
The information is located in the open access panel
[close]

Solution
Spoiler
The name of the manufacturers planet is on a plaque, you need to use that with the star map to look it up.
[close]


#20
Thanks, found it. Unfortunately, found a crash as well:

globalscript line 53 MoveCharacterBlocking crashes while
character is disabled and can't be moved.

Spoiler
Occured in the Hotspot 1 (?) scene (jail) after
turning on the computer when clicking with the mouse
[close]

Now I too wait for the version with Save Game :P
SMF spam blocked by CleanTalk