Dev Blog: Project Moldering

Dec 27

End of the Year Level Design

I’ve been doing some level design lately. It’s great to finally start producing actual game content that will be used in the final product. I’ve been working on this game on and off since 2007 after taking just one semester of programming and it has really come a long way. I must admit though, for as strong as my programming skills are my level design skills need to be leveled up.

I find it hard to design levels for a long period of time. Keeping my perspective fresh is the hardest part it seems, but I figure that will come with practice. The best I can do now is work on design here and there and step away from it often. It’s almost a relief when I realize I need to code something for a level since coding is something I can do well, even for extended periods of time.

Either way, be prepared for some new Moldering videos or pictures (or at least details) in the near future.

-James

P.S. Happy Holidays from the Moldering team!

Dec 22

Inspiration can be Strange

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

Oct 24

Simple Map “Encryption”

The maps in moldering are stored as plain text files. This has its pros and cons. For one, it’s easy during development to make simple changes without the level editor. However, anyone can edit text files. So, rather than letting any Tom, Dick, and Harry edit the maps at their whim, I implemented some VERY basic map encryption.


Basically I serialized a class that stores all the maps after changing the maps to their hex representation. If anyone was planning to “break the code”, they’d figure it out anyway, but this will still prevent most people from cheating. By removing the temptation by one layer I think I improved the integrity of both the game’s maps, and completing the game; someone who says they beat the game likely did not alter the maps.

Besides, I do plan to release the level editor after some time, and with it the tools to pack and unpack maps. So, people will be able to edit the game and pack their own maps eventually. However, the officially released map packs will be that much more unalterable, and people won’t easily cheat or accidentally break the game.

Oct 22

[video]

Oct 21

Forum Redesign

So, I didn’t want to do anything too involved today, but I still wanted to do something, so I took the time to totally redesign the Moldering Forum. I thought the site was very “1990’s,” so I went for something more clean.

It looks a lot better but I would still love some input. Do you guys have any suggestions/thoughts?

http://www.projectmoldering.com/forum

Oct 19

This and That

No new screenshots this time, but rather a short update to let you know what we’ve been working on.

At this point we haven’t publicly announced all the features of Moldering. However, as much as I’m going to say about one of the features is that I’ve been working on a separate movement engine for a small sub-section of the game. I haven’t gotten this movement just right so I’ve been working on a few other things to pass the time. Included are:

I’d show some screen shots but it would give away too much, and besides, who really gets excited about “programmers art?” :P

-James

Oct 17

New Features? Try them out!

Been keeping up on Moldering? Wanting to try some of the new features? Well now you can!

Click the link below to check out the latest build. All the new features I’ve been talking about (as well as the new movement tweaks) are in there. Let us know what you think.


Also, I’d be flattered if you flattr’d us. I just set up an account and would love to know that it works (and to have all your monies!)

Thanks!

http://z9.invisionfree.com/Project_Moldering/index.php?showtopic=289

-James

Oct 16

Bug Huntin’

Ah… the life of a game developer. It has it’s ups and it has it’s downs. I toiled away the good part of the day fixing a very minor bug that most people wouldn’t even notice. Instead of being productive and attending to matters in the real world I spent six hours making the player move the same speed when moving up slopes from the left vs from the right.

Regardless, I got it fixed, so, that’s out of the way. But, I need to spend my time better. Yesterday I spent maybe an hour implementing a brand new feature (hooks the player can grab on to), which was extremely rewarding. It can be very gratifying when implementing something cool goes smoothly. It’s why I develop games. However, a few days like today, here and there, are inevitable.

More about the hooks though. If you’ve played Donkey Kong you probably have a good idea of what I’m talking about. For those of you who don’t know, I added hooks to the game that the player can jump to and from. They act like grapple points for climbing up to higher areas. They work awesome, and are awesome, and I’m really happy with how they came out. More news to follow.

-James

Oct 15

Controls for Ledge Climbing

Moldering is about exploration, and knowing this I’ve been tweaking the controls to get them just right. As a design decision I’ve limited the character’s movement a great deal and increased the overall gravity pulling down on the player. Movement is a lot tighter, quicker, and reactive, and the player has a greater sense of control. However, he’s not as powerful as he used to be.

I originally had the player jumping really high and moving really long distances in the air with ease, but it seemed broken and “floaty”, so I toned him down quite a bit. He doesn’t jump as high or as far now, but rather he seems like he’s one little guy going up against big odds, and I think that’s a good tone for the game.

As a result of these changes I’ve come to the conclusion that having a ledge-climbing ability will be a good way to give him just enough maneuverability. The player won’t be able to jump as far or as high, but will be able to grab onto those ledges that are just within reach and pull himself up onto them, or jump off of them.

With this ability, we’ll be able to design some interesting platforming levels. For example, consider a vertical tunnel with grooves in both walls. The player can grab onto and jump back and forth from these grooves, but the grooves will be small enough that the player won’t have enough space to pull himself up into them. These areas will allow the player to perform successive wall jumps by jumping back and forth from wall to wall. It will be the only way to get up.

I’ve implemented the wall hang. Next, I need to work out how the controls work.

-James

Oct 14

Controller support; some tweaking.

I wasn’t happy with the movement in Moldering, and the keyboard wasn’t cutting it for testing it and tweaking it just right, so, I installed a library for controller input and I added support for gamepads to Moldering. At the moment I’ve only tested it on an XBox 360 controller, but theoretically it should work with any controller. The way I see it, if you’re not using a 360 controller to play your games on your computer, you should be. However, I will do rigorous testing to ensure that any gamepad I can throw at it will work just fine.

Speaking of the movement engine, it’s really starting to feel responsive and immersive. You get a sense that you’re actually controlling our little alien. It took a bit of work, and I had to cut some of his ability to make him less maneuverable (he used to be way too powerful, broken in fact) but it gives a sense that you’re the little guy up against big odds. Entering into a large area with lots of things to climb should give the player a sense of “this looks impossible, but I know I can do it!” That’s the feeling I’m going for, and one of my favorite feelings that exploration-based games can deliver.

Oct 11

Small but Meaningful

So, Bobby and I finally had some time to sit down and work out some ideas for Moldering. We worked our way into the second world—the innards of a living breathing plant—and we got some cool ideas rolling around. Here’s a few examples:

  1. Tiny organic spores that stick to you. As more get stuck on you, the more that “good” white blood cells actively seek you out and kill you.
  2. Slimey vessels in the plant that can be used as a network the player can travel through once they acquire a spiked suit which prevents the player from being digested through them.
  3. Lots of little mechanical-like things which are all organic.

The inside of the plant will be very animated and pulsating with lots of green translucent layers, and there will be lots of metabolic processes going on that will cause trouble for our little alien.

Just some concepts for now, but Moldering will get finished, slowly by surely.

Some Moldering fan art done on a table with sharpies, courtesy of Marci Zebrowski. Marci was the original designer of the main character’s concept art.

Some Moldering fan art done on a table with sharpies, courtesy of Marci Zebrowski. Marci was the original designer of the main character’s concept art.