Sunday, October 25, 2015

Five Nights With Us


A foray into PyGame, this is a little minigame based off of Scott Cawthon's Five Nights at Freddy's series. In this, you control the Animatronics to attack the security officer in an RTS-style game, but the animatronics have minds of their own, so you can't always depend on them doing what you want them to do. By building up Tension by surprising the guard with unexpected situations, you can earn more Energy. When your Energy is high enough, you can get the animatronics to attack more directly. The thought process behind this is that you don't want the game to be over too quick by just spamming the cheap moves, but you also don't want to make it impossible to finally seal the deal without having the RNG decide it wants you to win. By managing resources, you can disavow the randomness and take the game into your own hands.

Included in the download is the full source code, as well as a Windows executable.

Summoner Sweetheart


This is a game I was asked to join partway through. Originally designed to be a quick visual novel made in Ren'Py with a small dungeon-crawling aspect quickly grew out of scope. The developer they had for the dungeon-crawler aspect had no experience in Ren'Py, which is a completely different beast from PyGame. I had experience with both, so I was brought on to get the dungeon aspect finally working in the game. I was given two weeks.

After trying it out, I was hit with a game that simply could not work. It depended on a lot of PyGame functionality that just wasn't present in the Ren'Py engine, and there was no way to combine the two without gutting and rewriting either the game aspect or the visual novel aspect of the work. I decided to let Ren'Py do what it does best and started the dungeon portion over from scratch.

It took a lot of late nights, as well as two or three more rewrites as we all learned more about the Ren'Py framework and how to push it to its maximum, but in the end, we launched on time. There were some bugs still in the game (usually in the Visual Novel portion, such as missing a flag that caused the game to loop the same scene over and over), and a few engine quirks caused us to release a few patches same-day, but we finished it, and it's a fairly enjoyable product with some good production values.

It was a great experience working with the Bigsteps team, and I'm glad that in the end I was able to come through for them and finish. I'm not going to lie and say it wasn't a stressful mess of overworking and tons and tons of coffee, but in the end, I think it was a worthwhile endeavor. I've basically got a mastery of Ren'Py because of it, and my PyGame skills have improved since I've had to learn why the engine was breaking instead of just simply how to work around it.

Project: TUSSLE

Still in progress, Project: TUSSLE is my Magnum Opus. Or, at least it will be. It may not look like much, but that's because of the nature of it: Project: TUSSLE is an open-source game engine based off of Nintendo's Super Smash Bros. series. Players will have a set of easy-to-use tools to create characters and have them duke it out in classic physics-based platform fighting style. The engine is done in PyGame, and each piece of the engine is tweakable and modifiable through user-defined variables. In addition to the game itself, TUSSLE is intended to be a community, for people to create and share characters, stages, and engine tweaks to make the games they want to play.

Design-wise, this is one of my most ambitious projects. The entire engine is being built from scratch, no physics libraries, no existing platform, so there's a lot of design to do. I have already filled three spiral notebooks with diagrams, notes, psuedo-code, to-do lists, and graphic design specs. I've been working on this whenever I have a few spare moments for the past few years, and development has really jumped ahead in the past six months or so.

I have not quite gotten to the point where I feel it's ready for distribution yet, but the code is all available on GitHub. The engine is playable, but a bit lacking in features, and not entirely debugged yet.

BattleQUEST Dungeon Player


This is a browser-based virtual tabletop for the BattleQUEST module of BattleCON: Devastation of Indines. The game is meant to replace the tabletop and dice for the dungeon mode of the game, but not to replace the entire board game (so as to require players to actually purchase the main game)

The game is intended to be expandable, and indeed, a custom dungeon builder is coming soon. If you would like to try it out, you can find the link below, but be warned, without having the board game in front of you, it will be difficult to know what's what, and it will be impossible to actually play.

The builder is currently in beta, and is lacking tutorials and a few art assets before final launch.