Why isn't there a serious, modern Adventure Games engine?

Started by Monsieur OUXX, Fri 10/12/2010 10:46:30

Previous topic - Next topic

cat


David Ostman

Quote from: Calin Leafshade on Thu 15/12/2011 12:15:57
The 'Import Multiple Sprites' thing uses the last options you used for a normal import, including the Use Alpha Channel setting

I tested this just before I replied to cat's post, and that's not the behaviour I got. A Normal import of a PNG excluding the alpha channel resulted as you would expect, but a Quick import afterwards of the same file resulted in it keeping the alpha channel.

I'm sort of going off topic with this one, though.

Monsieur OUXX

#122
Quote from: Snarky on Wed 14/12/2011 22:47:33
Polygon-based walkable areas is another good idea. For one thing it would really simplify the pathfinding, and you could do things like overlapping walkable areas.

That's what I intend on doing in the Blender-based engine. That way, you can even map walkable areas onto 3D geometry (making the need for the AGS "downhill" module unnecessary, by design).


Quote from: David Ostman on Thu 15/12/2011 13:29:46
I'm sort of going off topic with this one, though.

Indeed, but we promise we won't tell on you ;-) At the moment, AGS import is "human error"-prone for all the reasons mentionned: heterogeneity of supported types (still images vs. Gif), need of mapping external resources with internal ID's, need of paying attention to the selected options at each import, etc. This should be moved to another topic.
 

Monsieur OUXX

At the moment I'm struggling to integrate Blender with PyGTK.

There is a powerful API used by Pyppet that does just that (you can have a glance here and here).

If anyone has enough motivation to produce a proof-of-concept...
 

Ali

I wish I had the technical expertise or the time to help. I have some rigged low-poly characters (from vegas showgirl and a couple of other experiments). You're free to use those if it helps, but I guess that's way down the line..

Monsieur OUXX

Quote from: Ali on Tue 24/01/2012 16:24:54
I wish I had the technical expertise or the time to help. I have some rigged low-poly characters (from vegas showgirl and a couple of other experiments). You're free to use those if it helps, but I guess that's way down the line..


Ali thanks, that will prove invaluable in time, but at the moment it's not the immediate goal. The goal here is to make PyGTK work, to be able to really customize Blender's UI.
 

Pyke

Quite a bit of what you guys are talking about in an engine is already available in Visionaire. Now while I haven't used AGS, I can seriously vouch for Visionaire.

From where it stands, I think it’s the most progressive Adventure Game engine. In the near future the engine will have 3D character support, porting to Mac, aswell as iPad and android support. There is also some really nice features, like the ability have MKV’s as your movie format, supporting ANY resolution, and the ability to create game patches. 

The actual engine is a pleasure to use. It really is skewed in the favor of the artist…adding in animations, special events, new sprites etc, is super easy. The sound tools are also fantastic, with subtle features like changing the footstep sound depending on where the character walks. Things like using PNG's / Sprites straight from the file structure makes making alterations super easy. Honestly I sometimes render straight from MAX/After Effects into the engine.

Where it does fall short is in community support and documentation. Most of what I know is just from playing around with the engine-but once you have an understanding of how it all works, you can produce things very quickly.

It’s also one of the more actively developed engines, because it is being used by professional studios. The advances they are making are at the request of companies that are actually making full, successful, adventure games, so you are getting a 2D adventure engine that really is constantly evolving and improving to keep up with the demand of commercial games. 
Many advances now are in the handling of memory, getting the games to run smoother, and faster-allowing for even more complex animations and interactions. 

Monsieur OUXX

Quote from: Pyke on Tue 24/01/2012 18:28:48
Quite a bit of what you guys are talking about in an engine is already available in Visionaire.

Thanks for your comment! But there was already some discussions about Visionaire in this very thread, and the opinions were not very enthusiastic. Do you have comments to do about their comments?

===

My questions about coupling Blender with PyGTK or PyQt still stand, you guys.
 

Khris

@Pyke:
I don't follow Visionaire's development, so maybe things changed in the meantime, but here's what I said 10 months ago:
http://www.adventuregamestudio.co.uk/yabb/index.php?topic=42356.msg571234#msg571234

Since this flaw IMO trumps all the advantages by far, using Visionaire is out of the question for me, especially as I'm sticking to 320x240 2D games for now.

Pyke

I havent used AGS, so my view is pretty biased, but I can give you my opinion on Visioniare.
With regards to your points, LUA is fully intergrated into the engine. If you look at Daedelic's games, you can get a pretty good idea of the more advanced scripting potential.

Resolution wise, you may be correct in Visioniare not handling lower resolutions properly. All of the games I have seen with it have been higher res-but thats really a place where it excells. STASIS runs at 720p, wide screen. At any one time I can have a few hundred frames of animation, particle effects, or video playing with no slowdown. As this discussion isnt an 'AGS vs Visioniare' one, but rather one focused on a modern engine, I think that handling high resolutions is a must.

I'm not sure how AGS handles scripting and in game events, but I can give you a quick rundown of how Visioniare does it. To quote: "that's a perfect opportunity to point out a big flaw: say I was to put a door in my game and I want to set it up so that a right-click open/closes it. All I do is name the door "door>v" and add a couple of lines of code, linking the door to a global variable.
That's all I ever need to do; even if the door starts out as locked, a right-click, which here produces "open door", will automatically fail since the door is locked."

In Visioniare, If I was to create a door, I would create an Object, and give it a Condition or True of False. True is OPEN, False is CLOSED. Then your command would be RIGHT CLICK -> If Condition = T, Close Door. RIGHT CLICK -> If Condition = F, Open Door. Visioniare treats each object as unique. There is no such thing as a 'Door' in the engine. There is just a defined area where you set up the commands for what happens when you interact in that area.
I used to keep a BASE LEVEL with all my different actions that I used often, but when you get into it it becomes really quick to set up interaction.

The templates and examples on the website really do let the engine down. Like I said, you really have to just muck around with it to figure it out. To set up something like a door proably takes about a minute, including linking any animations, etc.

I have had to use some workarounds for things that I'm sure AGS would probably be much easier for. For example, Visionaire doesn't support character dialogue portraits that dont 'pause' the game while you talk. As most of the conversations in STASIS take place over radio, I want you to still be able to walk around and talk - so I've had to come up with a way around that. But what it does have is very easily modified. For example, I have set up the dialogue engine to act as an in-game computer interface.

That said, Im sure that AGS does things really well that Visioniare doesnt, and visa versa. This really isnt a software debate, as those can never be won! When it comes to the things that a modern adventure engine should have however, I think that Visioniare is very progressive. Having the same built in codecs that VLC uses (so you can pretty much use any format for sound/video compression) opens up many doors. Having support for high resoution graphics, and being able to handle them is also something that a modern engine needs. But its the stuff on the horizon that really sets the engine apart. Multi platform support being a big one. If you were looking to create a commercial game, I think that that alone is a big enough deciding factor.

Pyke

Just wanted to add in some things. ;)

Something was mentioned earlier with The Journey Downs GOBBY engine:

"Sprites aren't imported into the editor with weird ID's. They are called upon with one single thing and that is their location and filename -there is no weird abstraction in between the original asset and the one used in the engine."

Thats pretty much exactly how Visioniare works. Its a VERY artist friendly workflow.

For a "common" AGS user who builds smaller games, this wouldn't really be an issue. But for a larger production with literally thousands and thousands of frames of animation, being able to simply re-render our frames into the same folder as the originals and then just hit run and see the changes... is absolutely invaluable. Also, since we don't have to rebuild the sprite file every time we start up after adding assets, we save tons of time every time we start up the game. Again, not an issue for a smaller project, but JDHD in AGS took several minutes to start every time I made the teeensiest change in any of the sprites. That was a MAJOR disruption in my work-flow."

Building the entire game for STASIS (which is pretty damned big) takes about 30 seconds.

Monsieur OUXX

OK very interesting I'll give it a try.

Also, bumping my question about a proof-of-concept "Blender/PyGTK" or "Blender/PyQt"
 

TheDude

I made a thread about something like this a while ago: http://www.adventuregamestudio.co.uk/yabb/index.php?topic=43641 (thread stripped of links/images).

I'm surprised you're not going for Unity. It would take a few rudimentary scripts and editor scripts to give a very good basic adventure game engine.

Were the only issues plugins and license?

Monsieur OUXX

Quote from: TheDude on Thu 26/01/2012 18:58:20
I'm surprised you're not going for Unity.

A very flexible license is important. Something like AGS games.
It's not for myself, it's for the "community".
 

Monsieur OUXX

The creator of Pyppet is currently turning it into an SDK (so that any Blender developer can integrate it -- especially the GTK user interfaces) and porting it to Windows. It doesn't sound like it, but it's excellent news.
 

Calin Leafshade

I've been mulling this over in my head.

What does everyone think to an adventure game *library*.

Essentially I mean a library that facilitates the creation of an adventure game but ultimately leaves the structure to the programmer. This would of course be significantly more work than using something like AGS but it would grant a great deal of flexibility.

The code structure would be an amalgamation of Windows Forms and AGS. That is to say that objects in the game are all sub classes of abstract base classes. You dont declare a new Character but rather you declare a new Jennifer which derives from the abstract class Character.

Everytime you declare a new derivative of the Character class the constructor adds it to a global, vectorised list in the game so that the underlying engine can be responsible for all the drawing. However if you don't want the engine to do your drawing then you simply override the draw function.

Providing the 'scripting' functions are kept on a different thread to the rendering then it should feel very similar to AGS in terms of coding a game. You still tell characters to go to rooms and you still tell them to speak, you just get to override it all if you so desire.

Now, granted it would be better if AGS could do this but giving AGS a scripting language as robust and feature-full as something like C# just isnt feasible at the moment, nor would it be particularly desirable since it would add a layer of complexity that casual users dont want.

Now, since adventure games are comparatively very simple things a library like this could be made actually very quickly.

Thoughts?

Monsieur OUXX

Quote from: Calin Leafshade on Fri 10/02/2012 13:17:44
What does everyone think to an adventure game *library*.

objects in the game are all sub classes of abstract base classes.

CALIN!
You sabotager! You troll! The correct thread for this is that one.

I swear if someone answers Calin's post and starts an inextinguishable off-topic fire, I'll go berserk! :D
 

Calin Leafshade

Oh come on, it's kinda relevant. I'll *create* your serious, modern Adventure Gamers engine.

Monsieur OUXX

Quote from: Calin Leafshade on Fri 10/02/2012 15:15:25
Oh come on, it's kinda relevant. I'll *create* your serious, modern Adventure Gamers engine.

Be my guest :-D
 

Rocco

I dont know if wintermute was mentioned before, -> http://dead-code.org/home/
Its a really good engine with allows 2.5D Adventure Games.
I know the goal was real 3D Games, but maybe this is worth a look.

SMF spam blocked by CleanTalk