I've been thinking for a while about a project I'd like to start. A simple one room game that involves an island, a small island big enough to walk across or around in a matter of minutes - think deserted island with a single palm tree. How would you design this room to be a single room with continuous scrolling of walking around the island. Objects you see on one side of the island will be in the distance on the other side.
For those adventurous few out there would anyone like to have a go at designing their own deserted island or tropical paradise? One room, one graphic file.
Remember this post is more about the how than the result. How will you make sure the perspective is right, how will items align as well as some inspirational ideas from everyone.
Here's a very quick and poor taster to get you going:
(http://www.sanslife.com/downloads/island.png)
Have fun,
Magi
edit: something else to think about: how would you deal with an npc walking around the island? How do you program walking towards them as they walk towards you?
Quotehow would you deal with an npc walking around the island?
More to the point, how the &**** do you program an NPC to walk around an island??!
Ah wait, there was this old way to do it. This is from the top of my head though, so no safety checks at all.
For this example, I assume a resolution of 320x240.
You draw your location so that the shapes of the island can match to left and right (they do in your example, so no worries).
You take screenwidth/2 (160) pixels of the image's left side and paste it to the right.
In game, you check the viewport and, when it reaches width of the room - screenwidth/2, reset it to 0. You need to update the player coordinates too.
That way, as the character walk towards one "end", the illusion of a circular scroll is created. If you wish to make it as if the character is "running around the central palm tree", you could have objects scroll with him/her to signal that he's now "south/east/west" ect.
By the way, a novel idea! Could indeed be a fun game!
And about your edit: In that case you shout TAG! YOU'RE IT, and start running.
Loop rooms have been done before in AGS. I'd add several objects; trees, clouds, statue, sun, that move slower in perspective of the background.
If you're in a train and look outside, from your perspective the trees move faster than the tower far behind them and the sun doesn't move at all.
Since you walk in a circle and look at the center of the island, the sun should move faster than the trees and the tower which is in the epicenter doesn't move at all. I'm sure you can work out the osilation formula. Perspective is key in this case.
(edit: a bit crude but you want something that looks like this? http://www.youtube.com/watch?v=RXinZ8nGcYQ)
in regards to the NPC, the idea behind that was how would you make the character walk around the 360 room. As in places it would appear as though they were on the other side of the island. If both players begin walking to say the east part of the island, then, in the distance the NPC would gradually be getting bigger and be walking at a curve so that eventually the NPC seems to face you.
If you understand this problem correctly I hope you can help me with the idea of this, especially when I'm dealing with one 2D room.
Is it even possible to loops a horizontally scrolling background in AGS?
If it's not, I would use two objects (or more, depending on the size of the room). And have them scroll side to side as you keep swapping the object to the next part of the background image.
That way the room would only be 320x240 (or 640x480) and it appears to be scrolling. Objects and whatnot would need to be moved along with the backgrounds.
It's a very good idea you have mentioned here. You could use the 'area' in the background as part of a puzzle. Similar to Guybrush launching those rocks towards the banana tree from up on the mountain.
You might be able to do it by coding a custom walking function for the NPC. Imagine your island viewed from above then divide it into angles, so for example the very Northern point would by 0 degrees, the East 90, South 180, West 270 etc. Now you can translate the x position of the player on your 2D map into a certain number of degrees. If you also give your NPC an angle in degrees you can work out where they should be drawn on the screen in respect to your player. Obviously you'd have to handle the NPC's walking pattern, animation and possibly scaling in code, but I don't think that'd be too hard. When your player interacts with the NPC you'd then convert the NPC's position in degrees to an X coordinate (of if the player's going to have to walk off an edge then they'd have to walk to that edge, be repositioned on the other side of the screen then walk to the new position).
I don't know how well all that would work in practice, but that's how I'd approach it.
Of course it all becomes much simpler if you don't want to be able to interact with objects in the background. In that case you'd have two NPC characters - a foreground "real" NPC and a background one. Then the foreground NPC could move about on the 2D map as he liked, while the background NPC is positioned in the background according to the foreground NPC's x coordinate translated to an angle. Because you never see a corner of the island you don't have to worry about the background character needing to come into the foreground.
My 2 cents
Okay, I've now got a few days off work so I might have a play over the next couple of days. I'll get back to you with what I sort out; OneDollar: Your approach seems most logical and could be a nice place to start.