cymonsgames / ASCIIpOrtal

It's like portal, but in ASCII. And 2D. Sweet look-through mechanic, tho.
http://cymonsgames.com/asciiportal
GNU General Public License v3.0
197 stars 20 forks source link

Rework the game engine #9

Open zorun opened 13 years ago

zorun commented 13 years ago

This might be the hardest and most delicate work to be done, as it deals with the core of ASCIIpOrtal.

The current game engine suffers a major design flaw that prevents any further development, like the moving platforms project. I actually spent a couple of hours struggling with the game engine to implement a minor modification...

On the other hand, the object manager (contributed by ivanq) is really excellent, as it is very computationally efficient while keeping a simple design. If possible, this component should be kept (or adapted).

Suggestions to improve and/or rewrite the game engine (mainly the "physics()" function):

cymonsgames commented 13 years ago

The part to be careful about is that this has the potential to break a lot of existing behavior that is exploited for several people's maps. Like being able to slip between block in a checkerboard pattern. These behaviors exist because of shortcuts and, quite frankly, bugs in the current engine. Should they be fixed at the expense of some levels or not? I say yes, but it should be deliberated on a bit more I think.

zorun commented 13 years ago

On Thu, Jul 14, 2011 at 09:12:40PM -0700, cymonsgames wrote:

The part to be careful about is that this has the potential to break a lot of existing behavior that is exploited for several people's maps. Like being able to slip between block in a checkerboard pattern. These behaviors exist because of shortcuts and, quite frankly, bugs in the current engine. Should they be fixed at the expense of some levels or not? I say yes, but it should be deliberated on a bit more I think.

One more reason why it will be delicate, yeah...

I suggest not caring too much about these retro-compatibility issues at first, to start with a clean design. Then, when we have something that works well and that's easily extendable, we'll see if it's worth tweaking to reproduce some of the old behavior.

I must admit that deliberately implementing bugs to reproduce an old behavior seems weird to me. But again, if that brings more fun... :)

Now I recall something important: should the player be allowed to literally "climb" a wall by standing on a portal? As far as I remember, this is the most serious bug and the one that is likely to break the most levels. Also, it might change the design of the game engine (do we allow an object to be at the exact same position as a portal?)

Something is clear: let's not code that stuff without having a very good idea on where to go and on how to achieve it :)

"C'est mieux, mais il y a plus cher ailleurs" :


/ | \ | | | | | / / | ()_ _ | | | | | | | |/ /| | | | ' | | | \ \/ / | || | |\ | || / / | || | | | | || |> < ____|| _|**// |**||| ||,//_\

GNU/Linux fan && Archlinux user

cymonsgames commented 13 years ago

As for "climbing" with portals, I assume you mean if there are 2 opposite sticky walls should you be able to use that to go up? That was by design. Becuase portals in this game have dimension they punch a temporary hole in the wall and it is possible to stand in them. Sure it's a departure from the 3D game, but I kinda like it. That also means that if an object is in the portal then they are in 2 places at once, and again I'm okay with that. It causes headaches but was by design.

zorun commented 13 years ago

Ok, sorry about that, I really thought it was a bug :)

cymonsgames commented 13 years ago

Lots of folks do.