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

#21


Desolate is close to be finished, currently I'm polishing up some stuff.
So I could really use a couple of testers to see if all works fine.

Desolate is a top-down perspective adventure game with arcade and puzzle elements served in a
hybrid TI83-Game Boy monochrome green palette. Or in short, a spaceship crawler.

If you're interested in giving this game a testdrive, please send me a PM.

#22
After drawing a dynamic sprite in the room:
Code: ags

DynamicSprite* ds = DynamicSprite.CreateFromExistingSprite (1, false);
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground();
surface.DrawImage(0, 50, ds.Graphic);


The player walks over a grid by keyboard control.
I first want to check if there is a drawn sprite (e.g. a wall) in the destination grid cell before the player is allowed to work in a direction.

How do I check code-wise if there's a drawn image at a certain x,y coordinate in the room (say at 0,50)?
#23
AGS Games in Production / Desolate
Sun 14/03/2021 23:08:04
DESOLATE



Story:
'Desolate' takes place in the distant future. A time when long distance space travel is possible and
frequent...

You must escape the derelict space craft. On the way you will have to overcome various challenges
and obstacles throughout over 70 rooms.
Your struggle for survival is escalated by your need to figure out two things:
What happened to the ship, and who 'you' are...



Introduction:
Desolate is a top-down perspective adventure game with arcade and puzzle elements served in a
hybrid TI83-Game Boy monochrome green palette. Or in short, a spaceship crawler.

This is an official port of the original game made in 2004 by Patrick 'tr1p1ea' Prendergast for the
TI-83 & TI-83+(SE) calculators.



Specs:






License:Freeware
Supported OS:Windows & Linux
Resolution:320x240
Colors:4 colors (hybrid Game Boy monochrome green palette)
Input devices:keyboard only

Extra features compared to the original game and the ZX Spectrum remake:

  • re-definable keys (2 sets)
  • music and sound effects
  • improved behaviour of enemies
  • animated doors
  • new sprites and animations for enemies
expected release date: March 2021
#24
I have a gun sfx OGG sound file which has a duration of 180ms.
After importing it as audio>sound it plays correct in the preview pane.

When playing the gun sfx via AudioClip.Play or AudioChannel* AudioClip.Play, only a short click is heard.
When playing a longer sound, for example a BG music track (OGG), all works fine.
After converting the OGG into WAV and importing that into AGS, the WAV version of the gun sfx plays fine via AudioClip.Play and AudioChannel* AudioClip.Play.

So, is there an issue with OGG files that have a certain (too) short duration?
#25
When typing <labelname>.TextAlignment = " the dropdownbox with the text alignment values (for gui labels) shows an obsolete value (eAlignCentre):

Code: ags
eAlignCenter
eAlignCentre
eAlignLeft
eAlignRight


The properties-box in the editor shows correctly the 3 values:
Code: ags
Center
Left
Right
#26
Info:
The game is keyboard only
It has a GUI containing a listbox, the GUI is hidden by default.
Pressing TAB opens up the listboxgui.
DownArrow and UpArrow are for scrolling through the list.
After pressing Return (Enter), the code checks what the current selectedItemText is and then displays a specific custom description string.

The issue:
But when the list is shown, pressing Enter doesn't bring up the description.
I first have to cycle one step through the list with DownArrow or UpArrow. After that, pressing enter does give the correct description. (If I close and re-open the listboxgui, pressing enter still does give the correct description)
So it looks like the listbox doesn't have the focus.

'Workaround':
To set the focus to the listbox I currently do the following:
- pressing TAB opens up a listbox.
- check if listbox ItemCount == 1. If so, run a Game.DoOnceOnly Game.SimulateKeyPress (eKeyDownArrow)
- pressing enter now does give correctly the listbox item description

Question:
Is there a (more delicate) way to set the focus to the listbox codewise?
#27
For some reason I fail to see why this is happening, so I hope someone here can explain this:

The roomscript code (as shown below) is working correctly: ENTER does load game.
(in this case the Global script has no (keycode == eKeyReturn) section in the on_key_press(eKeyCode keycode) function)

But:
The Global script code (as also shown below) is NOT working correctly: ENTER does NOT load the selected game.
(in this case the Room script has no (keycode == eKeyReturn) section in the on_key_press(eKeyCode keycode) function)

Room script:
Code: ags
function on_key_press(eKeyCode keycode)
{
  if (keycode == eKeyReturn)
  {
    if (gRestoreGame.Visible == true) 
    {
      if (lstRestoreGamesList.SelectedIndex >= 0)
      {
        RestoreGameSlot(lstRestoreGamesList.SaveGameSlots[lstRestoreGamesList.SelectedIndex]);
      }
    }
  }
}


Global script:
Code: ags
function on_key_press(eKeyCode keycode)
{
...
  else if (keycode == eKeyReturn)
  {
    if (gRestoreGame.Visible == true)
    {
      if (lstRestoreGamesList.SelectedIndex >= 0)
      {
        RestoreGameSlot(lstRestoreGamesList.SaveGameSlots[lstRestoreGamesList.SelectedIndex]);
      }
    }
  }
...
}


EDIT:
darn, this was why:

Code: ags

else if (IsGamePaused() || !IsInterfaceEnabled())
  {
    keycode = 0;
  }
#28
As I'm working on the Blackjack table for my LSL1 EGA remake, and not being a blackjack pro myself, I stumbled upon some questions I can't seem to find an answer for when searching online. Hope someone here knows the answers.

My question is:
At what exact moment can you take Insurance, Split and Double down and
in what sequence and order will the complete flow goes?


Initially there are these 3 basic actions:

  • Bet
  • Dealer deals hand 1 to player
  • Dealer deals hand 1 to dealer

But there are some specific actions:

  • a) Insurance (dealer's up-card is an ace)
  • b) Split (after initial 2 cards have been dealt AND cards are identically ranked)
  • c) Double down (after initial 2 cards have been dealt AND combined value is 10 or 11)

Note: I'm aware that Split has two variants (a regular split and a Split With Double Down) but these are not related to my question.

Now let's assume the situation is as follow:

  • you've placed your bet,
  • you've got a pair of 5 (triggers Split and Double down),
  • dealer got an ace for the face-up card (triggers Insurance).

At what moment can you take Insurance, use Split and Double Down?
I've noted 6 possible flows (vertically shown) in the table below, but I don't know if the correct flow is among them:








v1:v2:v3:v4:v5:v6:
BetBetBetBetBetBet
Dealer deals card 1 and 2 of Hand 1 to playerDealer deals card 1 and 2 of Hand 1 to playerDealer deals card 1 and 2 of Hand 1 to playerDealer deals card 1 and 2 of Hand 1 to playerDealer deals card 1 and 2 of Hand 1 to playerDealer deals card 1 and 2 of Hand 1 to player
Dealer deals card 1 and 2 of Hand 1 to dealerDealer deals card 1 and 2 of Hand 1 to dealerDealer deals card 1 and 2 of Hand 1 to dealerDealer deals card 1 and 2 of Hand 1 to dealerSplitDouble down
SplitDouble downInsuranceInsuranceDouble downSplit
Double downSplitSplitDouble downDealer deals card 1 and 2 of Hand 1 to dealerDealer deals card 1 and 2 of Hand 1 to dealer
InsuranceInsuranceDouble downSplitInsuranceInsurance
#29
BrocantyGames presents:

Barahir's Adventure: Askar's Castle



Barahir's Adventure: Askar's Castle is a fantasy themed, 1st-person perspective, point and click adventure game with a slight rpg element in the form of a health system. The game has 8-bit graphics in a 320x240 resolution and uses flip-screen room transition.
Barahir Adventure: Askar's Castle is is freeware



Barahir was originally developed by Lorien and published by L.K. Avalon. Released in 1993 for Atari 8-bit only, it was only available in Polish.
The game has a menu system-based interface in the form of a row of icons.

The original game seem to suffer from 2 major bugs:
The first one is causing several rooms not showing the correct background but the one from the previous room.
The second one is the save system often providing corrupt save files.



This remake is available in English for Windows and Linux. The game uses a modern point 'n click interface, uses 4-color 8-bit graphics in a 320x240 resolution and is made using AGS v3.5.0.27.
The two major bugs that the original version suffered from have of course been omitted in this remake.

A new feature is that this remake can be played in 40 different palettes, which you can switch between at any time during the game.
The palettes resemble old console and computer systems plus a set of nice palettes based on well known games for the gb, gbc and sgb.

All the available palettes:

Here's a collage image showing all the palettes:
Spoiler

[close]

Download: Windows & Linux versions available
More information: BrocantyGames' itch.io page



v1.2:

  • Being killed with a death trap causes a bug with RestartGame
  • When placing wrong item item on pilar gives incorrectly formatted string with "%s" unfilled in response.
  • item on the floor with wrong description "loaf of bread" corrected.
  • Changed: the exit in the prison, since it was in the corner and therefor apperantly not visible enough.

v1.1:

  • removed agsshell plugin usage because for some people it gives a (false-positive) anti-virus warning.
  • load-cancel bug has been fixed.
  • bedroom game-over bug has been fixed.
#30
Something strange just happened while creating a new room.
I though it might be wordt posting about it, not sure if this is the right place though.

Using AGS v.3.5.0.25:


  • Started AGS
  • created new room (room 35)
  • when trying to open room: Error:
    Unable to load the room file 'room35.crm'.
  • after closing this error message, the 2nd message pops up:
    AGS.Types.AGSEditorException: Unable to load the room file 'room35.crm'.
    Room file was not found or could not be opened.
    Filename: room35.crm..
  • while quiting the editor and saving the game, the 3rth error message pops up:
    Object reference not set to an instance of an object.
  • restarted AGS
  • create new room (room 35 was not shown in the room panel)
  • message is shown that room 35 does exist (although it wasn't shown in the room panel list), and the question was shown: do you want to overwrite existing room.
  • chose to overwrite exiting room35
  • open new room 35: no issue.


Error msg1 - Unable to load the room file 'room35.crm':
Spoiler

Error: Unable to load the room file 'room35.crm'.
Room file was not found or could not be opened.
Filename: room35.crm..
Version: AGS 3.5.0.25

AGS.Types.AGSEditorException: Unable to load the room file 'room35.crm'.
Room file was not found or could not be opened.
Filename: room35.crm..
   at ThrowManagedException(SByte* message)
   at load_room_file(SByte* )
   at load_crm_file(UnloadedRoom roomToLoad)
   at AGS.Editor.Components.RoomsComponent.LoadNewRoomIntoMemory(UnloadedRoom newRoom, CompileMessages errors)
   at AGS.Editor.Components.RoomsComponent.LoadDifferentRoom(UnloadedRoom newRoom)
   at AGS.Editor.Components.RoomsComponent.LoadRoom(String controlID)
   at AGS.Editor.Components.RoomsComponent.ItemCommandClick(String controlID)
   at AGS.Editor.Components.BaseComponentWithFolders`2.CommandClick(String controlID)
   at AGS.Editor.ProjectTree.ProcessClickOnNode(String nodeID, MouseButtons button)
   at AGS.Editor.ProjectTree.projectTree_NodeMouseDoubleClick(Object sender, TreeNodeMouseClickEventArgs e)
   at System.Windows.Forms.TreeView.OnNodeMouseDoubleClick(TreeNodeMouseClickEventArgs e)
   at System.Windows.Forms.TreeView.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
[close]

Error msg2 - AGS.Types.AGSEditorException: Unable to load the room file 'room35.crm'. Room file was not found or could not be opened. Filename: room35.crm..:
Spoiler

---------------------------
Adventure Game Studio
---------------------------
A serious error occurred and the AGS Editor may now be in an unstable state. You are STRONGLY ADVISED to shut down the editor and restart it. Before saving your work, make a backup copy of your game folder in case any data has been corrupted.



Error: AGS.Types.AGSEditorException: Unable to load the room file 'room35.crm'.
Room file was not found or could not be opened.
Filename: room35.crm..

   at ThrowManagedException(SByte* message)

   at load_room_file(SByte* )

   at load_crm_file(UnloadedRoom roomToLoad)

   at AGS.Editor.Components.RoomsComponent.LoadNewRoomIntoMemory(UnloadedRoom newRoom, CompileMessages errors)

   at AGS.Editor.Components.RoomsComponent.LoadDifferentRoom(UnloadedRoom newRoom)

   at AGS.Editor.Components.RoomsComponent.LoadRoom(String controlID)

   at AGS.Editor.Components.RoomsComponent.ItemCommandClick(String controlID)

   at AGS.Editor.Components.BaseComponentWithFolders`2.CommandClick(String controlID)

   at AGS.Editor.ProjectTree.ProcessClickOnNode(String nodeID, MouseButtons button)

   at AGS.Editor.ProjectTree.projectTree_NodeMouseDoubleClick(Object sender, TreeNodeMouseClickEventArgs e)

   at System.Windows.Forms.TreeView.OnNodeMouseDoubleClick(TreeNodeMouseClickEventArgs e)

   at System.Windows.Forms.TreeView.WndProc(Message& m)

   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
---------------------------
OK   
---------------------------
[close]

Error msg 3 - The error was: Object reference not set to an instance of an object.
Spoiler

---------------------------
Adventure Game Studio
---------------------------
An error occurred whilst trying to save your game. The error was:



Object reference not set to an instance of an object.



If you cannot resolve the error, please post on the AGS Technical Forum for assistance.



Error details: System.NullReferenceException: Object reference not set to an instance of an object.

   at AGS.Editor.Components.SourceControlComponent.ToXml(XmlTextWriter writer)

   at AGS.Editor.ComponentController.NotifySavingGame(XmlTextWriter writer)

   at AGS.Editor.ApplicationController._events_SavingGame(XmlTextWriter writer)

   at AGS.Editor.EditorEvents.OnSavingGame(XmlTextWriter writer)

   at AGS.Editor.AGSEditor.SaveGameFilesProcess(Object parameter)

   at AGS.Editor.BusyDialog.RunHandlerOnThread()
---------------------------
OK   
---------------------------
[close]
#31
So I have a 4-colour game with 8-bit colour depth in 320x420 resolution and in the game setup the software driver is set as graphics driver.
But for some (unknow to me) reason the object sprite's black color isn't updating after updating the palette codewise.
The same black in the room's background is correctly updating though...
I hope someone can explain this tpo me, I can't figure out why it works correctly for the room bg but not for object sprite...

This is the colours setting panel:
Spoiler
[close]

Here's an object's sprite seting:
Spoiler
[close]

Here's the room background and the object with said sprite:
Spoiler
[close]

when running this to update the palette to game boy colors:
Spoiler

Code: ags

  //black
  palette[0].r = 4;
  palette[0].g = 14;
  palette[0].b = 4;
  
  //cyan:
  palette[1].r = 12;
  palette[1].g = 24;
  palette[1].b = 12;
  
  //magenta:
  palette[2].r = 34;
  palette[2].g = 42;
  palette[2].b = 4;
  
 //white
  palette[3].r = 38;
  palette[3].g = 46;
  palette[3].b = 4;

  UpdatePalette();

[close]

This is how it looks, for some reason the object's black color is not changing...
It has the same black (sprite-wise) as the background... (the black color of the gate is also not changing correctly, which is another object)
Spoiler
[close]
#32
On top of my local script I have the following struct:
Spoiler

Code: ags

struct PaletteCycle
{
  String system;
  String game;
  String Year;
  int palette0r;
  int palette0g;
  int palette0b;
  int palette1r;
  int palette1g;
  int palette1b;
  int palette2r;
  int palette2g;
  int palette2b;
  int palette3r;
  int palette3g;
  int palette3b;
  bool UsedForCycle;
};

PaletteCycle palettecycles[60];

[close]

The room_AfterFadeIn first calls a function declaring the arrays (from 0 to 59), followed by calling the select_random_palette function (which randomly selects one of the 60 not yet selected palette, updates this palette, waits x time, and rerun the function until all 60 palettes has been chosen.
if a palette has been selected, the bool UsedForCycle is set to true and the function is called again.

Here's the looping select_random_palette function:

Spoiler

Code: ags

function select_random_palette()
{
  if (ranPaletteTotal < 60)
  {
    ranPalette=Random(59);
    
    if (palettecycles[ranPalette].UsedForCycle == true)
    {
      select_random_palette();
    }
    else if (palettecycles[ranPalette].UsedForCycle == false)
    {
      ranPaletteTotal++;
      palettecycles[ranPalette].UsedForCycle = true;
      
      Lamountpalettes.Text = String.Format("palettes shown: %d", ranPaletteTotal);
      
      palette[0].r = palettecycles[ranPalette].palette0r;
      palette[0].g = palettecycles[ranPalette].palette0g;
      palette[0].b = palettecycles[ranPalette].palette0b;
      
      palette[1].r = palettecycles[ranPalette].palette1r;
      palette[1].g = palettecycles[ranPalette].palette1g;
      palette[1].b = palettecycles[ranPalette].palette1b;
      
      palette[2].r = palettecycles[ranPalette].palette2r;
      palette[2].g = palettecycles[ranPalette].palette2g;
      palette[2].b = palettecycles[ranPalette].palette2b;
      
      palette[3].r = palettecycles[ranPalette].palette3r;
      palette[3].g = palettecycles[ranPalette].palette3g;
      palette[3].b = palettecycles[ranPalette].palette3b;
      
      UpdatePalette();
      Wait (10);//waittimecycle
      
      select_random_palette();
    }
  }
  else if (ranPaletteTotal == 60)
  {
    SetTimer (1, 300);
    SetTimer (2, 60);
    return;
  }
}

[close]

The select_random_palette function works fine until for some reason it gets a 'call stack overflow' error, usually somewhere between the 30th and 40th palette update (out of the 60 palettes)...
When it happens, the line highlighted in the editor is one of the two "select_random_palette();" lines in the select_random_palette function

The full error msg:
Error running function 'room_AfterFadeIn':
Error: call stack overflow, recursive call problem?


I can't seem to figure out why this is happening, any idea anyone?
#33
I was playing around with changing colors in an 8-bit ags-project using something like:

Code: ags

palette[1].r = 60;
palette[1].g = 0;
palette[1].b = 0;
UpdatePalette();


My problem is how can I find the RGB values ags needs, being within that 0-63 range.
For example, the color cyan in paint.net is shown as having rgb values 85,255,255, so that's not within that 0-63 range.




In this 2006 post I noticed an image showing a color from the palette been selected and the rgb values been shown in that 0-63 range.
This is kind-of what I would need:


#34
As my parser game is being tested, something I knew that could be a problem popped up indeed:

Look vs. Examine

In my game Look is not the same as Examine. I thought this to be a well thought out and an OK design choice but yet it might not be that case...
So I looked into this again, search the web to see what others think and therefor I'm posting the question here too:

What do you think: should Look and Examine be the same, or should Look and Examine be different?


Here's some thoughts:

LOOK and EXAMINE should be the same because:

  • players often assume that "look at " and "examine" are the same
  • most gamers are going to just examine things right-away without looking at them first
  • players prefer you give all (detailed) info, or reveal something, right-away when using examine or look instead of look for general info and examine for detailed info/revealing stuff./li]
LOOK and EXAMINE should be different because:

  • it's nice to give more detailed info, or to reveal something, when using examine, look should only give a generic description. Look is the general portrayal of an object, and should be used to entice a reader to examine it, while Examine should only be used to detail an object (serial numbers, panels, inscriptions, etc.)


So what do you think?
#35
Futurama: Who Said That!?!

a trivia party game containing 288 different quotes from the TV series. Available for Windows & Linux

>DOWNLOAD HERE<



It's up to you to guess per round by who of the five shown Futurama characters a shown quote was said.



There's 10 round per game, and it can be played from 1 up to 10 players.



Contains a lot of audio and graphics taken from the TV series.



What are you waiting for, a kiss good-bye?! Start quizzing already!

#36
Cinomeh's Revenge

After this project was frozen for 3 years, I've recently decided it's time to revive it and finish it up.
Status: currently the game is in testing phase.








About:
Cinomeh's Revenge is an English IF-with-graphics adventure game using the good old parser.
It's a remake of the obscure original 1986 French-only version by ERE Informatique.







story:
You play as an assassin, on a mission to kill the tyrant king.
Explorer the fantasy land, the castle and it's underground rooms and catacombs, solve puzzles and uncover mysteries...






To make sure everybody can play this game the way he/she did play games back in the good old 80's,
this game supports the following 31 graphic modes (palettes), which you can switch anytime in-game:

* Amiga (2 versions)
* Amstrad CPC
* Amstrad Green Mono
* Apple II (2 versions)
* Atari 8-bit (2 versions)
* BBC Micro
* C64 (2 versions)
* Commodore Vic-20
* DOS CGA (6 versions)
* Game Boy
* Game Boy Color Hybrid Gold
* Game Boy Color Hybrid Brown
* Game Boy Color Hybrid Pastel (2 versions)
* MSX (2 versions)
* MSX2
* NES (2 versions)
* SMS (2 versions)
* ZX Spectrum

Overview of the 31 graphic modes (palettes) for the intro screen:


Regards,
Brocanty Games
#37
I received this email today:

AGS Forums
Za 8-2-2020 08:44
An anonymous user from 77.111.246.117 reported Windows download for Black Sect 2: The Cursed Crypt (PnC Remake) as broken.


So I checked but the download works fine and the downloaded zip archive tested OK too.

So no clue why this was send. A hickup maybe? Just thought I report it here.
#38
Database query G.37.1 error: Unknown column 'languages' in 'field list' is shown when trying to edit a gamedatabase entry.

entry: https://www.adventuregamestudio.co.uk/site/games/game/2404-black-sect-2-the-cursed-crypt-pnc-remake-/
#39
I tried to add a name to the 'Game authors' section for my game 'Black Sect 2: The Cursed Crypt'.
But after clicking the update button, the following query error is shown:

Database query G.37.9 error: Incorrect string value: '\xF0\x9F\x9A\x80' for column 'forumname' at row 1
#40
Brocanty Games presents:

Black Sect 2: The Cursed Crypt (PnC Remake)

Story:
After stealing the magical book of spells in La Secte Noire (Black Sect 1), the Black Sect has returned to terrorize the population.
They are gathering in a nearby crypt, below the dark rooms of the castle of Golin the Gnome, and you have ventured into it.
Find your way to the crypt through the castle filled with passages blocked by gates, doors and chests to be opened, buttons to be
pressed, levers to be pulled, and secret rooms...
Can you annihilate this evil sect once and for all?

Wait, what? Black Sect 2?!?:
The original 1991 version of Black Sect 2, called 'La Crypte Des Maudits' was the successor of the 1990 game 'La Secte Noire',
the original 'Black Sect'. Both were done by Lankhor and only released for Amstrad and supported French only.
The better known 1993 version of 'Black Sect' was Lankor's own remake of 'La Secte Noire'.



Download:
(freeware, installer free)

Info Pages:




Specs:














Developed byBrocanty Games
Released2020
Operating systemWindows, Linux
Interfacetwo-button point and click interface
(Left-click: walk/interact, right-click: examine)
Resolution320x200
Graphic modes3
mode 1: Amstrad color with 11 palettes
mode 2: Amstrad grey with 1 palette
mode 3 : Amstrad green with 1 palette
Color support4 colors
Number of players1
Perspective1st-person
GameplayGraphic adventure, Puzzle elements
GenreAdventure
NarrativeDetective / mystery
LengthMedium length game (takes roughly about an hour to finish)



Features:

  • Two-button point and click interface (Left-click: walk/interact, right-click: examine)
  • Animated mouse cursors
  • Much, much more and better action responses
  • Move through game by arrow-keys, WSAD-keys or click the compass rose
  • Unlimited save slots
  • Altered puzzles to suit the point 'n click interface better and to add more logic to some puzzles
  • Player can't die
  • No dead-ends
  • Play in Amstrad color, grey or green modes (can switch mode in-game)
  • Has original amstrad soundfx and intro track

Thanx:
A huge THANK YOU goes out to my dear friends TanteTabata, Bicilotti & Peder who tested the game.
This game would never have been so polished without you guys!!!
SMF spam blocked by CleanTalk