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

Topics - naltimari

#1
I'm excited about the latest news from Adobe, which is releasing a beta for Alchemy, their C/C++ to Flash compiler. This does not directly mean that now AGS games can be ported to Flash and will run smoothly, but this scenario is surely closer than ever before. After all, they have already ported the Quake I engine to Flash with it.

I wonder what CJ thinks about this:

Quote
With Alchemy, Web application developers can now reuse hundreds of millions of lines of existing open source C and C++ client or server-side code on the Flash Platform.  Alchemy brings the power of high performance C and C++ libraries to Web applications with minimal degradation on AVM2.  The C/C++ code is compiled to ActionScript 3.0 as a SWF or SWC that runs on Adobe Flash Player 10 or Adobe AIR 1.5.

http://labs.adobe.com/technologies/alchemy/

There is also a similar trend going on for Microsoft's Silverlight, but it seems it is restricted to Quake enthusiasts.
#2
I wrote a very simple plugin to open a browser window in any given website. I was thinking in posting it here and give something back to this community, which has been awesome to me. But before doing so, I want to hear feedback from you.

Right now, the plugin can open a local html page, which sits in the same folder as the compiled game, or, if the address starts with http:, it opens a web page. Both of them open in iexplore.exe, which is hard-coded by now.

Do you guys have any use for this, and if so, any requirements that I should include? Also, suggestions are welcome.
#3
I'm still investigating, but in my game I intend to use Avisynth to handle the videos. In short, Avisynth is an open-source app that acts as a proxy to WMP. Which means that in AGS, you just have to call PlayVideo and point it to an '.avs' file, which is an Avisynth 'script'.

I'm sure this explanation is overly simplified, and my english is not very good, so you'd rather visit the site to understand it better than take my word for it. But the advantages, from an AGS game designer perspective, are:


  • You can distribute the codec along with the game (the codec is just a dll file, unlike traditional win32 'codecs' which have to be installed), thus alleviating the user from the hassle of finding the right codec and installing it. I'm sure Avisynth can be installed on the user's system easier than a third party codec (like Xvid);

  • Avisynth has a lot of filters you can apply to your video, like transformations, transitions, and even text (you can subtitle your clip, for example), because its scripting language allows you to do so;

  • Avisynth has a plug-in architecture, and there are some streaming plugins around that allow for video over the network (hasnt done much research on this, but i think its possible);

  • You can mix two or more video clips, with audio, so you can achieve all kinds of effects, like voice overs, effects/music/no-music, etc. You can even 'make' a video out of a couple of still pictures!

  • Instead of just playing videos full-screen, Avisynth could be used to play video 'inside' the game screen, if only you take a snapshot of the screen prior to playing the video, then 'composite' the video inside the snapshot using the Avisynth scripting language.
As soon as I'm done with it, I intend to post a new thread explaining it, but if you guys want to do some research on your own and exchange information via PM, that would be awesome.

Avisynth has a huge following among video editors, and a huge community also. I think it would be a great addition to an AGS game designer's toolbox.
#4
To me, transparency in GUIs is the most confusing aspect of AGS as of now. I dont fully grasp the way AGS does GUIs with transparency yet, so I decided to write this post to see if someone can shed some light on this subject.

I know the first 'stepping stone' is to apply a background which has an alpha channel, but what I want to clarify is what happens when you want other images on top of it, like transparent buttons, mouseovers, etc.

This is what I found, so far (I will correct any wrong information in future posts):


  • When you import a sprite, there is an option to use the 'top-left pixel' as transparency, and this, as I understand it, RE-WRITES some pixels as magenta in the RGB channels of the sprite. So, you should only choose 'Leave as is' when you're dealing with alpha-masked sprites. Note: If there is an alpha channel in the file, and we specifically told AGS to use it, why should we bother? :-[

  • any sprites which DON'T have an alpha channel will INHERIT the transparency from the background ??? The ones that DO have an alpha channel get their transparency used. If you think this is strange, keep reading...

  • the REAL tricky part is when alpha-masked sprites OVERLAP inside the GUI... well... I couldn't figure out exactly how this works... I *think* the RGB bits of the sprites (including the background) are drawn on a RGB buffer, from 'backmost' to 'frontmost', while the alpha bits gets drawn to a SEPARATE 8-bit buffer. Then, the two buffers are assembled to form a 32 bit image which is sent to the GUI.
I hope CJ can clarify the last statement, since I'm not sure...
#5
I'm trying to compile a plug-in that uses AGS' IManagedObject interface in dev-cpp, but it's crashing AGS upon startup.

I'm almost sure that it is due to a different (incompatible) binary layout between VC++ and dev-cpp, because the same code runs fine when I compile it in VC++. Also, if I try to compile a plugin which does not use C++ in dev-cpp, it works in AGS. So, my guess would be name-mangling/binary layout incompatibilities.

I know CJ was explicit about using VC++ for plugins, but I wonder if it wouldnt be a matter of setting the right compiler switches to make things work.

Anyone has any clue about it?
#6
I need to know how many rooms there are in my game.

Since there is no 'Game.RoomCount' property (shouldn't there be one?), how can I do this? Help!
SMF spam blocked by CleanTalk