Loading
Dev Blog: Project Moldering

I was playing Borderlands all day the other day now that school is out of session and I discovered a neat glitch. The glitch allows players to skip rounds of enemies in the Mad Moxxi’s Underdome Riot DLC (a round-based tournament-style game mode). It got me thinking about how the inner workings of the game must operate; I figured out what checks their code must be doing simply by playing the game, and then the cogs started turning in my head. As a result some neat ideas for Moldering started popping in my head. One of these ideas was how to create a simplified system for “global objects.”


A global object in Moldering refers to any object which is independent of the map it is on. This means that any one of these objects designated a “global object” can move off the screen and into other maps. Not only that, but they won’t “reset” when a map is reloaded. So, for example, I can push a global box 7 maps over and it will stay there. Previously, whenever a map was reloaded it would re-instantiate each object stored in the map file corresponding to that map and as a result the map objects could not save their state through this (only a limited number of maps are in memory at any given time to save resources).


In order to designate an object as global, I also wrote the code and interfaces necessary to specify which objects are global and which are not in the Moldering Level Editor. Now, all that is left is to work out a few bugs with moving objects between maps of differing sizes.

-James

Bookmark and Share

I stayed up late and wrote code. Holding ‘B’ in the level editor draws collision boxes which create static Box2D shapes. These save and then load in-game and prevent Box2D objects from wedging between what would have been joins between touching tiles.


This removed a major glitch from the game (and Box2D engine?) allowing for a smoother game experience. Now I need to work out a few other Box2D related Moldering glitches.

-James

Bookmark and Share