Ok so i've been working on Level saving, because i wanted to make a Basic level editor to test out many different types of levels, and i didn't want to have to waste memory in level data like i am doing now. I will be using Run-Length encoding to compress the levels (same as in Portal 1
), and I predict an average size of around 50-80 bytes
and even smaller for some of the early small and simple levels. It will also help that levels will not be as complex (have as many floating platforms) as Portal 1 as the gameplay in general would not permit it. As it is a portal needs at least 2 tiles next to each other in order to latch, and you have inertia, so small gaps would not be as much as a threat as they would be in Portal 1.
As for engine development, I am working on Portal bumping currently, and moving the gun code from PxlTesting to tile testing so that tiles that do not support Portals can be implemented. Portal bumping just means that when you fire a Portal near a wall, it might try to stick inside the wall, but the code needs to know how to 'bump' it so that it lies fully outside the wall, or totaly on the wall. It also need to determine when there is no room for a portal.