[Scummvm-devel] Pseudo-3D adventure games / 360 degree panoramic adventure games

Filippos Karapetis bluegr at gmail.com
Sat Dec 29 13:55:03 CET 2012


OK, just to clear things up, here's a summary:

- These kinds of games require very little extra functionality. In
particular, the idea is that a set of images is projected onto a virtual
sphere, at a fixed distance from a specific point. Thus, the calculations
that are needed boil down projecting points from a fixed origin and a
variable angle (the angle of the camera). Examples of this technique,
together with some C++ code are illustrated here (with fisheye images):
http://paulbourke.net/dome/fish2/
- This kind of math is done in the WIP ring engine. In the WIP Myst 3
engine, the author has opted to use OpenGL for the image transformations
instead. by using OpenGL textures on top of OpenGL vertices. This can speed
up the process somewhat. However, the algorithm used in each case depends
on the state of the source images in each game (i.e. the source images may
already be done in a fisheye lens view, thus simplifying the projection
process).
- In my original e-mail, I asked to include the image projection
functionality in the core, both in non-accelerated and accelerated form,
but this isn't feasible, as each game is using different kinds of source
images to achieve the end result, i.e. some games (could) use normal images
and project them on the fly, whereas some (could) use images in fisheye
perspective.
- In my original e-mail, I mentioned that these games do "look" 3D, but in
reality they are not. Which is why I mentioned that they are good
candidates, listing Myst 3, the Cryo and the Arxel Tribe adventure games as
likely examples.
- I also asked to extend the scope of the project to include these
panoramic games. We've already included games that aren't strictly
point'n'click adventure games, so are outside the normal scope of the
project (like the 7th Guest, Myst, Riven, Lands of Lore, each one being a
separate case). So, again it's a per-game decision: each engine is a
different case, and it depends on how well it fits with the others, and
what functionality it needs from each project's backend. In this particular
case, the ring engine games don't seem to require any 3D functionality, but
Myst 3 seems to benefit more using functionality from OpenGL.
- Thus, we end up that, once more, each game is unique. So, there is no
point in trying to generalize, or to try and create common code for game
implementations that aren't even finished yet.

Regards
Filippos


On Sat, Dec 29, 2012 at 1:27 PM, Willem Jan Palenstijn <wjp at usecode.org>wrote:

> On Sat, Dec 29, 2012 at 12:03:35PM +0100, A. Milburn wrote:
> > On Sat, Dec 29, 2012 at 11:50:52AM +0100, Arnaud Boutonné wrote:
> > > After discussions with wjp and fuzzie, it seems adding one of those
> engine
> > > requires a 3D renderer and/or openGL, which is completely different
> for me.
> > > I'm pretty sure ring engine didn't use that, but anyway, if hardware
> > > acceleration or 3D rendering are involved, all my apologizes for the
> > > previous grumpy mail.
> >
> > Right; from a technical point of view I think that, if an engine author
> > wants to use OpenGL for rendering in their engine, then it seems they'd
> > be a lot better just asking for a merge into ResidualVM in any case,
> > and the example of Myst 3 seems to show that they're very happy to
> > accept such engines.
> >
> > I didn't understand *at all* that the original mail was also talking
> > about the Ring engine. I think everyone saw 'Myst 3' and 'ResidualVM'
> > and 'OpenGL' and any other point was completely missed.
>
> Yes, that was pretty much what I picked up from the original mail. As far
> as I
> could tell, its main point was exposing 3D functionality via OSystem. The
> WIP
> Ring engine seems to be an entirely different discussion.
>
> -Willem Jan
>



-- 
"Experience is the name every one gives to their mistakes" - Oscar Wilde
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.scummvm.org/pipermail/scummvm-devel/attachments/20121229/c9f23989/attachment.html>


More information about the Scummvm-devel mailing list