Adventure Game Studio – now open source (again)!

Chris Jones, the developer of Adventure Game Studio, has graciously opened up the source code to his ambitious project. During the past few months a couple of developers, including ourselves, have started to poke around in the AGS innards in order to assist in its development. Here at SkyGoblin, we are very fond of AGS and will, in the spirit set by Chris Jones, make any changes we make to it publicly available.

The most notable difference between the official version of AGS and the SkyGoblin branch is that ours has support for custom screen resolutions in the editor and engine. In the case of the HD version of The Journey Down, we build our graphical assets for 720p (1280×720 pixels) screen resolution. We have altered the engine such that it will first attempt to set the monitor to the custom resolution (1280×720 in our case) and, if that doesn’t work, stretch the graphics to whatever resolution Windows is currently set to. Later on, we might add support for letterboxing on screen resolutions with aspect ratios other than 16:9, but we have not yet decided on whether stretching the game looks better than letterboxing.

To those of you familiar with AGS and who are technically curious, it’s worth mentioning that we’ve added support for new screen resolutions by adding a new kind of graphics filter which handles the rescaling of screen coordinates. Out of the different solutions we considered, this felt the least intrusive and least likely to break already existing functionality. AGS already has support for upscaling games by fixed multipliers (320×240 to 640×480 for instance). We’ve merely added support for arbitrary scaling. Note that custom resolutions currently only work with the Direct3D 9 driver. We might add support for the DirectDraw driver later on, but as it seems highly unlikely that anyone on a computer with enough horse power to run a 720P game has a graphics card which doesn’t meet the requirements for the Direct3D 9 driver, we’ll probably hold off until we’re in beta.

JD running in 1280 x 720 through the SkyGoblin version of the AGS editor.

Our branch is forked directly from the official version and, if it’s of interest later on, reintegrating our changes should be fairly straight forward. Note that though we try to not break backwards compatibility it isn’t something we currently prioritize and, as we’re quite new to the quite large code base, it’s unlikely that we won’t eventually break something by mistake. Bear this in mind if you should feel like opening up your own projects in our version of AGS. Since we have only just begun working on this branch it’s still very much in an experimental state. Be sure to back up any files before working on them!

Those of you who are interested in trying out our version of AGS are welcome to do so and if anyone should be interested in pitching in, let us know and we’ll give you write access to the repository. To access the project, head over to https://gitorious.org/skygoblinags/. There’s a wiki on the page with a few instructions on how to download and build the project for yourself.

Posted in: Uncategorized Tagged: , , , , , , ,
  • http://www.kramsdesign.com Sughly

    It goes without saying that you guys are just awesome! Trying now…

  • http://sslaxx.livejournal.com/ Sslaxx

    When’re you looking to merge this all back into the main trunk?

    • Markus

      The version linked to in the post is directly forked from the main trunk and, to my knowledge, there haven’t been any changes to the main trunk since we forked it, so the code is by definition already merged. We don’t have any kind of write access to the main trunk ourselves though, so actually applying the changesets will have to be up to someone else. Also, since we are in the middle of building The Journey Down, any code changes we’ve done are very unlikely to be production ready for quite a while.

      Feel free to dig around in the repository though! If you should feel like helping out, we (and anyone else interested in our particular changes, I’m sure) would be glad for the assistance.