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 - Monsieur OUXX

#321
Damn it! Just 4 days too late for the 2019 awards!  :-D
#322
Quote from: abstauber on Fri 27/12/2019 19:43:15
I just noticed that I am maintaining these templates for over 10 years  :shocked:

And you're doing a great job. You've saved me tens of hours of coding, for a sexy result.

I want to report that in font "tumbletext" (and TumbleTextOutline I imagine), special character "ç" is misaligned vertically. The "c" should be aligned like a normal c, and the thingie should dangle underneath it, lower than the line. A bit like a "j".
#323
There's so many options, I feel completely overwhelmed.
#324
Quote from: Digital Mosaic Games on Thu 16/01/2020 22:49:47
I just wanted to say that my name is "Öcek" not "Ocek".
Hi Tolga! I had to change it to Ocek temporarily because our font was lousy and didn't have special characters (as cassiebsg pointed out). We should introduce proper fonts in version 1.1, for translations. If your name is still Ocek in version 1.1 then you're allowed to send us death threats  :-D
#325
Yes it was a bit rough around the edges, I totally agree; we struggled to meet the deadline. In a little while I'll go back to it and polish it up. By the way, some people think that you have to click twice on an object to use it. No no no. Just click on the object once without click on "use" beforehand.

About the tips: We should follow the usual AGS practice and create a hints and tips thread. Othrwise you can ask for tips directly on our forums : http://binarylegends.net/forum/index.php/topic,976.0.html
Great job by the way cassiebsg

There are translations on the way!
#326
Bump!
the game is available for download!
#328
(AGS 3.4.1 Patch 4)

I've tried two icons in the game directory, named USER.ico (links below)
32x32 icon : https://www.dropbox.com/s/tyvn86ywe2g8bs6/USER.ico.old?dl=0
128x128 icon : https://www.dropbox.com/s/447oc7lat9cmlrt/USER.ico?dl=0

the overall building process succeeds but the "icon" step fails with an error message.

At first I thought this was a permission issue, but it fails even with "run as admin".
I've also tried the tool "resource hacker" to replace the icon directly in the EXE but it's not great, it doesn't replace the tiny icon seen in Windows Explorer.

#329
Has anyone an explanation for this :

- I created a game in 3.4.1 using the Tumbleweed template (with heavily modified source code!) -- I'm just mentioning it in case someone suspects something.
- I created an inventoty item : iItem
- In the Editor I bound a function to each of the events, simply by clicking on each event and letting the editor create it
- I put a dummy instruction (int i=0;) and a breakpoint in each of those functions.
- I run the game and I try each of the 9 verbs of the template : Look at, open, close, push, pull, talk, use, give, pick up. there's also an implicit 10th action when you use another inventory item onto that item.

What I observe :
- Pick up => triggers "Other click" event function as expected
- Give : switches to "Give to" mode but doesn't trigger anything. That I can live with
- Look at => triggers  "Talk to" event function as expected
- Talk to => triggers  "Talk to" event function as expected
- Use => triggers  "Interact" event function as expected

But I also observe these:
- Open/Close => Triggers no event function
- Pull/Push => Triggers no event function


I saw that they do get triggered in the native Tumbleweed module.

But before I can understand how my modifications (most likely culprit) messed this up, I need to understand how it's possible to "block" an item event function? How can some events trigger nothing when there's explicitly an "other events" function for the item?
#330
Add a module to your game and paste this script into it.
Your game created in 3.4.x should compile in 3.5.x without complaining about the new Viewports system. Please note that you'll have to "replace all" System.ViewportHeight and System.ViewportWidth with System.ViewportHeight() and System.ViewportWidth().

Please note that I did that in exactly 5 minutes and it seemed to work with Tumbleweed (calin leafshade wink wink) but I didn't test thoroughly.
Also, if someone already posted that before then please ignore and assume that their version is better.



Code for the module's header:
Code: ags

import int ViewportHeight(static System);
import int ViewportWidth(static System);
import int ScreenHeight(static System);
import int ScreenWidth(static System);
import int GetViewportX();
import int GetViewportY();
import void SetViewport(int x,  int y);
import void ReleaseViewport();




Code for the module's body:
Code: ags

int ViewportHeight(static System)
{
  return Game.Camera.Height;
}

int ViewportWidth(static System)
{
  return Game.Camera.Width;
}


int ScreenHeight(static System)
{
  return Game.Camera.Height;
}

int ScreenWidth(static System)
{
  return Game.Camera.Width;
}

int GetViewportX()
{
  return Game.Camera.X;
}

int GetViewportY()
{
  return Game.Camera.Y;
}

void SetViewport(int x,  int y)
{
  Game.Camera.SetAt(x,  y);
}

void ReleaseViewport()
{
  Game.Camera.AutoTracking = true;
}



#331
OK, thanks everyone. I don't know what kind of trick I was using back then to make it work when I programmed this game (maybe an extra mouse mode dedicated only to that, or whatnot) but it's not worth investigating it. I'll do what people suggested (and i also the way "Tumbleweed" handles inventory clicks) and just bind all the events to the same function.
Could be worth adding an event "any click" for consistency with objects and hotspots.
#332
Everything noted above is valid, but please do note that everything I suggested would require to change the Editor a little bit, but not the engine.
#333
Done. I would recommend doing a slight modification and use repeatedly_execute_late to make the reflection's frame always perfectly in sync with the character's frame.
#334
Please note that this is about inventory, not room objects. Room objects have "ANY click" event, whereas inventory items have "OTHER click" event.

I went digging into some old scripting I had in a game I started many versions of AGS ago. I saw that I conveniently always ever used the "other click on inventory item" instead of separate, individual  events  such as "look at inventory item", "interact inventory item", etc. I was then checking the current mouse action INSIDE of the event function, to produce the appropriate response.
I used this technique throughout my entire game, to have less event functions cluttering my global script.

And now, I'm only just noticing that this is broken. The "other click" event is NOT firing when using "look at", "use", etc. on my inventory items. I specifically have to use the "look at inventory item" event for it to respond to "look at", for example.

I know my question sounds like the question of a confused person, but that's exactly what it is. I'm confused: Was the inventory item event "other click" always like that or has it been changed? How the heck did I manage to have my game work so far ? (I have a dozen inventory items, all using only the "other click" event)
#335
Now that 3.5 is out (amazing work by the way) I'd like to push the idea of maybe considering making AGS more source-control friendly. At the moment it's always stressful to have several people use an AGS project at the same time. We haven't had a catastrophic failure yet, but we had a few conflicts or sprite IDs mixups, that sort of things. Leaving some files out of git is a hazard. Also not everyone knows how to use git, and less clever systems (like dropbox) are not too good at resolving conflicts.

Several things could be done :

  • getting closer to an "assets" system (as in Unity and Godot) where the files used are the actual files (script files, images) instead of a few annoying binary, pre-compiled files (.crm files, sprite cache, etc.). --> This would make tracking much easier (time stamps, etc.)
  • The main project file (game.ags) could be more concurrent-access-friendly
  • The IDs generation could be more concurrent-access-friendly
I'll explain below what I mean each time.

Of course, as always, the tricky part would be to still make it easy to move the project folder around without "losing" some files. For that, the so-called "assets" should be in a subfolder inside of the project folder. We would keep the import system and absolutely not replace it with a system of dynamic links.
Another tricky part would be to prevent the player from tempering manually with the assets.

But I think that very simple things could be done to kickstart this : For example, the sprite cache could be written in the Debug folder instead of the project's root folder, just like the .EXE file, since it's part of the output. The cache file would be replaced with Cache folder where all the files remain individual files. And to prevent the user from tempreing with them they could have cryptic names (such as "img0001.123" where 123 is the ID of the sprite?

Similarly, the project file (game.ags) could be split into several files (gui.xml, characters.xml...), all placed into a "Game.ags" folder in the project root.

Finally, I humbly suggest that the IDs should be recycled less . I think that when a sprite is deleted, its ID shouldn't be made immediately available again. Instead, the IDs should continuously increase, and only when they reach the maximum value should the unused IDs be recycled. This would be an imperfect-yet-cheap way of avoiding mixups with IDs. Because I use source control and shared folders (like Dropbox) it happened to me that some conflict let AGS believe that some views were still using some deleted sprites. It didn't corrupt the game (lucky me but it was showing views with bogus sprites that had been imported over the deleted sprites.
#336
I didn't even know that Windows had a package manager. That's pretty cool.
#337
I am extremely happy about this new release. The new changes are serious business.  ;-D

#338
Changing the entire view (even if only temporarily) is a good-enough workaround. I'll try it.
Thanks
#339
I'm trying to implement a "downhill" situation without the Downhill module.
What it means :
- The player walks DOWNWARDS (increasing Y coordinate)
- BUT In also want to show him walking with his BACK turned to the camera (as if his Y coordinate was decreasing).

The following code snippet fails to achieve that. The character keeps facing the camera the whole time What am I doing wrong?

Code: ags

    player.StopMoving();
    StartCutscene(eSkipESCOrRightButton);   
    int characterWalkView = 91; int loopWalkNorth = 3; int loopWalkSouth = 0;
    player.LockView(characterWalkView , eKeepMoving); Wait(1);
    player.FaceDirection(eDirectionUp);
    player.Animate(loopWalkNorth, 2, eRepeat, eNoBlock, eForwards);

    player.Walk(player.x,  payer.y+50, eBlock, eAnywhere); //walk downhill
    
    player.UnlockView(eKeepMoving);
    EndCutscene();


Note: I've tried replacing .Walk with .Move but it doesn't work either : It seems like the movement speed is now very high (the player almost teleports). Also we can see his back but I'm not even sure it's animated (but that might be because it's super fast)
#340
Looking for playtesters for a short Christmas demo

Hi! We'll release a nice little something on december 24th  ;) (a subset of the main game's code base and assets).
But we want it to be bug-free or at least enjoyable. So we need to see some guinea pigs!  :=

There are some conditions, though :
- You'll need to record your screen while you play
- You'll also need to record your voice and sort-of comment what you do
- the above implies that you need to know how to do video capture (use the free tool Obs like every decent streamer ;)  )
- You'll need a good Internet connection to upload the videos (to a free service like weTransfer or whatnot)

You in? Drop me a PM!  8-)

SMF spam blocked by CleanTalk