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

#21
When we right click (default verb action is look) on a hotspot, the character moves to the hotspot walktopoint regardless of the toggle in general settings.
If there is no walktopoint, the character remains stationary as it is supposed to.

Cheers,
Sparky.
#22
Hi guys, for a long while now the older AGS games simply wont run. Even compiling with 3.2 and running under DirectDraw5 will just blank out.

Symptoms:

  • Running full screen just ends up in a silent and frozen black screen in which I have to end the process through the Task Manager.
  • Running in windowed mode simply draws an empty window where the desktop will show through from behind.

    This is most distressing and I'm surprised that no one else has complained or reported this problem.
    I can simply ~not~ run any game using DirectDraw.

    This is the same on all four of my machines including a 5th (a laptop).
    One desktop is running Win 7 where the other four machines including the lappie are running Vista SP2 (DirectX 11)

    Can anyone else validate and reproduce this issue?

    Cheers,
    Sparky.
#23
Dear AGS'ers, I'm trying to convert the old style coding for audio to the new format.
I have no clue where to begin. Ags tells me that I can't convert an AudioClip to an int which makes sense but its been so long away from scripting I've lost my touch.

This is my current code (old format):
Code: ags

function room_RepExec()
{
  //===== FOOTSTEP SOUNDS =====//
  ViewFrame *vf;
  int fstep, idle, norm;
  if (Region.GetAtRoomXY(player.x, player.y) == region[2]) {
    idle = footstep2Bfx; norm = footstep2Afx;
  }
  else {
    idle = footstep1Bfx; norm = footstep1Afx;
  }
  while (fstep<8) {
    vf = Game.GetViewFrame(EGOWALK, fstep, 0);
    vf.Sound = idle; // idle footstep
    vf = Game.GetViewFrame(EGOWALK, fstep, 4);
    vf.Sound = norm; // regular footstep
    vf = Game.GetViewFrame(EGOWALK, fstep, 10);
    vf.Sound = norm; // regular footstep
    fstep++;
  }
}


As you might see, its a little dated. Anything I'm missing that I need to add in order for this function to work with the latest incarnation of AGS?

Merry wishes,
Sparky.
#24
Advanced Technical Forum / Bink Video Support
Tue 15/12/2009 19:45:32
We use Bink a lot in Unreal 3 and also use it in our own proprietary 2.5d engine. It removes a lot of the overhead that comes with installing many of the other codecs out there such as distributing the right codec version with the game, game-incompatible codec updates, and many other obvious drawbacks that users have experienced so far.

Many game engines use Bink Video because of the following advantages and features as listed on their website:
http://www.radgametools.com/bnkmain.htm

All about Bink!

• Bink videos look amazing! Bink can scale its data rate from 1200 kps for 1280x720p videos down to 75 kps for Nintendo DS videos. Bink will always make the best possible video for your data rate.
• Bink's SDK is simple and powerful. Your game is always in control - there are no callbacks or other difficult-to-debug constructs. Using Bink is like using a codec that you wrote yourself.
• Bink is completely self-contained - it needs no special system software, it needs no other audio codec, it needs no other surrounding architecture. Just one small library and you are good to go - there are no external installation or dependencies.
• Bink is super, super fast. In some cases, up to 10 times faster than other modern codecs. It's fast enough to use for in-game videos, as well as cut-scene videos.
• Bink uses as little memory as possible. In some cases, up to 16 MB less than other codecs. You don't have to worry about a simple video codec hogging all your memory.
• Bink runs on every platform. You can use the same API and data files on 14 different platforms.
• Bink runs on most game engine middleware natively. Epic supplies pre-written Bink support for the Unreal Engine, for example.
• Bink has a VBR psycho-acoustic based audio codec capable up to 15:1 compression built-in. You don't need to license another codec for your audio.
• Bink can play many audio tracks at once - this allows the playback of 5.1 and 7.1 sound tracks (on supported platforms) as well as optional language tracks where you can turn on and off a language based on the system setting.
• Bink runs on every game platform and is customized to take advantage of each one. It uses SPUs on PS3, VMX on Xbox360, SSE 2 on x86, massive assembly optimizations on Nintendo DS, etc.
• Bink includes sound support for every platform it supports. We have 16 different modules for sound playback on the various platforms.
• Bink is super robust. The fact that it ships in so many games makes it better and better - it just doesn't crash. Bink can also handle bad input data - it just keeps chugging along until the input data gets better again.

The Nintendo DS example is particularly exciting to me because of all the full-screen animated video effects in our 320x200 game.
For us, one word describes Bink: transparency

For our adventure, we want our video's to be transparent in file size and totally transparent as video, blowing the player away with its undetectable compression.
At the same time we want the player to be able to just install the game and run it making the codec installation process transparent to the player.
Bink also works in conjunction with other full/partial screen effects including pixel shaders and script-originated effects (flashlight module). Again, transparent integration into room interactions and events.

The license is $6000 USD however I for one would be glad to chip in $300 bucks, CJ. If enough of us jump on the bandwagon we could cover the license fee rather quickly.
In any case, I really believe Bink would be a great fit with today's AGS.

Cheers,
Sparky.
#25
Hey there. I've got a SCUMM game going and noticed that when I set my walk to points in the room editor, the action defaults to a blocking one.
Would it be a drama to add a blocking/nonblocking toggle below "WalkToPoint" in the properties pane?

I've coded around this with a semi-blocking function for now.

A more elaborate suggestion would be to make semi-blocking events trivial to set up in a future versions of AGS. Is this something you would consider doing in the near future, CJ?

Cheers,
Sparky.
#26
Hey folks. I'm trying to create a repeating random timer that runs the following code anywhere between 45 to 70 seconds each time.
Code: ags
oIdol.SetView(IDOL_SPARKLE, 0, 0);
oIdol.Animate(0, 1, eOnce, eNoBlock);


I must admit I'm a little clueless on how to approach this.

Cheers,
Sparky.
#27
I'm not sure how long Hq3x has been in the AGS DirectDraw5 rendering system but I beleive it and other perhaps more sophistocated scaling algorithms are due to make their way into the DirectX9 rendering mode.

Such filters as:


Cheers,
Sparky.
#28
While a certain GUI is onscreen (Yes/No Popup), it would be handy to disable other GUIs behind along with all of their controls at once without having to disable the buttons separately, each.

For example:

Code: ags
if (gAskFirst.Visible == true) {
gOptions.Enabled = false; // Disables all clicking in this GUI but does not pass the mouse clicks through it.
}


Cheers,
Sparky.
#29
Hey guys,

I'm creating a static bool that disables the save buttons in two GUIs but I'm having difficulty with the syntax.

Heres my code:

Code: ags
// top of global script
static bool Game.LockSave;

function repeatedly_execute_always ( )
{
  if (Game.LockSave == true) {
    bMainSave.NormalGraphic = 361;
    bMainSave.Enabled = false;
    bSave.NormalGraphic = 363;
    bSave.Enabled = false;
  }
  else {
    bMainSave.NormalGraphic = 873;
    bMainSave.Enabled = true;
    bSave.NormalGraphic = 333;
    bSave.Enabled = true;
  }
}


I keep getting the typical error: Variable 'Game' is already defined. Am I not allowed to write my own 'Game.' function or something?

Cheers,
Sparky.
#30
I tried to create an array of certain Buttons to call them by just one name, "ButtonsWithSounds" like this:

Code: ags

function repeatedly_execute ( )
{
  String ButtonsWithSounds = bMainCancel;
  String bMainSave = ButtonsWithSounds;
  String bMainLoad = ButtonsWithSounds;
  String bMainLoad = ButtonsWithSounds;
  String bMainRestart = ButtonsWithSounds;
  String bMainQuit = ButtonsWithSounds;
  String bModalYes = ButtonsWithSounds;
  String bModalNo = ButtonsWithSounds;
  String bNewGame = ButtonsWithSounds;
  String bLoadGame = ButtonsWithSounds;
  String bOptions = ButtonsWithSounds;
  String bCredits = ButtonsWithSounds;
  String bQuit = ButtonsWithSounds;
  String bLoadGameCancel = ButtonsWithSounds;
  String bLoadGameLoad = ButtonsWithSounds;
  String bSaveGameCancel = ButtonsWithSounds;
  String bSaveGameSave = ButtonsWithSounds;
  String bCombatHelpOk = ButtonsWithSounds;

  if (mouse.IsButtonDown(eMouseLeft) && Button.GetAtScreenXY(mouse.x, mouse.y)=="ButtonsWithSounds") {
    aClickDown.Play(eAudioPriorityVeryLow, eOnce);
  }
  else if (mouse.IsButtonReleased(eMouseLeft) && Button.GetAtScreenXY(mouse.x, mouse.y)=="ButtonsWithSounds") {
    aClickUp.Play(eAudioPriorityVeryLow, eOnce);
  }
}


Basically I want a sound to play when a GUI button is clicked down, and another sound for when that button is released.
Is there some neater way to do this?

Cheers,
Sparky.

#31
As the subject suggests, I think a built-in confirmation for RestartGame(); would be consistent with the QuitGame(); function.
Low priority naturally CJ, but it couldn't be too hard to implement. To much my own excitement, baby updates like this keep AGS rolling strong and I hope this is a fair request. :=

Cheers,
Sparky.
#32
I was looking for a way to pop a character in at certain coordinates but could not make effective use of player.Move until I realised that wasn't the code I was looking for. The code to do this as suggested in the manual is unessecarily cumbersome and is one of the few remaining things to be formatted to the new scripting style.

Instead of:

Code: ags
cEgo.x(25);
cEgo.y(50);
cEgo.PlaceOnWalkableAreas();


How about:

Code: ags
cEgo.Teleport(x,y,eNoBlock, eWalkableAreas);


Or, if you want it by-the-book:

Code: ags
cEgo.Place(x,y,eNoBlock, eWalkableAreas);


It's much nicer to work with don't you think. :)

Cheers,
Sparky.
#33
Bug 1:
This one's been bugging me for a while but the DirectX 9 filter's version of the 4x Nearest Neighbour filter works differently to the DirectDraw one.

For example, character scaling - When using the DirectDraw 4x N.N. filter a single pixel is accurately scaled 4 times. With the DirectX9 equivalent, characters who are scaled <100% don't conform to the 4x pixel grid. There are varying pixel sizes with the characters and the filter no longer lives up to its name. I'm sure this bug applies to text and objects too. Please correct this CJ. Theres nothing worse in our 320x200 game than pixel inconsistency. :'(

Bug 2:
When running the DirectDraw OR DirectX 9 under the 2x Nearest Neighbour filter OR no filter 320x200 (640x400), the screen resolution is set to 640x480. I thought the minimal resolution under Vista and Windows 7 alike was 640x400 but it is infact ridiculously 800x600 4:3 aspect. If 800x600 is truly the minimum possible resolution then why has Microsoft ditched a valid 16:10 format? Clearly there must be a way around this cruddy and foolish limitation. Our beautiful 320x200 graphics is scaled up by a factor of 2 and then squished vertically into the middle of a 640x480 canvas. Yeck!

Cheers,
Sparky.
#34
Here are seven suggestions for AGS 3.2 that I feel would be rather usefull:

  • Longer view descriptions. (max length=32)


  • Descriptions for Loops.


  • Access to the Room Script through the Room Editor toolbar.


  • The ability to drag folders into other folders and rearrange them.


  • Place and drag hotspot WalkTo coords with mouseclick functionality.


  • Implement FaceDirection command for more precision over character views.


    Example:
    Code: ags
    cEgo.FaceDirection(eDownRight);



  • Freezing views, loops or frames until walk or other mousemode action.


    Example:
    Code: ags
    cEgo.FreezeView(VIEW, LOOP, FRAME);


    Cheers,
    Sparky.
#35
For some reason, when my character is already walking, the footstep sounds play, but when the view is changed i get the following error:
GetGameParameter: invalid frame specified

That being said, my frames and linked sound files are right on the money. I don't understand how a valid frame can be inconsistently invalid.
Also there isn't any real example of how to set the ViewFrame sound in the manual.

Heres my hideous code:
Code: ags
function room_RepExec()
{
  //===== FOOTSTEP SOUNDS - ANTE CHAMBER =====//
  
  ViewFrame *vf;
  int Down, Left, Right, Up, DownRight, UpRight, DownLeft, UpLeft;
    
    // Down
    vf = Game.GetViewFrame(WALK, Down, 0);
    vf.LinkedAudio = aFootstep_solid_2_fx; // idle footstep
    vf = Game.GetViewFrame(WALK, Down, 4);
    vf.LinkedAudio = aFootstep_solid_1_fx; // regular footstep A
    vf = Game.GetViewFrame(WALK, Down, 8);
    vf.LinkedAudio = aFootstep_solid_1_fx; // regular footstep B
    
    // Left
    vf = Game.GetViewFrame(WALK, Left, 0);
    vf.LinkedAudio = aFootstep_solid_2_fx; // idle footstep
    vf = Game.GetViewFrame(WALK, Left, 5);
    vf.LinkedAudio = aFootstep_solid_1_fx; // regular footstep A
    vf = Game.GetViewFrame(WALK, Left, 9);
    vf.LinkedAudio = aFootstep_solid_1_fx; // regular footstep B
    
    // Right Etc.


Any ideas?

Cheers,
Sparky.
#36
I've implemented shadows into our characters and when putting them at coordinates in our rooms, the pivot is locked to the center bottom, 9 pixels below the character's feet.

For example:


This is not a technical problem but more of a convenience issue. A hotspot control, not disimilar from the cursor viewer could really help here. Especially when relying on the XY coordinates in the room editor to match the character's feet.

Cheers,
Sparky.
#37
Critics' Lounge / Works of Sparky
Thu 16/04/2009 16:56:57
Heres some of my work from the past. Critique as you will:

Complete:




Characters:

            

Portraits:



Work in Progress: This room wraps around to meet again. Basic outlines for now.



Sparky.
#38
Engine Development / AGS Wii Port?
Sun 29/03/2009 10:57:43
Based on this thread I beleive scotch was going to begin on a Nintendo Wii port of AGS. :D
Am I correct in assuming this is an ongoing process?

I certainly do hope so!

Cheers,
Sparky.
#39
Advanced Technical Forum / AGS 3.3 Wishlist
Tue 09/12/2008 03:34:03
I wish for the AGS Editor to support designing games and their GUI's for both widescreen 16:10 and standard 4:3 in the same compiled exe. A smart auto-detection feature should decide which aspect ratio to launch our games in.

Cheers,
Sparx.
#40
Would it be possible for a plugin to be written that allows screen buffer distortion?
Have a look at this effect done in Adobe After Effects:

Displacement:


Result:


Is this possible in AGS?

Cheers,
Sparx.
SMF spam blocked by CleanTalk