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

#1
Wow, great stories here!

Very short general reviews:

Mandle:

Spoiler
It's interesting how the story transforms a supposedly school reunion involving a pretty dysfunctional family (Simon is a jerk) into a tense revenge thriller, blending everyday life with a dark altered reality. Yeah... it's atmospheric, impactful, and features a somewhat complex antagonist showing unexpected humanity. However, I feel it's a bit confusing at times.
[close]

Creamy:

Spoiler
I like the Kafkaesque nightmare vibes. In that way is intresting how the justice system turns "uncanny", distorting responsibility and identity until the narrator becomes a victim of the very process they kinda "trusted". It made me wonder whether the narrator really forgot Mary Smith or if he's been lying from the very beginning.
[close]

Sinitrena:

Spoiler
Thanks to the section "Separating Fact from Fiction," we know that this story is derived from a real memory of local parade. What's interesting, then, is how Sinitrena works on that memory and transforms it to explore an extreme and tragic version, in which the event takes a catastrophic turn and the protagonist sacrifices herself to save her students. Although the language is clean and straightforward, there is skillful use of repetition—a careful craftsmanship in form. The ending is stark, brutal, but deeply... human.
[close]

Baron:

Spoiler
Reality Check was apreciated. That said, what I like—and what I think makes the story stand out—is that reality isn't altered through extreme fantasy, but rather through a hyperbolic literary version of a situation that is, at first glance, realistic. It's a distortion of the real into the absurd, the comic, and once again like other stories here, the chaotically human. The family dynamic is well portrayed with just a few strokes: the sarcastic teenage daughter, the exhausted wife, and the optimistic, stubborn father. A family that, in the end, survives thanks to sarcasm as much as to blankets.
[close]

And my vote:

Spoiler
Very very hard decision... but 1st: Baron, 2nd: Sinitrena. Creamy was very close to 2nd... a tough tough decision indeed.
[close]
#2
THE INTERN

Spoiler
After a couple of interviews, he had finally gotten the job. He was the new intern at the Faculty of Fine Arts. And at the beginning of each month, for a whole year, he would receive his corresponding stipend. Although the amount was rather meager, the job itself was free of major complications. One could even say that his tasks were quite simple, even if, at times, professors would call on him for technical help with such vehemence that he ended up feeling a bit overwhelmed.

His workplace, shared with other employees, was set in a spacious office on the same floor—and just a few meters away—from the office of the faculty's dean.

The dean was an old, gray-haired man. He hardly resembled the professor the intern remembered from taking his course not that many years ago. Still, some spark of youth must have remained in him, because every now and then he would make a bombastic entrance into the office, striking some exaggerated pose he assumed to be amusing, while squinting his eyes. For some reason the intern had yet to figure out, these appearances left him feeling somewhat... uneasy. In fact, something about those papery eyes, secretly, terrified him.

Earlier I said the job had no major complications. That was a lie—there was something that unsettled him. A kind of almost agonizing howl that, every so often, could be heard in the distance.
  "Must be one of those drunken vagrants that wander around the entrance," the dean's secretary would mutter, as if trying to downplay it.

The intern was quite lazy. One afternoon, to escape the mob of professors constantly pestering him with errands, he left a few minutes early. But the secretary, who wasn't stupid at all, noticed it, and he eventually had to make up for that moment of revelry. How did he make up for it? By coming in after hours to sort through some papers that had been piling up for months at the front desk. At least, the task wasn't as draining as the things he'd been doing lately. And everything would have gone smoothly if not for that deep, gravelly voice that called out to him from one end of the hallway. It was the dean, requiring his presence. So, with a heavy heart, he walked the short corridor which, at that hour, was completely deserted.

The dean's office was smaller than one might expect, but it still featured a plush armchair, some handsome books, and a shelf stocked with assorted liquors. The dean liked his drinks. The only element in that office that struck a discordant note was a rickety door behind the armchair.
  "Student, could I ask you a little favor?"—those words were murmured in a voice both sweet and trembling.
  "You see, it seems I've unfortunately misplaced the key to my liquor cabinet. Surely you can understand that a poor old man like me needs a little something to warm his throat, especially on these cold autumn evenings."

His glassy eyes glimmered for a moment before dimming again.

  "All I ask, student, is whether you might be so kind as to go through the door behind my chair and into the adjoining room, where I keep a copy of all the keys to the building. I'd do it myself gladly—it's not my intention to bother you. But the lighting in there is dreadful, and my eyes are quite tired from dealing with the faculty paperwork this late. Besides, there's a bit of damp in that room, which does my weary bones no good. You, on the other hand, are young and spry. I know you won't deny me this small favor."

Indeed, the intern couldn't say no. He opened the door and made his way as best he could through a vast room, filled with who knows what. It was all in shadows and smelled terrible. The only thing visible was a faint light glimmering in the far back. Since he could barely see anything and found no key anywhere, he decided to feel his way toward that distant source of light.

Imagine his horror when he discovered, tied up on a table, the tortured and lifeless body of the dean of the Faculty of Fine Arts.

He had, at last, uncovered the mystery behind that agonizing howl he sometimes heard from the office. Now, he only had to unravel the last enigma: what was it that, at that very moment, was breathing behind his ear?
[close]
#3
I'm using this speech bubble module with 3.6.2 (and formerly with 3.6.1) without problem. As CW said, change the Script compatibility level in General Settings. I don't see why take the trouble to change the script.
#4
Yes, now that I think about it, it does make sense that code working in 3.6.1 should also work in 3.6.2. It's great to know there was nothing wrong with how my code worked.

The fixed engine runs perfectly — the sprite now rotates correctly again.

Thank you so much!
#5
Hi!

As I mentioned in the title, in one of my games I have a windmill with blades that rotate around their own pivot point. To achieve this, I tried to coded a small void in version 3.6.1, which I call from a repeatedly execute. In it, I create a dynamic sprite and rotate it by a certain angle.

However, after upgrading from version 3.6.1 to 3.6.2, I noticed that the blades no longer rotates — instead, they just "tremble" in place without actually moving.

Here's my code:

Code: ags
DynamicSprite *aspasSprite;

int angle = 0;
int aspasX = 485, aspasY = 452; // lower left corner coords (angle 0). With "aspas" I mean "blades".
float px = 158.5;
float py = 158.5; // sprite's pivot cords

void Aspas(){
  angle = (angle + 1) % 360;
 
  // Here I set the sprite and store dimensions
  aspasSprite = DynamicSprite.CreateFromExistingSprite(421);
  int w = aspasSprite.Width;
  int h = aspasSprite.Height;
  // rotate if it's necessary
  if (angle > 0) aspasSprite.Rotate (angle);
  oAspas.Graphic = aspasSprite.Graphic;
  
  // Here I calculate the sprite dimension change offset
  float xOff = IntToFloat(w - aspasSprite.Width) / 2.0;
  float yOff = IntToFloat(aspasSprite.Height - h) / 2.0;
  
  // Here I calculate vector from pivot to center
  float vx = IntToFloat(w) / 2.0 - px;
  float vy = IntToFloat(h) / 2.0 - py;
  // rotate vector
  float rad = Maths.DegreesToRadians (IntToFloat (angle));
  float cos = Maths.Cos(rad);
  float sin = Maths.Sin(rad);
  float vrx = vx * cos - vy * sin;
  float vry = vx * sin + vy * cos;
   
  oAspas.X = aspasX + FloatToInt(xOff - vx + vrx, eRoundNearest);
  oAspas.Y = aspasY + FloatToInt(yOff - vy + vry, eRoundNearest);
}

I guess there's something incorrect that I'm not seeing. So the question is: what could be wrong in my code that worked fine in 3.6.1 but not in 3.6.2?

Thanks a lot in advance!
#6
As part of it, I thought about doing something. Unfortunately, the city where I live was hit by a severe rainstorm with major flooding. But I'll be happy to play this month's entries (I'm trying out the game of RootBound).
#7
I continued testing with brand-new games, and the same error occurs with all the templates except the blank template. Throughout my tests, I noticed that on some occasions, the first time I modify the first script in the list (e.g., TwoClickHandler.asc in the BASS template), the error doesn't happen. However, from the second time onward, it always does. The error only happens with Script (.asc) not the Header (.ash).

I also noticed that saving the game after modifying the script doesn't trigger the error. So, as long as I don't close the tab with the script and choose to save, everything remains safe enough.
#8
Quote from: Crimson Wizard on Sun 16/03/2025 01:32:49Does this happen if you close unmodified tab, or close modified and choose to not save?

No, the error only happens when I close the tab and choose to save. It also doesn't happen when I run the game (F5) in the editor after modifying the script. And in the room scripts, the error never occurs.

#9
How strange! I just created a brand-new game to test it (I used the Bass template), and the error happened. Here I'm attaching a video:

https://www.mediafire.com/file/x7ldm9l7yi4f592/VID_20250315_210842.mp4/file
#10
I think I found a bug. If I modify any line in any script, then close it from the tabs and click 'Yes' when prompted with 'Do you want to save your changes before closing?', I get an 'Unhandled Error'. At first, I thought it only happened in version 3.6.2.8, which I just downloaded. But after testing, I see it also occurs in 3.6.1.30.

Spoiler
Code: ags
 Version: AGS 3.6.1.30 [In version 3.6.2.8 is the same message]

System.ArgumentOutOfRangeException
   en WeifenLuo.WinFormsUI.Docking.DockContentCollection.GetVisibleContent(Int32 index)
   en WeifenLuo.WinFormsUI.Docking.DockContentCollection.get_Item(Int32 index)
   en WeifenLuo.WinFormsUI.Docking.DockPaneStripBase.TabCollection.get_Item(Int32 index)
   en WeifenLuo.WinFormsUI.Docking.VS2005DockPaneStrip.EnsureDocumentTabVisible(IDockContent content, Boolean repaint)
   en WeifenLuo.WinFormsUI.Docking.VS2005DockPaneStrip.OnPaint(PaintEventArgs e)
   en System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
   en System.Windows.Forms.Control.WmPaint(Message& m)
   en System.Windows.Forms.Control.WndProc(Message& m)
   en WeifenLuo.WinFormsUI.Docking.DockPaneStripBase.WndProc(Message& m)
   en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

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.

Code: ags
Error: System.ArgumentOutOfRangeException

   en WeifenLuo.WinFormsUI.Docking.DockContentCollection.GetVisibleContent(Int32 index)

   en WeifenLuo.WinFormsUI.Docking.DockContentCollection.get_Item(Int32 index)

   en WeifenLuo.WinFormsUI.Docking.DockPaneStripBase.TabCollection.get_Item(Int32 index)

   en WeifenLuo.WinFormsUI.Docking.VS2005DockPaneStrip.EnsureDocumentTabVisible(IDockContent content, Boolean repaint)

   en WeifenLuo.WinFormsUI.Docking.VS2005DockPaneStrip.OnPaint(PaintEventArgs e)

   en System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)

   en System.Windows.Forms.Control.WmPaint(Message& m)

   en System.Windows.Forms.Control.WndProc(Message& m)

   en WeifenLuo.WinFormsUI.Docking.DockPaneStripBase.WndProc(Message& m)

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

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

   en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
[close]
#11
Something particularly interesting about the new version 3.6.2 is that it's no longer necessary to hide the mouse before saving the DynamicSprite-type screenshot of the screen. With the new render layer option, you can take a screenshot of the room without the cursor being captured:

Code: ags
screenToGrayscale = DynamicSprite.CreateFromScreenShot(0, 0, eRenderLayerRoom);

In my opinion, this looks much more elegant and benefits this module.
#12
Quote from: Laura Hunt on Sat 15/02/2025 12:20:58I started our latest game on 3.5.1, I think, and I'm now on the latest 3.6.1 version. I will definitely upgrade to 3.6.2 at some point, and keep updating / patching that one as required, but I won't switch to 4.0 for this game.

Same scenario here. I started two games in 3.5.1 and recently moved to the latest 3.6.1. I'm studying the possibility of moving to 3.6.2, but 4.0 is a no-go, at least for now.
#13
I think I found another bug in this module. When using a substitute character (Mirrors2.SetSubstituteCharacter), the idle view of the reflection gets triggered even while the player is moving. This creates an annoying effect, making it look like the reflection is sliding for a moment instead of walking. Any way to fix this? I checked the module script, and it's written in a somewhat confusing way.
#14
Quote from: GooseKult on Wed 15/01/2025 20:49:55When I tried using this it comes back with error : undefined symbol 'eFontNormal'. I'm rusty though so could be making a simple mistake.
You can simply replace "eFontNormal" with whatever font you use as the normal one in your game. For example:

Code: ags
  surf.DrawString(20, 20, eFontFont0, "Standstill: %d", _count_still_ticks);
#15
I'm not sure if that's how it's supposed to work, but on the site (play section), when I try to view the games created by a specific user, it only shows the ones they uploaded, not the ones they collaborated on.
#16
Hi!

Regarding problem N°1, have you checked the "room_Leave" function?

e.g. (using your code)

Code: ags
function room_Leave()
{
 if (haloProtege == 1)
  {
    aHumming.Stop();
    tiempoHalo = 0; 
}
}

Remember to link the event in the Room Editor.
#17
Ah! Apologies, I understand now. Yes, I use an ad hoc savegame for that. Ideally, it's much better to make use of the "File" functions, but for some reason (this behavior is already documented in the forum), I was having issues with Windows Defender warnings (and I was worried this might happen to someone else who might then think the game contains a virus). So, I opted for a very inelegant but functional solution: generating an "artificial" savegame and using a series of checks to store the game's state.

On the other hand, what you mentioned about the name entered into the computer doesn't use that workaround at all. It's simply stored in a global variable of type String (global variables don't just store integers).
#18
Thanks for playing the game, Heltenjon! I completely understand about getting used to the controls. I remember going through the same thing—though on a different scale—with Ashina: The Red Witch. The Game Boy aesthetic simply adds a layer of nostalgia for some people. It's good to know the game is enjoyable even without that feeling :)

Spoiler
The orb can only be activated—much to the computer's horror—the second time you play the game (once electronic devices take over the small world around you, and the game's intro changes). I designed it as a sort of deus ex machina that reveals the truth: the creatures, called yokai, are actually ordinary humans. And the objects that supposedly set them free are, in reality, harmful. This twist affects the three endings I came up with.
Spoiler
I'm not sure if you've reached the third ending yet (which I informally call the "glitch ending"), where you save some humans but end up condemning some yokai.
[close]
[close]
#19
I first played version 1.0.0 and didn't quite understand the game... then I realized I had experienced a bug! When I played version 1.0.4, everything made perfect sense. The visual style reminded me of Simon the Sorcerer—in fact, the Anchorite kinda reminds me of "Runt, the farmboy" physically.

Spoiler
Even though I sort of saw it coming, I really enjoyed the Truman Show-style plot twist.
[close]

The music fits perfectly with the atmosphere. Great little game, indeed.
#20
I was unsure about including my game—more of an experiment—in this section, as it doesn't quite align with the many superb games I see here. However, since it was created as a simple homage to the distinctive aesthetics of Game Boy games—and considering the relative effort it took to me to create a top-down game in AGS (I programmed a day, afternoon, and night cycle; events triggered at specific times; two or more endings; various Easter eggs; a plot-twist; a custom inventory system; shaders; a save system, among other features)—I've decided to nominate it for a couple of categories.

For Your Consideration:




Please consider this game for

- Best Programming
- Best Gameplay

...or whatever category you think it fits best.
SMF spam blocked by CleanTalk