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

#1
Hi there,

I'm trying to vote for a couple of games but keep getting the error message: "You must select an option in each listbox.", even though I have indeed selected all options (except entering a comment, but that's supposed to be optional).

Is this just me or can no-one vote?
#2
I've been playing The Neverhood, mostly a great game, but I came across the most infuriating puzzle, and want to vent :)

So there is this sequence of weird symbols you have to enter. The answer is on some other part of the world, to get there from the place where you actually use them you have to go through a million hoops, but that's besides the point.

The symbols you enter come one by one, and cycle slowly. Very slowly. You have to click when the right one shows up, and wait an eternity for the next one to come up. There are 12 symbols to enter - each attempt at entering the sequence takes 3-4 minutes. There is no way to speed it up. You can't make a mistake, or you start over from the first symbol. You can't save mid-sequence. And to top it off the sequence to enter is not straightforward, even with hints it took me 3-4 tries... ARGH!!!


Ok I've calmed down now. Does anyone else want to share their least favorite game puzzle?
#3
Hi everyone, this is my first (public) AGS Module.

Download here
Mirror (Thanks Candle!)

It gives you the ability to run a particular script on a given frame of an animation. I wrote it to address this in the bug tracker. I thought it might be useful (plus Wintermute has it, so AGS should too  ;D ).

Please let me know if you find any bugs!


// ************* AGS MODULE: Animation Run Script *************
//
//    This module allows you to run a piece of script on specific frames
//   during an animation of a character or an object.
//
//   Example uses:
//      * Make a blinking light change the tint/light level of the player.
//      * Say you have a trap like rotating knives. You can check for contact
//         with the player and inflict damage/kill him.
//      * Play more than one sound on a specific frame of animation.
//
//   Usage:
//      In game_start, insert calls to ars_AddCharacter (see below).
//      In "Enter Room (Before Fadein)", insert calls to ars_AddObject (see below).
//      Edit the ars_RunScript() function and put in your code.
//   
//


#4
The animation preview is really useful, I especially like how you can change things in the animation while the preview is running!

But, as the subject indicates, I was thinking that having sound play during the animation previews would be a really great addition. It would be very useful when trying to time footstep sounds, for example.

Also, I was wondering if there is a way to change the game speed used for the preview. It seems to be 40 frames per second by default, but if a game used a different value it would be handy to change it in the preview.

Thanks!
#5
Hi,

I am making a verb coin GUI and have 3 buttons of non-rectangular shapes. I use transparency (the magic pink color) which works fine for the display, but the mouse acts as though it is over the button even when the pixel is transparent. Is it possible to make these areas non-clickable?

Thanks!
#6
Hints & Tips / The strange day
Mon 23/10/2006 05:49:17
Hi, I'm trying out this game (demo?) and I appear to be stuck at the very first puzzle. There is a locked bike, and I can't get the key. I suspect it is in the drawer, and that is as far as I got. I have a lot of books + a towel (don't forget your towel!).

Help?
#7
Hi,

I'm having trouble understanding how to use the plugin function SetSpriteAlphaBlended properly. Here is what I am trying to accomplish:


  • 1.  Import sprites in 32-bits, with alpha channel (the sprites have anti-aliased edges).

  • 2.  In rooms where the walkable area scaling is different than 100%, I would like the sprites to be displayed as though they had been imported without an alpha channel. The area around the edge, with opacity < 100%, becomes black. The rest of the sprite is scaled smoothly.

  • 3.  In rooms where the scaling is 100%, the sprites are drawn normally, that is, using the alpha channel. This keeps the edges looking nice.

I have tried using SetSpriteAlphaBlended on the sprites that were imported in the editor, and as the documentation says the result was unpredictable. The same sprite, if switched from blended to not blended, would appear differently at different times. As well, the non-alpha blended sprite was not scaled smoothly.

I was able to get something working by copying the original (alpha) sprite to a dynamic sprite, and using SetSpriteAlphaBlended on this. However this requires copying ALL the character sprites, so it is a little clunky and uses up memory.

Is there a way to do what I describe directly, or could it be added?

Thanks!
#8
Like the post subject says, it's a pretty crazy idea, but has anyone though of putting flash animations in AGS (somehow)? I've never done anything in flash, but the vector animation makes it look nice and smooth, without having to draw 1000000 sprites. I don't imagine actually integrating the two would be possible, but maybe exporting the animation for use in AGS?

Thoughts?
#9
Hi,

I have a suggestion for the editor that hopefully would be pretty simple to do :) :

1. When a mask for a particular area or the background image is imported, save the path to the file with the room.
2. A "Re-import mask" button would import the mask again using this path.
3. Perhaps a menu option for "Reimport all" could import all the masks and the background in one click.

The idea here is to make it a one-click operation to update a background/mask. I am working on a program (might become an editor plugin) which would automatically make masks out of a photoshop document. Clicking one button to re-import everything would make it a piece of cake to change a room.

Alternatively, if the COM plugin interface could do this, that would be even better. As it stands there is not even any access to the rooms (like getting the name, etc.).

Thanks for listening!
#10
Hi everybody,

Check out the latest "comedy goldmine" on somethingawful.com:
http://www.somethingawful.com/articles.php?a=3749

I thought it was really funny! Am I the only one who thinks this could be a cool concept for an adventure game?

#11
I've scripted a customized "walking" cursor using the Usermode1 cursor - this allows me to have an interaction when clicking "Walk" (my own walk) on a door, for example. It works well, I can have the cursor change into an arrow, and I have it so double-clicking instantly changes room.

Now, the problem is that if I click "Walk" on something that happens to be a hotspot with a walk-to point set, then the character first automatically walks to the walk-to point, and then walks to where you actually clicked.

So I would like to know if there is a way to disable the automatic walking-to function for a specific cursor mode (other than just look). Or, failing that, disabling it for all cursors, in which case I could take it over with scripting.
#12
Hi,

I would like to suggest allowing several parameters to the run-script command in dialogs, say, four or five integers. The way I would use it would be, for example:

run-script 101, 2, 5

where 101 is a command ID, say that here this is to change the expression used in the speech view;
2 would be the character ID;
5 would be the loop to use.

an other parameter might allow for a delay before changing the expression, etc. All the parameters (other than the first) would be optional. With many parameters, it makes it possible to do a lot from within a dialog script with much less code, and in a much more maintanable way.

Thanks!
#13
Hi everybody,

I found this interesting program called Magpie that is used for synching lip movement to voice:

http://www.thirdwishsoftware.com/magpiepro.html

It is similar to the Pamela program, but more powerful. It is commercial (and expensive :( ) but there is a trial version to play with. The Pro version in particular has a really cool feature: automatic lip synching! It evaluates from the speech file where the phonemes should go, and it looks like it's right 95% of the time or so, depending on the recording quality.

The output of Magpie Pro is not directly compatible with AGS, because AGS expects a Pamela-format file. So I've made a custom file export script for Magpie. By placing this file:

http://www.dmgenie.com/ags/export-pamela.lua

in your \Magpie Pro\Scripts\Export\ folder, you will be able to export directly to a format readable by AGS.

Anyway, I hope this comes in handy for some people. It's a pretty neat program, I think it's worth checking out the trial version.


...


Since the script is short and my link may not be valid forever, here is the script code directly, for future reference:
Code: ags
export = {}; -- create a new export object

-- return label
function export:label()
	return "Pamela";
end

-- return category
function export:category()
	return "2D";
end

-- return argument list 
function export:options()
	groups = {};
	for a,actor in magpie.getactors() do
		for g,group in magpie.getgroups(actor) do
			table.insert(groups, group);
		end
	end
	return { 
		{"group", "Group", "choice", table.concat(groups, "|")},
	  	{"moho_output_file", "Output File", "output_file", "Pamela files (*.pam)\tAll files (*.*)"}
	};
end

-- perform the export
function export:run(from, to, options)
	-- create an array of all the poses that are being exported
	poses = magpie.getposes(options.group);
	
	-- open output file
	fd = io.open(options.moho_output_file, "wt");
	if (fd == nil) then
		return string.format("could not open '%s'", options.moho_output_file);
	end
	
	-- write header line to file
	fd:write("[speech]\n");
	
	-- write data to file
	oldk = "";
	for frame = from, to do
		k = magpie.getgroupvalue(frame, options.group);
		if (k ~= nil and oldk ~= k) then
			fd:write(math.floor(frame*360/magpie.getframerate()) .. ":" .. string.gsub(k, "[^%.]+%.", "") .. "\n");
		end
		oldk = k;
		
		-- update progress bar in main window		
		magpie.progress("Exporting...", (frame - from) / (to - from));
	end

	fd:write("\n");
	fd:write("\n");

	magpie.progress("", 0); -- close progress bar
	
	fd:close(); -- close output file
end
#14
This is just a tiny suggestion, hopefully it's easy to do but if not it's not very important:

When I use the script editor, I tend to press Ctrl+S often to save the script. It's a reflex from working in Word and other code editors. It would be nice if that shortcut did save the script (without closing the editor, as suggested here: http://www.adventuregamestudio.co.uk/tracker.php?action=detail&id=324).

Right now, it seems to delete the last thing you wrote down, with no undo  :o, so I end up pulling my hair out each time I accidentally press Ctrl+S. Even if it didn't save, if it were changed to not do anything that would help prevent my premature baldness ;)


Thanks!
#15
Hi everybody,

I am in the slow process of planning to make a "real" game - I've got a partial story in mind, characters are being fleshed out, etc. But I'm finding that I have a lot of trouble making even basic decisions for the game design  :P. Things like:


- Resolution: I know I want 32 bit color, and high resolution. But is 800x600 worth it? I get 100+ frames per second on my computer, but what about older ones?

- Speech views: Lucasarts-style, or Sierra portrait-style? I like the idea of the portraits to show changing expression.

- Scaling of the character sprites: I'm thinking something like 1/3 of the screen height at the chosen resolution... Too big bloats the game size; too small means possibly scaling UP a character which is usually ugly.

- Even the game engine to use! I really like AGS, but wintermute, with the hardware acceleration, gets much higher framerates (like 600 fps (!) for the demo, which runs in 800x600).


I know these decisions are ultimately personal ones, but I'd like to hear what your opinions are on the subject; say if you made a game with one resolution, did you end up wishing you had gone bigger/smaller?

Toughts? Comments?
#16
The problem: 32-bit sprites with alpha channel don't get anti-aliased (smoothed) when they are scaled. I think that this is an old issue, but I could not find anything in the bug tracker, so perhaps it had slipped through the cracks.

I think it would be a great addition : my character sprites have an alpha channel for smoothing the edges and also for their shadow - it looks great, but when scaled down, the body of the sprite suffers a lot from the aliasing. When I make the same sprite w/o the alpha channel (24-bit color), the body looks great scaled, but the edges are not as nice and the shadow can't be done :(

If it makes it any simpler, the alpha channel itself really doesn't need to be anti-aliased - I mean that a nearest-neighbor rescaling algorithm for the alpha + bilinear blending for the color channels would give great results.

Thank you CJ!
#17
I am trying to make a plugin where you can control how much sound plays in the left/right speakers (to make the effect of sound shifting from left to right as you pass by). I am using AGS 2.71.624 (beta)

The code I used is:

Code: ags

engine->RequestEventHook (AGSE_AUDIODECODE);

// and

int AGS_EngineAudioHook(int channel, char *buffer, 
						int len, int freq, int bits, int stereo)
{
//Rest of code goes here
}


But I get a message saying "Error: Plugin requested AUDIODECODE, which is no longer supported". I don't quite get it, the AudioHook seems to have been introduced not so long ago, (v.2.61), and it is still in the plugin documentation - why is it not supported anymore? Is there another way to use AGS_EngineAudioHook in the current version?

Thanks!

#18
Hi,

I'm trying to code a script where the brightness of the player changes smoothly with position (getting closer to a light source and such). So, instead of using a region's LightLevel, I am using the Character.Tint function call. But I can't get it to do what I want (that is, no color change, just a luminance change).

The game is 32-bit color, the sprite was also 32-bit with alpha channel. Here is what I have tried (LuminanceInt here varies from 0 to 100 depending on position of the player):

player.Tint(255, 255, 255, 0, LuminanceInt); //No change at all
player.Tint(255, 255, 255, 1, LuminanceInt); //No change at all either
player.Tint(255, 255, 255, 100, LuminanceInt); //The lighting works as intended - but all colors are gone!
player.Tint(0,0,0, 0, LuminanceInt); //No change at all
player.Tint(0,0,0, 1, LuminanceInt); //No change at all
player.Tint(0,0,0, 100, LuminanceInt); //Again, the luminance changes but all colors are gone.
player.Tint(0,0,0, 50, LuminanceInt); //Works half-way: Half the color is gone, and setting Luminance to 0 is only half-brightness.

This does not seem to correspond to the manual:
QuoteThe LUMINANCE parameter allows you to adjust the brightness of the sprites at the same time. It ranges from 0-100. Passing 100 will draw the sprites at normal brightness. Lower numbers will darken the images accordingly, right down to 0 which will draw everything black.

Any ideas? Am I missing something?
#19
Hi,

I'd like to suggest a small change to the interface, in the left-side tree. Here is what I have in mind:



Basically, instead of clicking Areas on the tree, and then selecting one of the 4 types of areas, we could click directly. Nothing else in the interface would need to change, and it would save a bit of mouse movement and clicking.

Thanks for listening!
#20
Hi,

I just wanted to float a little idea I had recently: it seems that a common problem in making backgrounds is getting the perspective right. So, how about using one of the home design programs as a base? There are programs like 3d Home Architect (or there may be newer versions with different names), wherein you place walls and furniture and you can do a 3D render. Using the render as the base on which to draw your background, you'd be assured to get perfect perspective.

Plus, this could be a good tool to make a reasonable layout of interior scenes. And if a piece of furniture/object/etc. is not available in the program, well you can just draw it in.

I hope this helps some people :)
SMF spam blocked by CleanTalk