Friday, October 17, 2014

Onwards and Upwards

The school year has been moving along and so has my groups GDW game. Since the scope of design is our lead programmer already rigged up a quick project in 2Loc that lets us load in maps from the Hammer map editor and move with FPS controls. So prototyping has been going great so far and the game is already taking shape. 

He also got some pre-baked lighting going on as well. Since hammer Exports to maya map creation is a breeze. Movement including wall running(still being worked on), and bullets working. As I said in my last blog working on this game asset wise is going to be a casual ride, but there is a lot of work to go into design. Last Blog I also mentioned that the indie game Towerfall had infinite looping levels, where one side leads the the opposite. Like the sides of Pacman. I mentioned that its a lot harder to do in 3d than in 2d, today's blog im going to go over the basics of incorporating a system like that. 
I'd like to take portal as an example and explain where I'm basing the idea to create these infinite looping spaces. Most people know the base idea of portal, but to sum it up, the two circle are direct portals to each other, go in one come out the other. The inner workings of the game had me puzzled for a while, but after some developer commentary I grew an understanding. Don't quote me on this but I believe the commentary talks about 9 different Versions of the world while playing portal. The room you see above would be copied over 9 times, each with their own version of the player and its own version of the portals. Once a portal is shot, a version of it is put into every scene, and once the second one is shot the scenes combine. When you see a copy of your character in portal, not through a portal but a portion of your character in two different sections of the world, say legs sticking out one side and body on the other, you are seeing a drone, not the true version of you. Its just another player model thats following your exact movements, but from that position. Portal Obviously fakes its connectivity. I can't say the same for Portal 2, but i'm very confident that this is how its done in 1. 
Now with my groups game we don't want to incorporate an actual portal system. We where planning on having maps simply loop one or two sections to each-other. Lets say I make a completely vertical Map and leave the bottom and top open and symmetrical. From there I create 2 copies of that map on top and on the bottom of the first one. Assuming I dont let you see into infinity, 2 extra maps should be enough to set up a loop. This is where controlling entities comes into play. If I load 3 maps, connect all 3 all i've done is increase the length. But if I load 3 entities of the player in the exact same place in the 3 maps I have a different story. The player would start as the player character in the middle map. The other two version of the player would take the exact same place in the other two maps. When the player goes close to one of the edges of the map, The copy on the the opposite map will go close to the edge of the original. This is how the loop works. Whenever the player trys to leave the map though its 2 exits, a copy of him is entering the map the original was in. By simply switching the camera from one copy of the player to the other the player will never be able to reach the end. Also since there are copies of the player in the other maps, a second player can be added without having to worry if the original player is in the right copy of the map. There will always be a version in the center.  


Overall Its going to require some solid code to keep each entity in line to create multiple copies of the scene. An Entity manager that selects one version as the true one and keeps the others as drones would help the process. Overall I'm pretty hyped to try this out, so wish me luck.

No comments:

Post a Comment