I was chatting today when the new game Portal from the Half Life guys came up (thanks, Ralf!).
Now, what does this have to do with Visual Basic? Well, nothing. But development ideas can come from the strangest sources so it’s good to keep your horizons open.
At any rate, I’d read about something similar in Wired several months ago, but apparently the concept got picked up by the Half Life team and fleshed out fully. (disclaimer: I have no idea whether I’ve got the backstory straight or not, that’s just how I remember reading it)
Essentially, you wield a interdimensional portal generator, but just think of it as a gizmo that you fire once at a flat surface to open one side of a tunnel, and fire it at another surface to open the other end. Then you step through one end and end up at the other, complete with all the inertia you had going in. You can see the portals in this screenshot:
(image from the wikipedia entry)
Pretty slick idea and it opens up a ton of puzzle possibilities in a game.
But it reminded me of a concept I had years ago, but to date haven’t seen it implemented, but then, maybe I live in a bubble.
Basically, I see the game as a typical first person shooter, land based (like Quake, not like Descent), but the trick is that all the walls, and the ceiling exhibit gravity, either consistently or in varying amounts and not just a few, but all of them. Hence, you can walk not only on the “ground” but on the walls and ceiling, which effectively means there are no walls or ceilings. If you ever read Orson Scott Card’s Ender’s Game, the battle training sequences described there would give a pretty good picture.
Surely, it’s been done before, but does anyone know by whom?
2 Comments
It’s been done! By the legendary programmer M.C.Escher.
🙂
Exactly!
Supposedly, there are several engines capable of "dynamic gravity" effects, but I haven’t found any mention of one where it’s a central theme of the game (like the 6 degrees of freedom motion in Descent was).
Ah, to be a game programmer. But then, I like to see the sun every once in a while.