On a whim the other night I finally registered momopax.com, just short of one decade after Jules and I decided to start labeling our collective game efforts with that name. We have recently started chatting about creative projects again after a long quiet, and this is our new outputzone.
This weekend gone, Fet and I managed to carve out a few precious hours to actually work on Paraplu together in the same room. The progress was substantial.
Most of the work we do on Paraplu is conceptual – either I’m making tiles outside of a level, or Fet is tweaking or introducing a new feature for which there is no art. It’s been very rare thus far that we actually assemble any of these pieces we have. Whenever I do attempt it, I am impressed with how quickly and easily it is possible to assemble something roughly game-shaped in a small amount of time.
With this, both of us are relatively inexperienced at some of the concepts associated with this. We haven’t either of us had much practice in making levels, or really thought about the consequences our current system has on level design. Each time we delve into this realm it is deeply enriching and we learn a lot in a very short while. Some of what we learning is surprising, and gives us an exciting insight into what our forefathers must have felt when designing their first experimental levels: getting an idea for how to direct the player around the level, to inspire a sense of adventure and curiosity through the lofty building bricks of Passable and Impassable tiles. It’s an artform, and the first time you put brush to canvas, it inevitably feels heavy and unfamiliar in your hand, yet the tantalising and powerful potential is there – through this medium you can fashion exciting, undiscovered worlds into a form that can be experienced by others.
And yet, once we had made a level and put some basic enemies in it, we were left with the “now what?” feeling.
Fet summarised it well, “What makes this game Paraplu?”. I have many clever ideas, most of them are most likely a programming nightmare! I’m usually too scared to mention them to Fet, but I often do anyway. Trying to expand the scope of the game beyond just killing enemies, without introducing complicated code is a difficult challenge. But, for the time being we must remain strong and focused. We can make levels quickly with a great editing tool, and you can do things in them. Next: learn how to make levels! That’s progress, and it’s really good fun, too!
Still feeling very inspired, have been working on Paraplu pretty much every day. :D
Talked to Fet the other day about changing the way levels work in the game. Previously, each level was just a single screen, and now we’re looking at making it so that the edge of any given level will (optionally) take you to another screen, like in TLoZ. Moving in a more adventure game / exploration model direction, it seems!
Started working on an interior tileset for a murky, ruined interior a-la Temple of Doom or something of that ilk. Made more progress in a short time than even I anticipated, with walls and floor tiles already in some workable form after a single evening’s work!
Will keep going with this tonight.
We have made lot of progress in the past few days.
Thanks to my coworker Andrew, we finally got Python and its dependencies properly set up on Julian’s MacBook so that he could run the game himself. Before that, were having to rely on making prebuilt copies on my machine whenever anything changed. Considering how simple and approachable Python is designed to be, setting up packages and installing things is a giant frustration.
Jules convinced me that we ought to increase the map size by a lot; we now have tons of tiles to work with. Levels that take several minutes to work through are now more possible.
After finding dual-stick Robotron controls unwieldy, and unable to agree on a tap/hold scheme, we decided to offer *both* of the tap/hold schemes. Tap either button to fire in the direction you’re moving; hold the Jules button to maintain your firing direction as you strafe around; hold the Fet button to halt your character in place and shoot in any direction.
Adding a hit stun effect to the enemies when you hit them was a big step in the direction of making Paraplu feel like a game. It’s a tiny thing, but seeing an enemy shake back and forth and halt for three frames is quite satisfying.
The best you can ever do with a project like this is to keep pushing yourself and trying your best. Often, when the context is as easy ‘n’ totally cas like then it’s hard to remain disciplined. I’m extremely bad at this. Recently I very much wanted to try to shed this taxing trait, and after a thoughtful chinwag with Fet, implemented a simple system of understandable boundary-creation and deadline-setting. The complication with our particular situeÃ© is that there is no reprimanding hand to turn us should we be unindustrious. Well.
So far, over the last week or whatever it has worked surprisingly well. The major, and difficult task of re-redoing all of Vivienne’s animation frames and modifying them for a new context is done, and soonly we should have all of the materials we need to fully animate Viv in game.
I don’t want to let up, this pace is great!
I had a nice time coding in the little food court at Whole Foods today.
– After several hours of work, taught our most basic enemy how to avoid obstacles. This is way harder than it seems, and I had to write in a bunch of psychedelic drawing effects to visualize what what happening in the code. It turned out I was telling it to go in a direction only if any obstacle existed that it wouldn’t hit, rather than if there were no obstacles that it would hit.
– Fixed a weird string-length bug that became apparent when resetting the description box for an item.
– Started moving the main character to a specific spot on the screen when moving between areas, so that you can’t arrive stuck inside a bush.
I was determined to get into a Paraplu groove today, because it was the first time in a couple of months that I had a significant chunk of free time to myself. After getting energized by some bass-playing, coffee, pinball, and Ar tonelico music, I sat down to plow through some coding and planning tasks. It went well!
– Designed a master chart for all enemies, the items they drop, item rarities, and crafting recipes.
– Wrote a system for enemy spawners.
– Added a spawning effect for when enemies appear from a spawner.
– Wrote the item drop probability system. Enemy types have the possibility of dropping one of each of a common, uncommon, or rare item. The probabilities of dropping one of these rarities of item, or any item at all, is customizable per enemy.
– Made it so that items you collect in adventures properly appear in your inventory when you visit your atelier.
– Filled in all of the items, rarity rates, and recipes for the items we have in the game so far. You can theoretically craft a Peasant Dress in the game now if you keep at it, but once I collected the ingredients I immediately got stuck inside a bush.
**Update:** I’m unstoppable!
– Subclassed Interface as TextBox and ViewBox, because once again that class had gotten huge. It was taking up half of the “guys” source file! Really cleaned up how the interface guys work.
– Added enemy portrait and description, in their own little boxes, to the bestiary system.
– Added item description, in its own box, to the inventory system. We have written lots of cute little bits of text about the inhabitants and artifacts of Nettle-Belfry, so this is a big step.
**Update:** My unstoppability continues!
– Set up statistics for how many times you have beaten a certain type of enemy.
– Made the bestiary hide enemy info until you beat that enemy at least once.
Progress is steady now. I am working pretty much every evening on Plu, and managing to tick off boxes every day. Feels good! We will soon have all the parts required to make a working, fun level, which is a very important step to take, obviously. We are simultaneously slimming down un-needed parts of the game to speed up progress, and overall the feeling of progress is wonderful!
Visited Julian’s house today, and got to work on our stationary stone idol enemy. It spits magma-veined eggs at you, which explode on impact. Figuring out how to make objects fly in parabolic arcs within our pretty 2-dimensional system was fun.
Had really good crack at getting some illustrations done last night and something isn’t right. I’m not sure if it’s just normal “hiatus sickness” or my own sensitivity to the environment I am working in (different computer, different application, different hardware, different location). I am having a hard time feeling comfortable drawing, and the machine I have isn’t really powerful enough to properly run Photoshop, which in turn isn’t as nice as OpenCanvas. Despite all that I am a pretty firm believer in the philosophy that you shouldn’t blame the tools for your own shortcomings. Maybe I am just rusty. Regardless, it’s difficult and depressing to spend hours trying to do something you know you can do, only to ultimately have nothing to show at the end of it.
Ugh, here’s hoping I can get through this rough patch quickly and get something back into it. The mind is willing.
On that note, anyone have a powerful laptop they aren’t using? :D
Oh well, worth a shot.