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

#81
Overall I would recommend to before doing anything to make a copy of your project folder and if possible a backup too.

It sounds though that at some point you just opened your project with AGS 3.5.1.

If that is the case, there should be a Game.agf.user file in the directory and maybe a few other ".user" files there, they could be removed.

If you absolutely didn't, my other guess would be that in your AppData/AGS in Windows there is a preference file written by AGS 3.5.1 there, so you could remove that or reinstall the 3.5.0 version you want - I don't remember if 3.5.0 and 3.5.1 attempt to use the same install dir or not.

Any reason to not use 3.5.1 or the most recent 3.6.0 version or the beta 3.6.1?

Also, I really recommend using some form of version control, this would help identifying which files changed when.
#82
Engine Development / Re: AGS engine Web port
Wed 27/09/2023 00:39:22
The web port runs c++ code built to wasm, in the browser wasm VM. The wasm VM has no direct access to the browser, or the DOM, so the way it works it can map to some JavaScript functions in the JavaScript VM.  Then the JavaScript code gets to call the browser stuff. This means the browser can only take input and draw things on the screen when these other things are not running - there are no threads or different process here.

The AGS engine has lots of internal loops, so we can't easily give the priority to the browser and back to the engine - the general idea of Emscripten kinda expects you have only one loop and then you just give control to the browser and back in one place in this single loop - like it gets to a certain line, the wasm VM stops and call JS and then the browser draws updates the frame and return to the VM.

Now AGS has - for now - lots of different internal loops, and there is a port, so how did I do this. So Emscripten has a sort of solution to this, called Asyncify, what it does is it analyzes the code for each time you destruct your app state - like assign a value to a variable - and then it finds points with hints (I am using SDL_Delay for this) to create points where it saves the stack state and then later once it gets called back it rewinds the wasm VM to that state - all of this is actually done adding extra instructions along the code. Later there is an optimization step that tries to recoup a lot of this lost performance, and it's really good at figuring unneeded instructions. Still, all of this gets a performance impact.

If AGS had only a single internal loop (like löve and a few other engines), the port could be done without using Asyncify at all, it would build faster, but above all, it would run faster - not a lot faster, 2 or 3 times of what it performs now.

The idea of the refactoring is the issue #1349. In SDL3, some ports (like the Apple stuff) may support inverted loops (additionally to the current approach), according to SDL#6785, so these platforms would benefit from this too.
#83
Engine Development / Re: AGS engine Web port
Tue 26/09/2023 20:29:08
Which version of the AGS Editor are you using? Can you share a link of your hosted game on itch - you can make it private and share the password.

The memory limit is usually actually lower, around 500MB of "storage" (it's in RAM). And don't expect to change soon - it's at least three years to get 64-bit support in wasm in major browsers.

I don't know what is a x260, is this a phone? For some reason browsers with touch require a resting finger on screen to give more processing priority to the browser.

About resolution, it probably doesn't matter performance wise but it depends how you are building your rooms and everything. The web engine is naturally slower than the native one - there is a big refactor in AGS handling of loops that could unlock a 3x speed up in the web port but that's kinda it. The issue of resolution is more that the resolution that the game runs depends on a few things right now - the browser gives a fake resolution to AGS. Getting the real resolution right now AND keeping windowed/fullscreen toggle working requires a bugfix in Emscripten - and then adjust the SDL code with it. I haven't gone that road, there is a lot of effort to merge things in these things in the upstream.

I am between a place and another and may adjust the text later, but the short is that without access to game and knowing the version there isn't much to do. As an example someone here sent me a private message and for whatever reason their game had a mysterious character in acsetup.cfg that made AGS give a weird error. Rewriting the acsetup.cfg and reencoding it made the game work.
#85
I really liked to play this game! The first person view reminded me of old-school detective games, but instead of pixels we get Lorenzo's beautiful art in full hd - and the extra pixels means reading text here is a breeze. Definitely had fun testing!  :)
#86
I think it's the Twitter from the dude that was a Twitter founder. I wouldn't mind an invite only because I like to take my user in things just in case. lol
#87
I think there isn't any way to read the volume level of any sort like enabling making an equalizer in AGS Script. But for lipsync that you want, have you tried using Rhubarb paired with the TotalLipSync module from Snarky?
#88
The Android Build can only work with Android Studio, as written in the manual. Which Android Studio are you using?

I also always recommend using the latest AGS (3.6.1.8) and latest Android Studio - use the JetBrains Toolbox to follow the Android Studio releases and easily upgrade. This is because Google Play Store has strict requirements for what version of the API you are targeting and how you build - and following up includes upgrading other things like SDL and keep compatibility in AGS engine with newer android versions. So if you are using an older version of the engine, even if it builds, you won't be able to release. We are using Gradle 8.3 currently which is compatible with the latest Android Studio - and near future upgrades.

I see your error reports a previous Gradle version, and one possible issue is that version isn't compatible with java 20 - I can't tell if you installed it manually or not. In any case I recommend using the java from Android Studio and not a manually installed version. Unfortunately there isn't much we can do regarding the build environment with Google using Google Play to keep upgrades going - we do try to keep it working in older Android versions, as long it's supported by the newer tooling, I believe it should work from Android 5 to 14.
#89
Please try using ogg instead, mp3 can't loop perfectly due to how it's compression works.
#90
This is better at the beginner forums

Please tell specifically exactly which ags version you are using and please share the audio file you are using.
#91
@aKro I think our default is to include the built-in plugins, can you try the macOS binaries here: https://github.com/adventuregamestudio/ags/actions/runs/6209696836 ?

I realized I need to update the Xcode project again on master after miniz has been added, I will do a PR for it later.

---

I think if we assume we only support whatever is the latest version of macOS we could provide macOS binaries on release. The binary running in non-latest macOS would be limited by Xcode and non-specified by us in this case.
#92
Hey, even if your art you think isn't good or whatever, but if you can make all the game art feel the same, so it's consistent, I would say have the entirety of the game being consistent is better than not. Say you nail down to some awesome backgrounds but then add some character sprites that are in a different style, I think it's worse.

Overall I would focus on finding your own process and then just keep it for all the art you need.
#93
About pixel art matching colors and indexing, I've used this in a few cases

https://www.pixelicious.xyz/

(ah just to future proof this message, at the time I used this, there was no login and no charges of any sort, it was purely free)

There isn't any way to import a palette of colors, so I usually either entry the palette by hand or use something close and later adjust in Aseprite.

In Aseprite there is an interesting scaling method called RotSprite that is cool for smaller sprite - it can halt the PC in very big images.
#94
Editor Development / Small editor improvements
Sun 17/09/2023 14:03:32
Occasionally when using the Editor I see some stuff that looks "maybe not that hard" and that feels it would improve usage. Whenever I attempt something in this tiny scope I will put here just to not polute elsewhere with tiny changes.

The other reason is just if I am thinking wrong about it someone can just interject here (assuming most people don't follow things in GitHub).

OK, today my first thing in this is adding a button to open the file explorer in the compiled directory.





https://github.com/adventuregamestudio/ags/pull/2133

#95
In the sense of screen transitions, I always had a feeling that if it was possible to screenshot the room without the mouse cursor, it would be easy to script your own transition - say you hold the screenshot in a GUI and then instant fade in in the next room, then you can change the transparency of the GUI holding the screenshot to "crossfade" to the next room. If it was possible to screenshot without GUIs too it would be perfect because then you can do things like slide left and slide the new screen from left - or perhaps this is doable with a combination of previous screenshot+viewport... To hack around this in my game I used the fake screen module with some fixes and used it to make my own transitions...
#96
I think @Crimson Wizard made a change in the engine to fix this, since AGS 3.6.1.6.
#97
I can't reproduce this, can you tell me which virtual machine (Virtual Box, WSL2+Win11, VMWare...) you are using and which host system?
#98
Well we don't have to support zip files then, was just imagining things when looking into multifilelib, and then we could support looking into individual files and deal with compression in a second layer when opening the files - I really liked the zip stream idea.
#99
About the decompression stream, I think it could be used then by multifilelib, so it could have each asset in it individually compressed and then just load them. Zip files also do individual file compression.

I don't remember if .ags packages have some magic number identifier. But I could imagine a version of multifilelib that has support for both regular .ags packages and also .zip files, and if there is some unique magic number they could even have the same extension and then it would use whatever is the format it was packed.
#100
Thimbleweed Park uses a very different number of actions and system that I think your drawing wants.

You may check the verbcoin template and see if that is what you are after - more similar to the game Full Throttle, but for your icons you are going to have to customize things. I have a feeling a verbcoin may be a bit harder to use if you are using AGS the first time. :/
SMF spam blocked by CleanTalk