timetocode

A blog about game development and procedural content generation.

First time here? Try the graphical archive of all posts.

Feel free to email me or Tumblr ask | FAQ | Also on Twitter @bennettor

...querying twitch.tv... http://www.twitch.tv/timetocode

Jellyfish ship art

Jellyfish ship art

BadStar new game mechanics

BadStar and ‘that one action RPG w/ the zombies and the character generator which desperately needs a real name’ are two games intending to share an engine. These projects started with some network programming prototypes, and became game ideas after the fact, which is a ridiculous approach. For ActionRPGThing, I looked at my heart and said what do I want to make? For BadStar, I looked at my existing code and said, what does this make?  It is about compromise and learning, I suppose.

I still fully intend to make both games, and so this 2 (3?) year ball of prototypes and code rolls onwards yet again. Sometimes I feel like I have 20 distinct ideas, sometimes I feel like its really just one chimerical project.

Recently I’ve been faced with a desire to change the core gameplay of BadStar. For those of you who haven’t tried the tech demo, you basically pilot an awkward ship with W A S D, and click anywhere to fire projectiles. That’s the gameplay. To describe it a bit more, it is one of those types of games where you find your movement and jukes coming from your left hand, while your eyes and your right hand take on a parallel task of clicking on things to destroy while you move around. I don’t mind this type of game at all, but it wasn’t really intentionally made this way, rather it emerged as a placeholder while I was focused on netcode.

I have some new core gameplay mechanics in mind that fit more in line with my concept of an action RPG. By “new” I mean new to BadStar, really these ideas are an amalgam of modern games.

The basic gameplay is going to consist of clicking on a target, and then keeping the target within weapon range. The player ship will autoattack the target until one or the other are destroyed. These little basic attacks performed by the player and enemy ships never miss, the only way to stop getting hit is to get out of range. There will be other special attacks, such as homing missiles and various explosiony things which the player will need to dodge. The player ship will also have abilities of the kind you’d see in an RPG (nukes, heals, debuffs, buffs, special utility abilities). There will also be abilities to modify speed, to get out of aforementioned range.

So all in all, the combat mechanics resemble a fast MMORPG: try not to aggro too many things at once, cast your abilities, team up with complimentary players.

There are going to be different types of starting ships, with different starting abilities and a few of those will resemble archetypal RPG classes. Hopefully this common ground with familiar MMORPGs has the effect of making the start of the game playable without much of a learning curve, because from there on it is a bit of a departure. The player begins with a “heavily damaged” version of the type of ship they select, and as they collect mineral (resource name TBD) the ship gets repaired and “regains” its abilities which in effect grants it its class identity. It is analogous to gaining experience as a priest in some MMO, and upon reaching level 3 being granted the heal ability. However after a few levels the ship is considered complete, but the game’s progression is far from over. From there on (or earlier, if lucky), abilities are not granted by leveling, but by finding weapons/modules. The game is a rogue-like at its heart, and picking the healeresque ship at the start is no guarantee of anything. A roll of the RNG will have the player behaving like DPS assuming they can adapt appropriately.

My current design also doesn’t exactly have RPG-style experience points. The idea of collecting mineral to repair a ship and level it up, more or less, is analogous to the average experience system but with some important caveats. This may change, but in the current design the player starts with broken modules + weapons, and these can be repaired by spending mineral on them. The ship’s main body is also upgradable via the minerals. Firing a missile also costs a small amount of mineral. So continuing the RPG analogy, it is a little bit like casting spells from the exp bar instead of the mana bar. That might sound like a bad deal, but in a rogue-like with perma death, why wouldn’t you want to cast from the exp bar? Not casting heal could cost all your exp (death). Mind you, by design there’s no way de-level. Mineral is only *potential* exp, after it is spent the ship is permanently improved and the mineral is gone. 

As for a playable demo, I’ve only got the new basic auto attacks and AoEs implemented so far. This whole idea of auto attacks and abilities is a paradigm shift from the everything-is-an-entity design that preceded it. My beloved automagic netengine thingy is going to need some serious work. The last published version is very old by now. I’ll publish a new version when I’ve got a few abilities working, and then you can fight armies of not-yet-colored-in squid ships!

49 plays

wip game music, like parts, dislike parts

It’s a chillventure.

Messy pseudo 8-bit song.  Despite how it sounds, I think I’m learning. Made in Renoise, which feels a bit easier to me than the more traditional DAWs (music softwarez). There’s very little actual playing of music, it is mostly about adding one note/beat at a time to a track, and then layering the tracks together. If I go back to building songs around classical music midis, I may have a shot of composing something bearable.

In other news, the NetEngine part of the BadStar game has ONE more feature to go before it is done (clientside collision reconciliation). I have no idea at this point if that will actually be the end of the complicated network programming on this project. At least in my tests the game remains barely playable at 750ms ping, which is really just an amusing side effect of me wanting the controls to feel tight in the 0-250 latency range. Hitpoint bars, killing blows, and loading fast moving objects on the edge of the screen all show the lag for what it is. I could hide some of that lag too, but it has come time to stop tinkering with enginey things, and finish the first 1/3 of the level progression.

A short melody, might make a full song out of it later.

WIP Jellyfish ships, HP bar ui element, flock/squad spreading out behavior

WIP Jellyfish ships, HP bar ui element, flock/squad spreading out behavior

A few more effect experiments made out of the same cloud shape: sun/flare, green+pink star variant, fire/explosion/flaring-nebula, dusty asteroids.

I may consider a creature which is just a flare.

If I can get some more variation on the asteroid dust, I think that’ll make it into the game. I may just make a dust particle effect and have the asteroids emit it. Might also be a nice touch when the asteroids get blown up. I plan to pretty much rely on particle effects for everything that gets blown up in this game.

So, these are crazy. The originals are also animated which makes them very sparkly+dreamy. I don’t think they’re going in the game. I wanna do a red+orange+yellow variant of the bottom one, i think it would give a solar flare vibe.

Bug w/ the engine exhaust particles. A GHOST?!

Bug w/ the engine exhaust particles. A GHOST?!