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

#541
#542
Play testing this feature it really shines if you have a second monitor, otherwise you need to play the game windowed - it's fine in single monitor if your game is not HD and your monitor is reasonably big though.
#543
🚨!!Just to test log, backup things, if you are playing with this!!🚨

⚠️>Download: AGS-3.6.0.35-Beta15_DebugLog.zip<⚠️

So, we currently have logging in the engine, and it's very nice, it has all sorts of options. You can use System.Log function for it. But currently you have to either use AGS through command line or configure it to log to a file.

See log levels at the end of page here: https://adventuregamestudio.github.io/ags-manual/StandardEnums.html#loglevel

Well, I want to add a panel so when you run it through the Editor debugger you can pick up your log messages right there. You may have to enable it, in the above build, by clicking on Help-> Show Debug Log



Anyway, would this be useful to others? Is there anything in particular you want to use in such feature?
#544
Engine Development / Re: AGS engine iOS port
Mon 17/01/2022 12:38:49
I created an issue in AGS repository about the iOS SDL2 port. If any iOS developer is working it, please signal in the issue! Any questions or problems please ask. Unfortunately I don't have an iOS device, so I am a bit limited. :/

https://github.com/adventuregamestudio/ags/issues/1505
#545
The only way I found to truly unjerk the movement is to not use movement linked with animation. In my games I only use it in rooms where the camera doesn't move, and every other rooms I don't. The usage of still ticks and the box alleviates it but only works if the character still moves reasonably fast.

Set your playable Character MovementLinkedToAnimation (anti-glide) to off and see how well it works. If the room has lots of scrolling the gliding is not very perceptible.

You can of course edit the code of the module, I want to update it so it's possible to change these values without doing so, because then it should be easier to everyone. :)
#546
It's probably the lerp factor here

https://github.com/ericoporto/rellax/blob/a6d532a4d938833709cd5c618216b049461f4593/rellax.asc#L272

I will come up with a way to expose this as a property.

I need to check since when I made this module for my problem with faster walkspeed in mind - like the platformer in the demo. This is the same problem previously reported but linked above.

Relax works like this (from memory), there's a 40x40px box at the center of the screen, when the character is outside of this box things happen to attempt to put it back in the box. I think for lower speeds I need to also expose this property to reduce this window size, this is made so it's easier to do precision jumps in a platformer or other precise movements without the window scrolling, but 40px window may be too big depending on game resolution - hence the need to expose it.

Ah it can also be the still ticks. Can you make your game 60fps instead of 40fps? It should take half a second on a 60fps game, I can also expose the still ticks, these were made for when a character falls it falls downwards, it only matters if the movement is done without leaving the box borders.

Edit:

Later today I will do a new release that should ease understanding, tuning the camera and fixing issues.
#547
Engine Development / Re: AGS engine Web port
Sat 15/01/2022 08:42:34
I have not implemented the file sync, I may eventually but it's not on my priority list right now, I asked people to ask because I need to understand in what order to do things. Right now the biggest problem is unfortunately not in AGS at all, but in Google Chrome Android builds: https://bugs.chromium.org/p/chromium/issues/detail?id=1285389

Other than this I am looking into how to merge my work into AGS codebase so I don't have to rebase and build things by hand - I have just yesterday fixed a bug in emscripten so now I am waiting a new version to be released - should probably happen in a few days.

In between I am looking how to make the HTML nicer - I want to merge both multigame and single game launchers in a single HTML to ease maintenance.
#548
Engine Development / Re: AGS engine Web port
Fri 14/01/2022 07:25:34
The whole game has to be loaded in RAM, usually mobile devices have a lot less RAM than desktop - and RAM is used by everything here, the filesystem, AGS, and everything else. Also there's a hard limit on RAM size allowed for the tab that simply depends - I think max it goes is 4GB in perfect temperature and pressure conditions. So reaaally bring down that number. Use sprite compression in AGS, and if possible use lower quality ogg audio, which may not be perceptible to the player and keep the game as nice as is. I think there was even a test for other sprite compression algorithms... Also reminder that the game size is full uncompressed game and not the zip you upload. Also remember that one person on a phone that is not warned before the download may end up spending all their limited data in your game by accident - itch.io warns all the time to keep size of the web game low, and this is one of the reasons.

About persistent savefiles, currently the implementation is a bit tricky, it works like this, the browser has a very limited storage per website, of around 50MB.

The idea is to sync the virtual filesystem save directory (which is mostly smokes and mirrors) to the key and value browser storage. Now the problem is that game savefiles in AGS can get quite big - the main culprit are Dynamic Sprites, if they exist when the game is saved, then we are going to serialize them, and they are serialized as bitmap, so they may take a lot if they are very big. So if you have lots of dynamic sprites you may need a custom save system.

The other thing is that if the user never access your game website after sometime, well, you will keep using that storage for your game in his computer indefinitely until they ever find out how to clean this in their browser. This is something that I don't know any easy solution. I wanted to add at least a sync option somewhere as a button so at least the person clicks this and this should remind them that they may need to delete this. The other possibility is to let people download their savegames, but this would not work with a custom save file. Anyway, there are some design issues I haven't been able to figure out.
#549
Hey Pajama Sam, welcome to the forums! We are lucky you heard about AGS and you are here now! Please grab a cup of coffee with us. :)
#550
@Icey, what CW said, the how-to, it's in the first page!

An important thing from that page that could be useful to you:

an object with Px and Py 100 will be fixed on the screen despite camera movement.

This is about your other question in the other topic.
#551
Engine Development / Re: AGS engine Web port
Mon 03/01/2022 12:57:54
This is a test EDITOR, please backup your game before trying it!!!!!

Better yet, make a copy of the game you want to test with this.

_edit:removed the experimental editor link since it's now in main AGS builds_

This adds an option in the General Settings, where you can select Web for the Web build. This is in super experimental state.



(I am trying to understand how adding new build targets in the Editor works, code is from here)

Maybe the Editor could have a webserver too for serving the web build (something like this), but not sure yet how it would work in the interface and stuff, so didn't add it.
#552
Engine Development / Re: AGS engine Web port
Sat 01/01/2022 13:23:33
Hey, I pushed a new version here: ericoporto.github.io/agsjs/

If people could try running their games there, it's based on the latest 3.6.0 release. I haven't yet updated the single game package.  Erh, just updated now the first post!
Quote from: Hobo on Thu 11/11/2021 16:35:44
I did have some issues with the itch.io native fullscreen mode, the music stops playing for some reason when switched to full screen, but the in-game switch seemed to work fine. Any idea what that could be about?

@Hobo, could you give me a game that this happens so I could try to figure it out? (it didn't happen with Prelude in the latest build at least)
#553
Thanks @Monsieur OUXX, it's currently using it's own software renderer (in script), but I have an update soon with an optional hardware accelerated renderer (using Z ordered overlays from 3.6.X) that I will push soon - it was actually the original renderer since I started doing this with ags4 in mind and then retrofit for 3.5.X.

Unfortunately I haven't had any clue yet on how to provide something similar to nine slice theming (in a way the API is kept nice). But at least the hardware acceleration should improve drawing times.
#554
Engine Development / Re: Why is AGS slow?
Sat 25/09/2021 00:27:48
I in particular would love to be able to do the stuff I can do in löve with Lua but in AGS.

In addition, having a faster language would enable porting some libraries and things to AGS Script directly instead of a plugin. When doing ImGi module I had to be reaaaally economical in my scripting and it still runs much slower than the original version of that library  (microui).
#555
Engine Development / Re: Why is AGS slow?
Wed 22/09/2021 15:28:10
About bytecode, it's possible to generate both 32bit and 64bit bytecode and the runner just use the one it's compatible with.

(In case 4 is too hard)




Uhm, there's one concept I am not familiar what it means but I see it mentioned when people talk about interpreters, which is JIT, but I don't know what that is. Looking online it appears to be an important thing of why JVM is independent of bytecode "bitness". But again, I don't know what that concept means.




I took a brief look at the compiler and it seems there are some byte offsets that are multiples of 4 (instead of 8 for 64 bit), but out of that I can't readily identify where are the 32 bit limits in the compiler. Now on the running the script, assuming most problems occurs on cc_instance.cpp, it looks there's a lot dependency on 32bit. These are parts of the code I haven't played with much, so this is just from quickly glancing at it.
#556
Engine Development / Re: Why is AGS slow?
Wed 22/09/2021 14:49:19
I am not sure, but I think by 32 bit compatibility mentioned is the compatibility of running a game made in a 32 bit computer in an old version of AGS that worked differently than today in the current engine on a 64 bit system.

Anyway, we need to support 32 bit processors for Android as far as I can tell there are still a good number of 32 bit arm processors in use.
#557
Engine Development / Re: Why is AGS slow?
Wed 22/09/2021 13:13:30
Quote from: Crimson Wizard on Wed 22/09/2021 13:01:55
Quote from: Monsieur OUXX on Wed 22/09/2021 12:12:00
Quote from: eri0o on Tue 21/09/2021 21:28:56
object references could be direct but they use a hashmap/btree
Ouch.

I do not know if eri0o is refering to what I may suspect he's refering to, but if it's about accessing managed objects in script, primary access operations are done through flat array; hashmap is only used for the backward lookup (object pointer to managed handle) and that is done in limited cases (like disposing an object).
Of course hashmap or btree may be somewhat slower than accessing objects directly, but there has to be an actual research to find out if that is the cause of slowdown, and how much does it slow down anything in relative terms.

So, in my experiments I did (unfortunately I blew up the recent  banch experiment with this by accident), there was pretty much no impact at all - or the way I was measuring was wrong. So I just mentioned because I thought it was something that could matter, but when I tested changing, it was a lot of work and I couldn't perceive any gains.

This is other problem, I have feelings and ideas of what I think are impacting performance but when I go to measure stuff, it's never simple or obvious.

VS has a reasonable profiler for instance, in theory I should be able to use it and pickup which things are strangling performance. But in my experiments nothing stands up - it produces flamegraphs and other visualizations.
#558
Engine Development / Re: Why is AGS slow?
Tue 21/09/2021 21:28:56
Modern CPUs use a lot of advanced techniques to be efficient. I think the code for the script runner and other functions just doesn't use these newer CPU features well.

Generally the code is not written to prevent cache misses - enforce a predictable code path, the CPU drawing/bitmap code doesn't make use of SIMD instructions (allegro4 is before this was a thing...), and object references could be direct but they use a hashmap/btree instead, ... All of these things are not easy to change and also keep compatibility and portability. But these are the main things I kinda noticed... I have made occasional experiences but overall I find the existing performance is alright for my needs so the work required to change is just too much for me to care. Overall, I find it's better to favor portability and flexibility instead of performance.
#559
All the images in this thread have been been swapped by chinese panda drawings
https://www.adventuregamestudio.co.uk/forums/index.php?topic=25205.0
#560
Hobbes, try Rellax.EnableSmoothCam = false; , there's also a separate one for disabling parallax scrolling - you may want to disable camera smoothing but keep parallax scrolling going if you are controlling the camera with a Tween for example.
SMF spam blocked by CleanTalk