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

#1
There is already a fix for the keyboard shortcuts that will be in the next 3.6.1 release! :) (now the issue is understood more in depth we are evaluating some details around this)
#2
I got Mini vMac working with the all the things, except I couldn't figure how to actually run World Builder.

But then I noticed the website with the archive had a web emulator to run it!

https://emulate-in-browser.macintoshrepository.org/?macmodel=2&disk1=system6_tools.dsk&disk2=4869_WB-Original.dsk&r

Using the above it worked and I could play a bit with it!
#3
Thanks! I had not seen that, I will play around with that and see how it goes :)
#4
Hi, I have recently found a small piece of software I wanted to experiment with for ideas. Problem is, it's from 1986 and for Mac computer of the time.

The software is World Builder. Does anyone knows a way I could run and play with this software?

https://www.macintoshrepository.org/2984-world-builder
#5
I have no knowledge about other people so I can only speak for myself. I have made a few entries that I didn't manage to bring them to completion, and at the same time I don't think it's fair to import my half- finished code to a next mags opportunity, so I end up starting over in the other month. But I am feeling a bit overwhelmed with things at my work so when I have free time I find it I don't want to spend it at the computer - my work is mostly in managing people and projects these days and it can easily empty my social batteries.

Other than this the themes have felt interesting, so haven't had a problem with that.

Now, to switch and not talk specifics about me. Other game engines are more like a product, and they have a company or entity behind that cares about evangelism or there is some worry about getting people from outside in. I play Magic The Gathering and I see the people that work there in R&D talking about how to get new people to start playing, how to do retention, and how to get people that have stopped to come back.

AGS is not a product and there isn't any sort of behavior of evangelism on the community - most people feels more pragmatic about best tool to the job or whatever other behavior, but in general does not reach to other people outside the community to talk about the engine. A counter example is Edmundito's talk this year at narrascope, which was specifically talking about AGS to people not from the community.

This topic and the awards topic feels like community dwindling - or at least forum presence dwindling. This doesn't mean reduced numbers of users necessarily, as there's a quite few numbers of developers that use AGS that simply never use the Forums. I see a lot of AGS games on itch Io that don't mark the games as made in adventure game studio and some jams specifically disencourage using it - GMTK jam is the one I think here.

These are a bit of unfiltered thoughts on topic of community growing/retention in my way to work, mostly because I am curious about what other people think about this.
#6
Sorry but which version are you using? Just checking because ags initial release is like for DOS, so one never knows.

In anyway, scripting is the way to go, if you break the problem in "something that happens" (a condition) causes "something else to happen" (an action), we can then think on how to accomplish the goal.

So for the second part, the action, there is a script function that can change the room of any character. So the same way you can do player.ChangeRoom(2, 160, 300) (Just some arbitrary room and x y position) you can also use it so with any character - like cEnemy.ChangeRoom(2, 160, 300), but this will make the enemy in the same position exactly, you may want to nudge it a bit just so the characters don't overlap.

Then the issue is triggering this, what condition causes it, I don't know which version of AGS you are using, but perhaps it's an event associated to the player being in the region and then this calls an event function, which will have the script above.
#7
Thanks for reporting, this should be in the next 3.6.1 release.
#8
I haven't yet tried in Windows, that was Android.

@SinGala , if you have time, please try the AGS from here: https://cirrus-ci.com/task/6170912077119488
#9
I don't know if the engine can load a "naked" game28.dta file (it refused to load when I tried), but I wonder if a fully unpacked (using agsunpack.exe) game would make sense to then pack in the Android asset, because this would lower the memory offset indirections - unfortunately this is not possible for the spritefile, so not sure it's worth it. This is more to then use the compression from Android (in case it's desired). I still think for Android it's best we handle the compression/decompression ourselves though.
#10
I made a change that disables the additional compression Android does, only for .ags and .vox files. It should show up here eventually, please check it out: https://cirrus-ci.com/task/4912521337896960 (it may take a little while for the build to show up here)

Quote from: Crimson Wizard on Wed 08/11/2023 16:33:34But this means that it may be beneficial for Android ports to preload game resources once instead of re-reading or streaming them?

Overall it seems that the standard resource strategy of AGS is not fit for the mobile, and possibly for consoles too.

I don't know how things works in consoles, so can't say anything there. But the problem is if you are not re-reading/streaming you need to hold things in RAM. And if RAM is limited, how would one do that? My guess is the way would be to hold those compressed, and then you can decompress what gets used when needed.

Overall it would be better if there was some way per room where AGS could know everything that would be needed, then there could be some way to figure a strategy.

Here is the texture way of Android, https://developer.android.com/guide/playcore/asset-delivery/texture-compression, you can see it does lots of assumptions, like that the game is separated in levels and there are specific textures per level.
#11
QuoteI'd think this is purely an issue of slow resource search.

I have a guess Android is compressing asset files and this is making jumping through offsets very expensive when accessing these files, I will try later to disable this in the Gradle scripts. I tried to profile a different game - I hadn't noticed the update in this thread - and noticed a lot of time was spent in Android's own stuff.
#12
Quote from: SinGala on Tue 07/11/2023 16:31:21In other news, I seem to have trouble building for Android on this new version. I get the following error every time I try to launch the .apk on my phone :
"AGSNative
Loading game failed with error:
Main game file not found or could not be opened.
Filename: ac2game.dta..

The game files may be incomplete, corrupt or from unsupported version of AGS."

Until I manage to fix that, I won't be able to verify that the issue is fixed in the 3.6.1....

Hey, this was a mistake on the engine side, managed to reproduce and found a fix for 3.6.1. Should have a newly packaged Editor with the fix here soon, until the fix makes into a new release.
#13
Can you make a minimal AGS game that reproduces the said issue? I can't figure anything that could cause this so far.
#14
I found an upstream-upstream issue that maybe causes this (https://github.com/nothings/stb/issues/1249), but of course having the actual file is the only way to verify if this is actually the issue.

But it should affect all things and not just Android.
#15
Is this the ACTUAL script code? Sound is played asynchronous in a different thread, and format should not matter.

Also important is which exactly version of AGS you are using? The latest 3.6.1 has the sound decoding library updated.

Probably relevant the exact specific Android device - maybe it's something so old you don't have RAM available - and also the exact specific sound that causes the issue. But technically it shouldn't be possible as it's always run in a separate thread and not synchronously.
#16
Well, 2023 still had new AGS games, maybe a little less in the commercial side but it still had, from the top of my head, Dreams in the Witch House, Menial: A Utopian Bagel Simulator, Broken Windows Chapter 4, Tunnel Vision, Stranger in Utopia and Shards of God. There were other games and demos, and a few newcomers to the engine and some long time users returning to it.

About the resources, I wonder if instead of having them delivered for the award ceremony there could be some incentive to put them in the AGS Game Database somehow, the problem is possibly storage, but like a music file that represents the game and screenshots and maybe even some way to listen this music and see these screenshots directly from the Game DB, and then asking for the resources could be just a reminder for people to make sure things are updated there.

The good thing of asking for the resources is they work to remind people of the dates - and then I guess the hard part is the game developers themselves reminding to be present at the time of the ceremony. I don't have particular thoughts just that I find the ceremony pretty sweet but I also understand that it's hard to find time as our lives get gradatively busy and I fell some new users use AGS as a stepping stone to game dev and then migrate to other engines - which is fine but it makes hard to have community members that stay and participate in community activities.
#17
Ruby beginner friendly? Are you in Japan?

Anyway, I did though had 8051 assembly as my first language - and Z80 assembly, and PIC assembly and then that the Motorola 68 assembly, and only after that they decided I could learn C. :P But that said Python and that it doesn't use types can be very tricky in runtime errors.

But if you want some intermediary solution other alternative is you could come up with other language and make a compiler for it to the intermediary instructions the AGS VM uses and just build the script object from this language. You would still have to come up with all your tools - a compiler and something to write your code in.

Overall I think AGS Script is an ok first language and I would recommend trying it out, as things are very integrated. There's a new AGS Script compiler in the alpha ags4 branch that fixes a lot of things and I think it should give a better experience in a not so far future.
#18
It's absolutely not a thin layer over C.

It's really hard, but yes it could be done as a plugin. The previous Lua implementation was two plugins, one for the Editor and other for the Engine, made by a person in the forums and not currently maintained - afaik it won't work nowadays easily and I don't think the Editor part was open sourced or the code that generated the plugin code was open sourced - only the final generated code at the time, I think around 12-13 years ago, and no one maintained. Probably would be easier to create a new one.

You can get the function address for the internal calls to each script API function, so you would have to generate some code that asks for each of these and make a translation to whatever language you want to support - this only in the engine plugin level. And then you would have to figure it out how to handle all this, like how you want to run that language interpreter and all that and abstract this in the engine plugin you are building. Any support for coding in whatever specific language you want you will be coming up with your controls, autocomplete, intermediary parsers and all that in your Editor plugin or use an external editor and hack stuff up.

I am not telling you "don't do it" but I am telling you "absolutely don't do it as your first experience with this 25 years old engine", if you have interest in AGS, I suggest to explore more the ecosystem, experiment with it, try building a very simple plugin, go slowly.
#19
Ah, super cool, how is it using Dragonbones ? I have tried a few skeletal animation programs and noticed they are quite different, does it work with key frames and setting transitions?
#20
I think it's not possible, you would be using that interface to add. My guess is the alternative would be making your own parser using AGS Script and making up some text file format you read and use it to configure your own handmade parser.
SMF spam blocked by CleanTalk