MODULE: Panorama v1.6

Started by Kweepa, Sat 29/07/2006 19:14:25

Previous topic - Next topic

Kweepa

Panorama module
for AGS v3.1

Creates a 360 degree rotating room from four rendered images stitched together.


(Image courtesy of LimpingFish)
Produces:


Here's a demo (of v1.2, not v1.6) (1.7MB):
http://www.kweepa.com/step/ags/tech/PanoramaDemo.zip
Mirror (of v1.1, not v1.6):
http://www.americangirlscouts.org/agsuploads/SteveMcCrea/PanoramaDemo.zip

Here's the module (5.1KB):
http://www.kweepa.com/step/ags/tech/Panorama16.zip

And here's a complete game: Heartland Deluxe, by LimpingFish:
http://www.adventuregamestudio.co.uk/yabb/index.php?topic=29162.0

New for v1.1
* added a manual
* added support for objects and characters (they behave like sprites)
* updated the demo
* covered up the little streaky triangle at the bottom with a GUI

New for v1.2
* added cursor mappings so you can animate cursors over hotspots and objects

New for v1.3
* added support for 800x600
* this has temporarily made the module require 2.72 final

New for v1.4
* added support for Cylindrical panoramas

New for v1.5
* added support for "strict" (enforce object based) scripting
* fixed crash bug when using 640x480 and new high res coordinates in script

New for v1.6
* animated backgrounds
* requires AGS 3.1
Still waiting for Purity of the Surf II

R4L

WOW!  :D

This is fantastic Steve!

LimpingFish

#2
Excellent stuff indeed. ;D

I just imported my finished background into it and it works like a charm.
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

TheMagician

WOW Steve! Great Stuff!  :o  :o

This reminds me of "Zork Grand Inquisitor"  :D

By the way in your Demo-Game there is a warning-log-file generated which says that many dynamic sprites haven't been deleted.

I haven't looked into the module yet, but can you use animated backgrounds? And is there any chance at all to implement a 360° panorama?
Are objects distorted as well - or how do you implement stuff like picking up an item?

Anyway, this is great! Much more than I could do and something I've always been looking for.
Many thanks,
Stefan

Kweepa

Yeah, the warnings are there because there's no easy way to hook into QuitGame(1) to delete the sprites. It's not a problem though. If you wanted to get rid of them you'd have to set up your own Quit GUI and call Panorama.Destroy() before QuitGame(0).

Objects don't get rendered at all. If you wanted to do that you'd have to RawDraw them to the background and then call Panorama.CreateFromBackground() again. Ditto for picking up objects - draw the background over the object and CreateFromBackground. For animated backgrounds, you'd have to repeatedly call that function passing different background frames.

Cheers!
Still waiting for Purity of the Surf II

monkey0506

This is a-freaking-mazing Steve. Do you realize what you've done? You have just made AGS the undisputably best game-making software ever. Thank you. Please will your brain to me when you die.

Kweepa

Quote from: monkey_05_06 on Sun 30/07/2006 04:26:28
You have just made AGS the undisputably best game-making software ever.
Nah, Chris did that when he added modules. They're such fun to write!
Still waiting for Purity of the Surf II

Akumayo

Wow, Steve, just tried the demo.  That's amazing.  One could make games with better handling than Myst with this module.
"Power is not a means - it is an end."

GarageGothic

#8
First the 3D plugin, then the lake module, and now this amazing feat! Steve, you're the master of background manipulation. I quite honestly think that the background in the module looks just as good as those in Post Mortem.

Am I right in assuming that the effect would still look quite rough in 640x480 resolution since RawDraw only works with 320x200 coordinates? It would of course be possible to do it per horizontal pixel with a bit of resizing in-between the copying, deformation and drawing, but it would most probably be very slow and doubling the amount of dynamic sprites needed.
Instead I was wondering if you have any plans to add a Myst-mode to the 3D plugin, using the full 3D rendering to create a panorama textured SkyBox room with the player in the middle? As it is now, it's perfectly do-able by scripting with sprites as textures. But how much work do you think it would take to use a background for texture like here, and add hotspots through the editor? A six surface room does add the problem of floor/ceiling though, and how they would be placed on the background frame.

I should remark that I don't intend to use such a feature myself - I wouldn't even know how to make the background renders - I'm merely curious, since I'm doing a lot of RawDraw based scripting myself and know about the limitations and my own attempts to overcome them.

So many people have been asking about Myst-like panoramas (or later games in the series rather), and now you've come a very long way in fulfilling that wish. You're making a lot of people happy with this. Awesome work!

Edit:

I just read the manual and saw that the module was hardcoded to 320x240, so that answers part of the question I guess.

Kweepa

Quote from: GarageGothic on Sun 30/07/2006 23:39:44
I quite honestly think that the background in the module looks just as good as those in Post Mortem.
You have LimpingFish to thank for that! His renderings are great.

Quote
Am I right in assuming that the effect would still look quite rough in 640x480 resolution since RawDraw only works with 320x200 coordinates?
Probably. I think it would look a bit better, but I hate using 640x480 because I never remember which set of coordinates to use with which function calls etc.

Quote
[...full 3d...]
But how much work do you think it would take to use a background for texture like here, and add hotspots through the editor? A six surface room does add the problem of floor/ceiling though, and how they would be placed on the background frame.
It would actually be pretty easy I think. Good idea - I might have a look at that next weekend. Probably arranging the images 3x2 would be best.
Still waiting for Purity of the Surf II

Fabiano

very good indeed!
congratz Steve for another awesome module.

CSI Anyone?
Yeah, yeah, It happens. A lot.

jasonjkay

This is really great, only problem is getting the image to use with it. Anyway I've added it to my site.
http://www.americangirlscouts.org/agsresources/ - Mods, plugins and templates.

Ali

This is really great Steve! Like Garage Gothic I was hoping you might produce a streamlined skybox-only version of AGS3D. This seems much faster and appears to clear up the diffculties that objects and hotpots would pose there. LimpingFish's renders look lovely, they really demonstrate the module's potential.

Inevitably, I must look a gift horse in the mouth and ask about 640x480 and looking up and down. I don't understand RawDraw as well as GarageGothic, is hi-res something you might consider for the future of the module? I have no idea if the method you're using would allow for looking up and down, but is that something that might be possible?

I think this has the potential to be useful in all sorts of games. I think it could work really well for one-off puzzles too. Thanks!

TheMagician

I agree with GarageGothic and Ali.
The addition of looking up and down would be very great!
Finally - after 5 years of searching - I would have a Skybox-Node-Engine  :D

By the way: when turning around in the demo room I experience some heavy horizonal tearing on the screen.
Is that caused by AGS and the way the module works or is my graphics card not good/fast enough? (GeForce 4 Ti4200)

GarageGothic

#14
You can try setting (System.VSync = true), in theory that should reduce the tearing (which happens because the screen is not redrawn all at one time). Alternately, if you're using an CRT monitor, you can check "Use 85Hz display" in the demo's winsetup.exe, I think that could help a bit as well.

Kweepa

#15
Quote from: Ali on Thu 03/08/2006 18:14:55
Inevitably, I must look a gift horse in the mouth and ask about 640x480 and looking up and down.
640x480 is possible. It wouldn't be as relatively smooth as 320x240 (2 pixel movement and more stairstepping) and of course the source image would be huge.
Looking up and down as well as left and right is impossible for the module using the current tech. A location could theoretically have look up and down instead of left and right. I suspect that full 3d would be too slow in scripting and is best left to a plugin, but I'm tempted to give it a go.

[EDIT] Yeah, the theoretical max for a module on my PC (2GHz) is a window about 100x100 pixels. So it has to be the plugin route.

Quote from: TheMagician
...tearing...
Yes, this happens because AGS's page flip is not synced to the screen refresh. I added GarageGothic's (System.VSync = true) to the demo (and reuploaded it) and it cleared the problem right up. Thanks, GG!
Still waiting for Purity of the Surf II

LimpingFish

Didn't notice this before, but setting the cursor to animate, when over a hotspot or object, doesn't seem to work properly with the Panorama module.

Any ideas? :)
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

Kweepa

#17
None. ;D
I'll have a look though.

[EDIT]
Ah yes, of course. You won't be able to use that feature as-is.
However, I've updated the module to v1.2. I added
Code: ags

Panorama.SetCursorMapping(mouseMode, nonAnimatedCursor, animatedCursor);

See the txt file for (slightly) more info.
http://www.steporg.com/step/ags/tech/Panorama12.zip

PS: LimpingFish informs me that the module works fine at 640x480.
Still waiting for Purity of the Surf II

LimpingFish

Yay! Cursors working fine now.

Excellent work, Steve. ;D
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

Helm

Steve, I want to kiss you. I am going to be using this for the next OROW game I'll be making with Gore. If there was any chance of this going 640x480 (or 800x600, the background size for an one-room game can deal with hugeness) it would be even better. So wonderful to have this.

Thank you for coding this, again.
WINTERKILL

Kweepa

LimpingFish is already using 640x480.
It looks a bit shredded around the edges when you're not looking in one of the cardinal directions because it's manipulating 2 pixel wide blocks, and that would only get worse with 800x600 (non-constant block widths).
But it seems to work.
Still waiting for Purity of the Surf II

LimpingFish

I've found that the image shredding becomes a little less noticable when the game is run in a window. The framerate also seems to improve slightly.

The drop in speed between 320x240 and 640x480 suggests an 800x600 version would result in serious screen slowdown.

I'm sure this is down to overall AGS performance, rather than Steves module, tho. :P
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

Shane 'ProgZmax' Stevens


td

This plugin support 800x600 res???

LimpingFish

Technically, yes (I think :P).

I haven't tried it myself, but seeing as the framerate in 640x480 is about 1/3 to 1/2 slower than 320x240, I'd say 800x600 would suffer some serious slowdown.

I think Steve mentioned a plug-in version would have better results, but you'll have to ask him about that. :P
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

Kweepa

#25
td, try it out and let us know! :=
I refuse to comment on a plug-in version, lest I feel obligated to work on it.

Edit:

Bump for a new version that supports 800x600. See first post, or just get it here:
http://www.steporg.com/step/ags/tech/Panorama13.zip
Still waiting for Purity of the Surf II

LimpingFish

Yay! \o/

More great work, Steve. :)
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

Candle

#27
Really nice work Steve.
Upload to my AGS folder.

Kweepa

PS: I notice that the SCream engine
http://250.215.232.72.reverse.layeredtech.com/~adeu/forum//index.php?topic=1228.0
is a node-based adventure game system, but with higher res graphics and full 3d lookaround. You might want to check it out if you're thinking of doing this style of game.
Still waiting for Purity of the Surf II

alimpo83

I got it to work with no problems in 320x240(1280x240) but not in 800x600(3200x600). It gives me the following error:

In Panorama(line 184)
From Room 1 script (line 6)

Error: DynamicSprite.CreateFromBackground: invalid co-ordinates specified

For Panorama you can check the module for line 184 and my Room 1 has following script:

// room script file

#sectionstart room_a  // DO NOT EDIT OR REMOVE THIS LINE
function room_a() {
  // script for Room: Player enters room (before fadein)
Panorama.CreateFromBackground();
Panorama.Enable(); 
}
#sectionend room_a  // DO NOT EDIT OR REMOVE THIS LINE

#sectionstart room_b  // DO NOT EDIT OR REMOVE THIS LINE
function room_b() {
  // script for Room: Repeatedly execute
Panorama.StandardLookAround(mouse.x); 
}
#sectionend room_b  // DO NOT EDIT OR REMOVE THIS LINE

#sectionstart room_c  // DO NOT EDIT OR REMOVE THIS LINE
function room_c() {
  // script for Room: Player leaves room
Panorama.Destroy(); 
}
#sectionend room_c  // DO NOT EDIT OR REMOVE THIS LINE


Please help! I'd like my game to be 800x600! :D
LIMPO ARTS

LimpingFish

#30
Are you using Steve's demo game as a script base? Because the demo is based on version 1.2 of the module which doesn't support 800x600.

EDIT: Actually, I've been able to replicate this error by importing 1.3 into a game written around 1.2. I have no technical explanation, though. We'll have to wait for Steve. :=
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

alimpo83

No, I created a new game to test the script and followed the readme file. In 320x240 it worked like a charm but in 800x600 it didn't run at all.
LIMPO ARTS

td

#32
First Panorama room work fine, but when player try to change room (go to different room) next panorama-room is displaced up and look incorrectly. Who know why???

LimpingFish

#33
You have to add:

Panorama.CreateFromBackground();
Panorama.Enable();

...under Player enters room (before fadein), everytime you want to enter a new panoramic room. And:

Panorama.Destroy();

...under Player leaves room.

You player character coordinates should be set to x160, y0 when entering a new panoramic room also.

Such as...cEgo.ChangeRoom(2, 160, 0)

EDIT: Oh, and put...
         
          Panorama.StandardLookAround(mouse.x);
         
          ...under Repeatedly Execute.
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

td

Ok Fish, i try it later. By the way ur game "Heartland" is super-quality! Is it free, or commercial? And one question else: what different between cubic panorama (AGS i guess), and cylindric panorama (Adventure maker)???

LimpingFish

Thanks. It's free of course. You've played it. If you mean will any sequel be commercial, well...we'll have to wait and see. :D

Cubic panorama is mapping a background to a cube, ie. six seperate images for Up, Down, Left, Right, Front, and Back views.

A cyclindrical panorama is achieved by rendering a special single 360 view of a background and mapping to a circular "wall" around the player.

I think. :=
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

Kweepa

Yup, that's about it.
Thanks, LimpingFish, for helping td out.
alimpo83, if you have a repeatable case of your problem, perhaps you could upload it somewhere for me to have a look at?
Still waiting for Purity of the Surf II

td

But why u Steve has created cubic panorama and not cilynder? Whats advantage of ur panorama Steve? :)


Kweepa

This way you don't need to use an art package that can export cylindrical panoramas.
The maths would have been easier for cylindrical admittedly, and it might even look better.
Hmm, I may add it as an option at some point.
Still waiting for Purity of the Surf II

td

It will great if u add cilynder panorama feature in next module Steve, coz many 3D packages can render 360 degree panorama pictures "for one step"!

td

I like panorama module! And has created some demo for testing...
http://www.megaupload.com/?d=MHNGHGQP

Kweepa

Bump for v1.4 which now supports Cylindrical panorama images.
Still waiting for Purity of the Surf II

LimpingFish

Whoo! I didn't even know this was in the pipeline!

Great work as usual, Steve. :)
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

td

#43



Yay!!! :D At last! I can not wait the days off to try my Cylindrical backgrounds!...

td

Distortion.
I thought it was because of i used cubic panorama, but in cylindric panorama distortion effect is stll appear!
So i have a two questions:
1) Why SCream engine haven't distortion effect?
2) I use 640x480 res. Exists some method how i can smooth distortion???

Kweepa

#45
What do you mean by distortion? Can you post a screenshot? Is this distortion present in LimpingFish's game?

1) Scream uses high res, high res textures, and hardware texturemapping. That's why it's much cleaner looking than this.

2) 640x480/800x600 won't make the horizontal steps any smoother, because the background is broken into 2 pixel wide columns in that case, due to a design feature of AGS.

EDIT: Hmm, I have thought of a way to make 640x480 smoother horizontally, using columns that are one pixel of texture and one pixel of transparency. It'll require some mucking around to automatically massage the data, but it should be relatively easy. It'll probably be 2-3x slower though.
Still waiting for Purity of the Surf II

td

Steve,
panorama looks like "the player looks through figured glass". For example Adventure Maker panorama plugin (not module(?)) looks more smooth, WHY??? Can u create more smooth panorama like in AM???

Kweepa

Again, can you post a screenshot to illustrate the issue?
Does the problem manifest itself in Heartland Deluxe or the demo posted above?
Still waiting for Purity of the Surf II

LimpingFish

I think what td is getting at it the slight "rippling" effect inherent in the 2px wide method.

Which, unfortunately for td I guess, is just how the module works. I don't really have a problem with it.

Adventure Maker uses, as far as I know, a different technique, which, from what I can gather from looking at AM, uses a far higher resolution for each section of the panorama (the demo AM panorama game uses a number of 2000x2000+ images to make up a single room, so I presume it handles the maths a little different to Steve's module).

Like I said, I'm happy with the current performance of the module, and if slightly smoother scrolling can only be achieved with a loss of framerate, then I'm content to stay with it as is.

Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

Candle

#49
QuoteI. Creating the pictures for the 360-degree panorama

In order to create a panoramic game, you need panoramic pictures. Panoramic pictures are pictures obtained by projecting the 3D world on a surface.

To see an example of high-resolution (2048x2048), 3D-rendered panoramic picture for use with Adventure Maker, click the following link: panoramic_picture1.jpg

Adventure Maker supports the pictures obtained by projecting the 3D world on a cylinder. That kind of projection is very common, and is called "cylindrical panoramic projection". Other types of projections exist (spherical, cubic...), but they are currently not supported by Adventure Maker.


http://www.adventuremaker.com/help/360_degree_panorama.htm

td

#50
Quote from: SteveMcCrea on Fri 01/06/2007 01:42:09
Again, can you post a screenshot to illustrate the issue?
Does the problem manifest itself in Heartland Deluxe or the demo posted above?

Here is my image:

This is window mode 640x480.
Yes the problem manifest itself in Heartland Deluxe and in the demo posted above.
It's "rippling" effect appear because "640x480/800x600 won't make the horizontal steps any smoother,..., due to a design feature of AGS?
Steve maybe u can make cubic panorama plugin like in PicMak engine or SCream engine? This method haven't rippling effect at all. I think it's possible because u made 3D plugin!

td

Quote from: Candle on Fri 01/06/2007 10:20:37
QuoteI. Creating the pictures for the 360-degree panorama

In order to create a panoramic game, you need panoramic pictures. Panoramic pictures are pictures obtained by projecting the 3D world on a surface.

To see an example of high-resolution (2048x2048), 3D-rendered panoramic picture for use with Adventure Maker, click the following link: panoramic_picture1.jpg

Adventure Maker supports the pictures obtained by projecting the 3D world on a cylinder. That kind of projection is very common, and is called "cylindrical panoramic projection". Other types of projections exist (spherical, cubic...), but they are currently not supported by Adventure Maker.


http://www.adventuremaker.com/help/360_degree_panorama.htm



I think all have read it a long time ago...

Kain

Well, the module would be great, if ANY of the links worked... Can someone plz post a new link with the file for download? Not a steporg one, these tend to brake eventually...

Also need a working link for the SCream engine, if possible...

Rui 'Trovatore' Pires

Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

.M.M.

#54
I have problem with UpdateCharacter(object).If I use action Use inv. item sometimes it do nothing-it is because plugin do action UpdateCharacter "only" 40x in 1 second... :-[

Kain

Quote from: Rui "Trovatore" Pires on Wed 01/08/2007 21:35:29
Sorry for the delay. Here you go - mirror.

http://www.2dadventure.com/ags/Panorama14.zip
Thanx, but it doesen't open. I download it instantly (rare thing with a dial-up) and the zip file is damaged. I tried downloaded with GetRight, too, but the zip file is 0 byte and empty...

Any ideas?  ???

Rui 'Trovatore' Pires

Sorry about that, it seemed to have uploaded incorrectly. Here's the new link (can't delete the old one, 'twould seem), tested:

http://www.2dadventure.com/ags/Panorama1_4.zip
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Dualnames

I'm going to use panorama module for my next game, and I'm wondering. How do you use the face location function on it? My game is object based it's not using new strings , and res is 320-240. I've tried Set angle function. It works though only useful in before fade in, because it reacts kinda slow. For example I've made a cutscene script I added Set angle after the Start Cutscene then added a wait(40); loops then a dialog, a big one. Then end cutscene. Set angle function works a little bit before end cutscene. Maybe I'm doing something wrong. Thanks anyways. I really hope the above makes some sense. Nice and impressive module by the way.
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Brad Newsom

#58
Sorry if I had missed something. Does this module support bottom/top images so you can look up or down? If not, it still will work to my advantage.

EDIT: Also, whats the basic image ratio for a panoramic? Plus, what is the maximum resolution for the image?

LimpingFish

Up/Down support isn't included.

Regardless of the resolution you intend to use, the panorama is four times the width of the screen. The image ratio is 1:1 square.

The horizontal FOV of each of the four images must be 90 degrees, with the focal ratio set to 0.5, or else the effect won't work.

So if you're making a 320x240 game, your panoramic background would be 1280x320. 640x480, in my opinion the optimum resolution to use, would result in an image that is 2560x640. 800x600 would be 3200x800.

In my experience, 800x600 will cause significant slowdown on lesser systems (sub P4 2ghz).

If you're using AGS 3.*, the module, due to the nature of how it works, requires the game to run in DirectDraw 5 mode.

Using Direct 3D 9 will result in non-playable framerates.
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

Cpt Ezz

ok i now this is an old post but
can you walk around in this 3D world

Dualnames

Quote from: Cpt Ezz on Fri 03/04/2009 07:04:30
ok i now this is an old post but
can you walk around in this 3D world


Not really. The module takes 4 images stiched together and creates the illusion of a box room.
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

uswin

Hi, Steve
Thank you before, this module is very awesome.

I encountered a problem while using your module,

I'm currently making a game using 640X480 res
and I got a cylindrical panorama images from

http://www.jcwilson.net/greenwich_park_flat.jpg


I followed your manual, and resized the image to 2560X480
and when I compiled the game, this is what comes up?





any solution steve ?
is there any instruction that i forgot to follow ?


Thanks

Kweepa

Bug fixed - was due to new high resolution coordinates in scripting.
Also allowed the module to work with Ags 3 without fiddling with settings.
See the first post for details.

http://www.kweepa.com/step/ags/tech/Panorama15.zip

Thanks for the bug report, uswin!
Still waiting for Purity of the Surf II

uswin

wow, thanks steve, i'm definitely gonna try this !
;D hopefully you will improve this module even further such as spherical panorama, hehe.
you are in my credit hot list ;D mr.steve

uswin

Since @OVERHOTSPOT@ at the text label gui didn't work anymore when using this module so i added a few line in globalscript repeatedly_execute

String location = Game.GetLocationName(Panorama.GetBackgroundXForMouseX(mouse.x),
Panorama.GetBackgroundYForMouseXY(mouse.x, mouse.y));
  if(location=="")
  {
    lblggstatus.Text="";  //lblggstatus is the name of my label on statusline gui
  }
  else
  {
    lblggstatus.Text=location;
  }

I will try to stick around your module, and i will inform you if i found something or having trouble with something. thanks steve

LimpingFish

Glad to see you're still supporting this, Steve. :)

It's a shame that more games don't utilize this excellent module. It really is easy to use, folks!
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

Kweepa

Your £5 is in the post!
Still waiting for Purity of the Surf II

Dualnames

Quote from: LimpingFish on Fri 03/07/2009 18:47:30
Glad to see you're still supporting this, Steve. :)

It's a shame that more games don't utilize this excellent module. It really is easy to use, folks!

Indeed, but I just don't want to make a fpa..that's all. Indeed one of the ,if not the best, best modules around here.
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Vukul

Let me once again thank you, Steve, for this awesome module. I'm currently working with it and can't find out such thing:
How can one regulate player facing when he travels between rooms?

I mean, when you leave room, you retain the facing, though it can cause some glitches:
like you clicked the door, which was only partly visible, and move to another room not looking in the way like you've just come there through the door, but glaring into the blank wall, which is highly unrealistic.
So, is there any variable that contains or regulates the "player facing"?
  

Kweepa

Absolutely!
Just call, for example, Panorama.SetAngle(90.0); in your room's "enter room before fade in" script.

Here's a more useful snippet, for a room with two entrances on opposite walls:
Code: ags

   if (cEgo.PreviousRoom == 1)
   {
     Panorama.SetAngle(90.0);
   }
   else
   {
     Panorama.SetAngle(270.0);
   }


Steve
Still waiting for Purity of the Surf II

Vukul

That's it! Thak you, Steve! :-)
I thought it was of some relevance, but didn't correlate it...

That's just great!
  

Brad Newsom

Curious, has there been any progress in allowing full 360 degree movement yet? I was thinking, maybe to do such a thing, instead of scrolling, we could render a 3d sphere and place a spherical texture over it. With hotspots place like the 3d modules.

Would this be possible? I'm currently going between engines right now seeing what my best bet for a 360 engine would be.

Kweepa

Quote from: Brad Newsom on Mon 03/08/2009 07:11:02
Curious, has there been any progress in allowing full 360 degree movement yet? I was thinking, maybe to do such a thing, instead of scrolling, we could render a 3d sphere and place a spherical texture over it. With hotspots place like the 3d modules.
I'm not quite sure what you're asking.
(a) Full 3d look around. This can be done with the Ags3d plugin in a similar manner to this module: render a cube map, and place 6 textured boxes around an immovable player. I made a demo of this a couple of years ago and the effect was quite convincing. A module-only approach is possible but would be painfully slow - two orders of magnitude slower than this module. I suppose it could be optimized a bit with say 4x4 pixel blocks which would bring it more in line speed-wise, but it would probably be pretty ugly in that case.
(b) Actual 3d movement through the scene. Not really possible with anything I've got, except perhaps some simple blocky scenes like in Ags3d.
Still waiting for Purity of the Surf II

Kweepa

I put a couple of hours into option (a) with the 4x4 block option.
Here's a demo:
http://www.kweepa.com/step/ags/tech/Panorama3dDemo1.zip

Let me know if the performance/quality is acceptable!
I can fix the black lines by modifying the skybox texture's wrapping.
Steve
Still waiting for Purity of the Surf II

Dualnames

Let me know if this is correct, we can emulate fully a 3d room? Look at the ceiling, down on the floor and that stuff now?
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Kweepa

Quote from: Dualnames on Fri 07/08/2009 20:00:09
Let me know if this is correct, we can emulate fully a 3d room? Look at the ceiling, down on the floor and that stuff now?
Yup. Just try out the demo program!
Still waiting for Purity of the Surf II

LimpingFish

Whoo! This is looking sweet already, Steve! :D

I'm getting a very high fps at the current resolution, more or less the same as the with the older module.

Hopefully a 640x480 version will get a similar comparable speed.
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

Kweepa

Still waiting for Purity of the Surf II

Brad Newsom

Quote from: SteveMcCrea on Thu 06/08/2009 05:21:35
Quote from: Brad Newsom on Mon 03/08/2009 07:11:02
Curious, has there been any progress in allowing full 360 degree movement yet? I was thinking, maybe to do such a thing, instead of scrolling, we could render a 3d sphere and place a spherical texture over it. With hotspots place like the 3d modules.
I'm not quite sure what you're asking.
(a) Full 3d look around. This can be done with the Ags3d plugin in a similar manner to this module: render a cube map, and place 6 textured boxes around an immovable player. I made a demo of this a couple of years ago and the effect was quite convincing. A module-only approach is possible but would be painfully slow - two orders of magnitude slower than this module. I suppose it could be optimized a bit with say 4x4 pixel blocks which would bring it more in line speed-wise, but it would probably be pretty ugly in that case.
(b) Actual 3d movement through the scene. Not really possible with anything I've got, except perhaps some simple blocky scenes like in Ags3d.

Definitely speaking of A. I state 3d modules because that was the only way to simulate spherical mapping. What I wanted to do,  was have a 360 view and use video for movement transitions. Similiar to 'the Journeyman Project 3'.

Anyways, with the new Panorama 3d. You have just become my new Savior! :D Thank you!

Kweepa

Bump for new version that supports animated backgrounds.
Still waiting for Purity of the Surf II

LimpingFish

Great to see a new version of this, Steve! :D

Giving it a go right now.
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

mode7

This is a great plugin. Thinking of the possibilities makes my head dizzy.
Just some questions: Is it possibly to have an object rotating like the BG (when I make objects they just stay on their screen position) and would it be even possibly to make them distort like the bg?

Another idea: The animation feature works really awesome: The only thing is, that it would need ALOT of diskspace (somewhere around 100mb per background)
Is there a possibility to draw a frame of an ogv file as a bg animation sprite?

m0ds

Quote from: LimpingFish on Fri 03/07/2009 18:47:30
Glad to see you're still supporting this, Steve. :)

It's a shame that more games don't utilize this excellent module. It really is easy to use, folks!

Sure, just not so easy to create the 3d background in a semi pro looking style :P

Anyway I've been playing with this, it's fun - but I have two small problems.

Firstly - my hotspots. I don't quite understand the explanation in the help TXT file. I've got my hotspots to react to where the player is looking fine, but if I want a GUI to display the name of the current hotspot, I can only get it to display that when the mouse is over the same portion of screen - meaning - if I move the mouse over a hotspot before turning anywhere, it's there, if I turn 180 degrees and move the mouse over the same area of the screen, the GUI @OVERHOTSPOT@ is still registering it as there even when it's in the a different direction, make sense? How do I fix that?

Secondly - I have found a way to keep objects and characters in the right place for when you move around. This works a treat however when the room first loads, it's putting the objects on the screen, and I have to turn round to face where they should be before they stay locked in that position. I've set the x/y co-ords before room fades in in an attempt to make sure it is placed elsewhere on the wide backround, but alas the object still appears floating waiting for me to turn to the right location before it stays locked there. How can I fix that?

Many thanks.

M

Kweepa

Ah, shoot, sorry mode7, I totally missed your questions.
You can totally have objects rotate with the background. That should be documented in the help file.
If you want them to distort correctly, you'd be better off rendering them to the background (and updating the BG image if they are added/removed).
I don't have any plans to make the BG a video, no.

m0ds,
I'll have to check the source code for the hotspots, but if I remember correctly, they should just work.
Actually, it might be best if you could upload your work directory and I'll take a look at the problems.
The fade in might be best handled separately (change fade in transitions to instant, then fake the fade on top).
Still waiting for Purity of the Surf II

m0ds

Hi Steve, sure, here it is:
http://www.screen7.co.uk/junc/panotest.rar

Issue 1 - When you run it, you'll notice a hovering object (Screwdriver) on the left side of the screen, but if you start turning, it will jump to where it's supposed to be and stay there. How do I stop it from appearing in the wrong place on room load?

Issue 2 - Hit F9, now move the mouse over the map. Clicking on it (in Look at) is fine, no matter what position the panorama is at. But the GUI at the bottom which has a label to display @OVERHOTSPOT@ only shows "Map" when the mouse is far to the right and two thirds up the screen, whether the map is visible or not - as if it's always using its position on a 320x240 screen.

See what I mean? Many thanks. M

PS - fade? Long day sir? I didn't mention fades :P

Kweepa

Hmm, this game has somehow gotten corrupted so that nothing I do makes any difference - I can write all kinds of garbage into the scripts and it will pretend to compile them, but not throw any errors.
Try writing dghkfhgsafhsk in the script and see if it compiles.
You might want to just start again :(

Issue 1 - if you use Panorama.UpdateObject(object[0], 913, 137) in the room's repeatedly_execute_always it should be invisible when off screen.

Issue 2 - I don't think @OVERHOTSPOT@ works (LimpingFish might remember!). You'll probably have to write your own in the global script's repeatedly_execute function.

Code: ags

desc.Text = Game.GetLocationName(Panorama.GetBackgroundXForScreenX(mouse.x), Panorama.GetBackgroundYForMouseXY(mouse.x, mouse.y));
Still waiting for Purity of the Surf II

m0ds

Thank you sir, I'll give your ideas a whirl asap :)

LimpingFish

I never used objects on-screen, but for both Heartland and Unbound the @OVERHOTSPOT@ worked fine when is was used on a GUI. :-\

If memory serves, I used the 1.2 version of the module.
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

Adrian

Does this module also support continouos 2d scrolling? I mean rotating but not tilting or distorting? Like in the looping room in "The Dig" for example.

anouar

the link is dead can i have a nzw one :D


anouar


InfernalGrape

Hi. I found out about this module, and it convinced me to try AGS alltogether.

(thanks Mehrdad for mirroring the lastest version)

But there are some questions i would like to ask before rushing into learning how to use it.

1) For "cylindrical panoramas" this is still a solution to use in Adventure Game Studio, as since then modules/plugins that are more "up to date" with similar functionality haven't appeared, right?
2) Two most known example games i found are Heartland Deluxe and Unbound,and in both it was just one room with panoramic view/interaction. But can you do several rooms and connect them via trigger or movement system?
3) Also would like to check other games/projects that used it to see what people have done with the module. I tried to search on website, but didn't really find much (and there is not a system of "tags" in game database that would help me find "1st person view" or "pre-render 3d" projects). So i have to ask if anyone can direct me to ones.

I have plans to make a game similar to Myst or, maybe, Queensrÿche's Promised Land. So it would be first person view adventure game where your go through different locations and perhaps solve puzzles (with inventory or not) and/or talk to NPC.
So i'd think such could be achievable with AGS & modules, hopefully. For 3D pre-render part of question, i'm an enthusiast of Bryce 3D so i'm ok with "480p" retro 3D baked into panorama (or even simple backgrounds with arrow navigation).

SMF spam blocked by CleanTalk