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

#221
Engine Development / Re: AGS engine Web port
Sun 26/02/2023 19:05:27
@Crimson Wizard well, for start, there are no files, we fake things using library_fs.js. This API should be replaced by WasmFS sometime soon. Emscripten itself gives us some pseudo-posix thing in the browser.

Anyway, when files are saved we actually write things (file contents and things like permissions, path, and other stuff) in IndexedDB - this is done through library_fs.js, and not by hand. IndexedDB is basically like a key-value DB with some considerations for the browser - things like domain and isolation of information.

OK, so we have this bunch of information, we want to download these files, now we can't just download, we need to convert these into files, and we can't download a bunch of things in a click, we need to turn all these files in a single file. We need to

  • know the game file save dir from JS world
  • no one is writing to any of these files, need to make sure of this - or work in the synced files
  • we need to zip or pack all the files in there
  • we probably need a JS zip library for this or zip capabilities in engine we can link from JS to use to pack these files
  • we need some UI for this - seriously, ui is not easy
  • need to test and make sure this works in all browsers - Safari really likes to try to open things in a tab instead of triggering a download, so we need to work on that
  • need to add documentation to explain what to do with these files

So beyond doing all this stuff - where most time is spent testing on the different platforms and browsers.

My suggestion is wait a bit for showDirectoryPicker, with that, we could just write/read files directly to disk.
#222
Engine Development / Re: AGS engine Web port
Sun 26/02/2023 17:45:07
Currently no, and I don't plan to give this option soon, there are some complexities involved when doing something like this that makes not easy to support right now. I really don't think investigating this is a good use of my time facing all the other tasks to do.

At minimum I need to add zip support, which takes on a new dependency and need to take license in consideration. There's also UI design issues to think, and beyond this, need to check the online store frontends what's the practice there. Then there is maintaining this. Overall, I prefer to keep desktop and web separate things.

There's a Browser file API in development in the web standards, it's experimental in Chrome and once the API settles down in theory would be possible to just use the default directory on Windows - you would just give AGS in the Web access to it through a prompt. I would like to implement it in this way, once that is available.
#223
I think system.gamma current implementation uses real gamma, this is why it has such limits. There was once an implementation by @Alan v.Drake that was in his own experimental branches. It was not real gamma, but it was for all renders and it simulated it pretty well - it would not fix a badly adjust gamma of a monitor but it did simulated the adjustment in the renderers on top of what ever it was.

I don't remember the caveats/how well it worked.

I know real gamma modifies the entire display usually, so in SDL3, it's been removed - it was possible to modify gamma of the entire monitor in SDL2, but this causes some problems in platforms, as some system even try to correct for gamma when loading image files.

Are you trying to make a dark game and facing monitor differences?
#224
There were some nonsense point and click games made in Kill & Play

https://kliktopia.org/details/detective%20mouse.html
https://kliktopia.org/details/The%20Murderer%20(Michael%20Zerbo).html

(also regular point and click https://kliktopia.org/details/Maniac%20Island.html )

I remember games with pictures mixed in it - I remember klik n play had more colors than MS Paint in my computer so I used it to draw at the time. But I don't remember any online community of sorts at the time, I think the games I had were stuff that were bonuses hidden inside CDs that were attached to magazines.
#225
Played the game!

Spoiler
My cat was along with me listening the music when I played. It's amazing how the music can guide our feelings!  :~(
[close]
#226
Engine Development / Re: AGS engine Web port
Sat 25/02/2023 23:31:52
@Dungeonation I think I got it, please try, the files are here ags_htmljswasm_v02.zip, should work like the other time, please test. It looked promising in my tests.

If you have trouble with the size, make sure both game_scale_fs=proportional and game_scale_win=proportional are set in acsetup.cfg.

The PR for the fixes in the files above is here: https://github.com/adventuregamestudio/ags/pull/1932
#227
Thanks! We have booked all places we will stay in Italy! Now we need to figure out if we are indeed going to Basel at the same end of the trip or not and where we will stay there.  :-D

Ah, right, we are still figuring out a rough plan of things to do on each city in Italy.
#228
ok, let's go back one step.

When you say you have a room with a button you mean that, in a room of your game, there's a GUI that is shown, and in that GUI there is a GUI control that is a Button, and in that button through the event (⚡) page in the Button properties you linked a function in the Click event.

And the function you linked is show_restore_game_dialog.

So, you can't do that, because button click takes two parameters. Just clear it up, click on hit so it generates a skeleton function on Global Script, and do the function call there.
#229
Can you show how you are calling that function, exactly?

Spoiler
the error message reads like you are calling it show_restore_game_dialog(a, b);, but it takes no parameters.
[close]
#230
It's probably converting RGB colors to AGS colors, and AGS uses a curious color representation that has a palette in it's initial values. I think it's like 5bit Red, 6bit Green and 5bit Blue, and if R and G are 0 then Blue is palette index.

I also don't remember if color is relative when tinting (is 32,0,0 the same as 255, 0,0?).

Maybe this thread from @Snarky helps

http://www.adventuregamestudio.co.uk/forums/index.php?topic=43311

Or this other one

http://www.adventuregamestudio.co.uk/forums/index.php?topic=34391.msg451781#msg451781

Curiously at the beginning of this thread CJ was still around so he explains the tinting process in AGS. I believe it's exactly the same for backwards compatibility.
#231
Engine Development / Re: AGS engine Web port
Fri 24/02/2023 11:44:19
Hey, I know exactly what the problem is there - there is a bug in SDL and it is setting the size of the fullscreen canvas (the internal size not the css size), so when your Fullscreen and iframe aspect ratio doesn't match, the black bars appears.

I am trying to find a way to workaround this but so far haven't found an attempt that doesn't break mobile - there is a different bug there that SDL simply ignores screen rotation.

So far the best workaround I have is to query the size of window.innerWidth and window.innerHeight once per frame and issue a resize if those changed, but I am trying to see if I can do something else first - I am almost settling on this though.

Investigating this I also found out it's not possible to have a PWA (installable for offline usage) version of a game on Itch, Gamejolt and online game stores in general - they want to maximize site interaction so they don't want people to not use the website through installable web apps apparently.
#232
@heltenjon hope you get well soon, our eyes are super precious things. :(
#233
Ha, a game made in Bitsy! Next time I am on the computer I need to try it. :)

Looks sweet.  :smiley:
#234
Engine Development / Re: AGS engine Web port
Thu 23/02/2023 01:42:31
@Dungeonation can you test this ags_htmljswasm_v01.zip ? In your game Compiled/Web directory, just copy the files from the zip over the ones there. This should fix the missing cog wheel, and MAYBE the buttons and the fullscreen, but not sure on those.

I pushed the change of those and an additional change for high DPI screens in the AGS JS website. The fix was this commit, and it fixes downscaling artifacts in high-dpi devices - an image show like this instead of this. EDIT: unfortunately this fix breaks fullscreen completely when the game is run from inside the iframe, I think the bug is in SDL, so can't do that.


I am still looking into the coming back from fullscreen resize fix when the page is in an iframe.

Ages ago someone told me that keyboard wasn't working for them but I could not reproduce it. Thinking about it now, this is probably related to the iframe, I need to figure it out what is the difference when the game runs inside an iframe for the keyboard.
#235
Engine Development / Re: AGS engine Web port
Wed 22/02/2023 15:25:49
OK, so these are three things

  • return of Fullscreen in iframe may leave canvas with wrong "size" (this is probably something in the difference of the width and height and the style width height, need to take a look)
  • cog wheel doesn't appear in a page - the cog wheel doesn't appear when in Fullscreen, but when non-fullscreen it should always appear, my guess is it's there but scrolled out of sight, some css to positioned it absolutely should fix it.
  • options menu may cut the text of the buttons in it on small sizes

I will take a look into those.

I am trying to figure this other thing out, already discussed it with CW, it's more a design problem

https://github.com/adventuregamestudio/ags/issues/1930

#236
Engine Development / Re: AGS engine Web port
Tue 21/02/2023 20:16:10
Hey, the new stuff is in the AGS Editor released today! Also the Freetype used by the web port now matches the one used by AGS engine in all ports (Windows, Linux, ...), so I hope we have less issues with text rendering on the web port now.  ;-D
#237
General Discussion / Re: Welcome back!
Tue 21/02/2023 13:22:43
Thanks AGA!

It's nice to have the forums back, it's a very comfortable corner of the internet.  :-D
#238
Engine Development / Re: AGS engine Web port
Tue 21/02/2023 01:29:06
@Dungeonation A heads up that on-screen keyboard is not something that will be done quickly or soon, I would like to explore ideas and all, but it's the hardest of the above items. I will be honest, I forgot about this entirely until I went to play the current pick of the month and realized I could not enter the save game name to start the game.  :(

Spoiler
I looked up how this was solved in RenPy and they implemented their own on-screen keyboard - this is hard because it usually look out of place from both the game and the native ui, and has the difficulty internationalization aspect, but it looks like a possible approach. In GameMaker it gives some API so that you can make up your own keyboard areas and then you draw separately in-game. I haven't figured what other engines are doing.
[close]

About touch screen to mouse simulation, the options in default setup should give some minimal options there - relative vs absolute mouse movement, and two different mouse emulation modes. I also notice that increasing hotspot areas and interface fonts in general helps - I hope the new Fullscreen button helps on mobile.

I think in ags4 it should be possible to roll in some sort of touch API, which would enable constructing your own multi-touch stuff by leveraging the existing GUI system in AGS.

For now approach the existing limitations as a design problem - but still, it's good to explain what you are facing here as it helps figure out how to prioritize time on each task, as they all require testing. It also helps me to think about the development problems to write things down in general.  :)
#239
Engine Development / Re: AGS engine Web port
Mon 20/02/2023 23:08:02
@Dungeonation , the last version on the agsjs website supports arbitrary file writes to the save game directory and will sync those too. It will be in the next release of the AGS Editor too.

@Manu thanks!

There is a small caveat that I think iOS Safari may delete the contents of IndexedDB after seven days of not visiting the website. I haven't found any concrete docs on the matter only user reports. Chrome and Firefox in Android and elsewhere appears to just hold it up as long as you wish.

If anyone can design some menu that looks prettier and works with touch and mouse let me know, I made the simplest design I could come up.

Next things I want to look at, in no particular order, if you need/want any of these or something else, please write here so I can know - it doesn't have to be a feature, there may be some bug or rough edge I forgot/didn't pay attention to.

  • copying USER.ico as favicon.ico (very easy)
  • PWA installation for offline usage (easy) (super hard, because itch and other game stores simply doesn't support, it's easy through your own host/GitHubPages)
  • full engine clean up on exit - allows restarting the engine (hard)
  • config gui (hard, requires full engine clean up)
  • fix font rendering by patching the the freetype in AGS repository to work with Emscripten (hard) turns out keeping up with Emscripten versions paid off, this is now done, and it was very easy, no patching needed
  • on-screen keyboard support on mobile (very very hard, probably need to make one in-engine)
#240
Thank you @lorenzo , that is a very good heads-up!!! I had indeed been emailed the Qr code, I am going to print this stuff as a guarantee! I got my tickets early today as there were some discounts that end this afternoon.  :-D

I am now finishing up figuring out the places to stay in each town. Hope to get things all booked this week.  :)
SMF spam blocked by CleanTalk