Saturday, June 19, 2021

BRS - Pandemic Flashback #4: Gameplay Part One

I split the gameplay elements of v0.3 into two parts, concentrating first on flying/piloting stuff, and then on laying the foundation for space trucking. The focus for the piloting update was just to make the moment-to-moment flying a bit more involved, but this will be evolving as I add in ship systems.

WARP/SAN LIMITING

Stations are now equipped with some sort of magical warp inhibitor that automatically drops you out of warp if you're within a 500 km radius. This is not exactly what I have in mind for the final implementation, but it was easy to set up as a placeholder. I wanted to do this for a few reasons. First, it makes sense from a world building perspective as an in-universe safety precaution. Second, it forces players to take orbital mechanics into consideration when approaching a station, rather than just warping to like 1 km away. Finally, the physics system bugs the fuck out when warping or time accelerating near stations and this was an easy band-aid.

But I kind of hate it. This is not what the final version will look like. While this solution does do what I wanted it to do, it also introduces some major annoyance as you're constantly kicked out of warp. I have some thoughts on how to smooth this out, maybe even for v0.3, but more on that another day.

WARP MECHANICS

The warp system, like all ship systems, will eventually be fairly involved. So there's nothing final about this, but I wanted to make entering warp feel more meaningful. Now, you need to face the ship prograde and hold it there for a few seconds in order to achieve a warp lock before engaging. Once locked, warp is engaged by throttling up to 10%; this feels pretty good, like you power up and then suddenly slam into warp. This also disincentivizes using warp for short jumps, since starting out at 10% power makes it easy to overshoot. Similarly, you now drop out of warp by throttling all the way down to zero. Again, this just feels right, and avoids the weird situation where you could just sort of halt yourself in time and space by warping at 0% throttle.

BURNING FUEL

Thrusters now burn fuel! This includes attitude and translation thrusters. More powerful thrusters like the main boosters are more efficient than weaker ones like the docking translators. This makes sense in rocket sciencey way (probably?) but also, more importantly, for gameplay. Boosters are efficient enough for interplanetary transfers, while docking thrusters are inefficient enough that fuel still needs to be budgeted for close-range maneuvers.

BOOST MECHANICS

Finally, I made some tweaks to the main boosters. In maneuver mode, engaging and disengaging the deflectors is no longer instantaneous, with the physical mechanism taking a couple of seconds to respond. And in boost mode, the deflectors are no longer available. This was purely a gameplay decision. I just think it's fun to have to flip the ship around and burn when making big braking maneuvers.

The next task, before moving on to the second half of the gameplay update, was to, um, completely redesign the ship, both on the interior and exterior. It did not go well. Stay tuned!

Saturday, May 29, 2021

New Release: The Birdgod Tarot

 Finally, a cumbersome virtual fantasy card deck with no intended purpose!

Birdgod Tarot Screenshot

I woke up in the middle of the night like a month ago with this dumb idea and I couldn't fall back asleep so I started making it and now it exists. The UI/UX is terrible, as always. The deck structure is based on the Shenzhen IO solitaire deck, so if you want a real pain-in-the-ass way to play a specific version of solitaire then I got you fam.

Birdgod Tarot - All Cards


Wednesday, May 19, 2021

BRS - Pandemic Flashback #3: Nav Tools

With the physics simulation in place & (basically) working (mostly), lots of cool things were already possible in Black Road Sky. Orbital rendezvous! Interplanetary transfers! These are the kinds of things that I want the gameplay to revolve around. But, Space is mostly space. To execute these maneuvers requires useful instrument readouts which the game sorely lacked (and still does, but, like, not as sorely as before). So the next step was to give the player some basic tools to reduce the amount of finger-crossing required to transfer orbits or rendezvous with a space station.

Cockpit view with nav ball
The pink circle is target direction, just point & burn! Carefully!

The first things that I added were straight out of Kerbal Space Program, and I gleefully continued to steal their symbology. I added target direction and velocity indicators (as well as their opposites) to the navball, making close range orbital rendezvous maneuvers much more straightforward and enjoyable. This information was already available in text form, and still is; the numerical x/y/z breakdown is much more accurate and is still useful when you really need to dial it in. But even with practice, the numerical readout can be hard to understand. Up until now, achieving a parking orbit meant to "adjust your attitude to align your relative velocity with the negative Z axis, then throttle up to nullify your relative velocity". Now, it can mean "point toward that green symbol and blast off until your relative velocity reads close to 0". It's still not easy. You still need to know what you're doing. But it's a lot more fun this way, and more realistic as well ... if you accept however many grains of salt it takes to make you believe that manned space trucking with pre-Apollo level technology is a thing for a thriving interplanetary civilization. MOVING ON.

Orbital map with node markers
This update focused on optimizing meme potential.

The next improvement was to add ascending & descending node markers to the orbital map, relative to your target if you have one and to the planet or moon's orbital plane if you don't. This is still a bit buggy as of this writing, but it works great when you're in orbit around the same body as your target. Not so much for interplanetary transfers, I still have some work to do there. But for station rendezvous, this symbology along with a 'relative inclination' readout adds the necessary 3rd dimension of information to the 2-d orbital map. I really like the 2-d orbital map. I don't think it's going anywhere so deal with it.

It doesn't work with target planets or moons outside of your SOI, due entirely, I'm sure, to my less-than-amateur expertise in astrophysics. I'll figure it out eventually. One of the problems with interplanetary transfers at the moment is that you usually end up way above or below the target's orbital plane. The new target direction indicator on the navball helps for making close(ish) range course correction burns, and the node symbology is useful once you're in orbit, but I still have a lot of work to do in order to make interplanetary transfers more fun than tedious.

Speaking of making shit more fun, that was the focus of the next update. Spoiler alert: I kind of failed, but you gotta spend money to make money, right? Right?

Sunday, May 9, 2021

Sneak Peek: The Two of Slime

 I am meddling in powerful forces that I do not understand.

Minor Arcana Template Sketch
Minor Arcana Template

That is to say, I am learning HTML5 Canvas.

"Ah, the 2 of Slime ... reversed, a dire portent, perhaps a fall from grace. But here, The First King suggests renewal, growth and well warranted ambition."

    ~Oprah Winfrey, So You Wanna Fuck With Tarot TV special, 1999

Friday, April 9, 2021

BRS - Pandemic Flashback #2: Input System

Being more of a flight sim than a game, it's pretty important to me for Black Road Sky to be compatible with flight sticks, rudder pedals, HOTAS setups and so on. I'm developing primarily for keyboard and mouse, but the option to use weirdo controllers adds a lot to a game like this. I usually spend the first like 2 hours in a new space game just getting my shit set up, and I am normal so I assume that this is what the average consumer considers a 'good time'. The people demand peripherals. Man, I'm gonna be rich.

Anyway, of course input handling is something that Unity does, and of course it does it just not quite good enough for my needs, so of course I wrote a whole new input mapping system. I want players to be able to plug in an arbitrary number of controllers, with who knows how many buttons & axes, and be able to map those in-game on the fly. So that's a thing now. It was a pain in the ass and I almost caved in and spent like $2 on a Unity asset that claims to do all of those things, but instead I spent like a month fucking with it, and it is a thing now.

I'm not shitting on Unity here. If you want to make a game that is controlled by keyboard and/or mouse and/or a standard gamepad, like 99% of games, Unity pretty much does it for you. It's frustrating when I run into things like this where I end up needing to roll my own version, but it also feels good to know that I'm not making something that fits into any '99% of games' club.

The UI that I made for control mapping is garbage and will need to be redone at some point, but everything works, as far as I can tell (I'm only able to test with the peripherals that I own, of course). The first time that I was able to fly around and dock the ship with a flight stick & throttle was actually pretty thrilling. It's the difference between a space game and a Space Game. If you know, You Know.

With the new input system finally in place (this was around the end of March 2020, I think) I moved on to (drum roll begins) a bunch of miscellaneous (drum roll intensifies) gameplay stuff and like additional navigational tools and I fixed some bugs and stuff (drum kit falls over and a single piece of confetti drifts slowly down from the ceiling). Next time!

Friday, March 19, 2021

BRS - Pandemic Flashback #1: Audio Engine

The first big task of v0.3 was to rebuild the audio system. Well, to build an audio system, more accurately. As I was wrapping up v0.2, I decided to throw some sound effects in as an afterthought. I only intended to add a few ambient sounds so that the game wouldn't be completely silent, but they improved the experience of the game so much that I just kept adding more and more sounds with no plan for how to manage them. I mean, there was a plan, which was for future me to deal with it, which he did. So sounds were all scattered around in the code with no rhyme or reason, which would have ended up causing a ton of problems. Like, if I wanted to add some super advanced feature like the ability to adjust the game's volume, it would mean changing dozens of lines of code, and it would only get worse as I added more sound effects. So it needed to be done. And it is. BEHOLD:

There are now TWO OPTIONS!

The new system makes it much easier to add, remove, and alter sounds from here on out. I also added support for placing sounds in 3-D space. Unity does this out of the box, but the built-in system lacks a few features that I needed (such as smoothly adjusting the pitch of a sound on the fly) so I ended up rolling my own. It's not very noticeable in the game as it exists but I think it will add a lot to the sense of immersion once I start implementing ship systems.

I did all of this over a year ago, back in February, when I only used the word 'pandemic' while playing the board game and Corona was just a skunky spring break beer. In the next exciting episode, I'll build an input system while the world crumbles. Stay tuned!

Tuesday, March 9, 2021

Black Road Sky Pandemic Report

 As PCG Stans are well aware, we were tapped by the Shadow Obama Administration to develop a COVID-19 vaccine in the early days of the pandemic. Through extensive research, the Totino's Party Pizzas and Natty Daddy tallboys that we've tested over the past year have proven ineffective in terms of vaccination potential, but fabulously effective in other ways that we are still actively studying. This allocation of resources to R&D forced us to put Black Road Sky on the back burner ... until now.

Work resumes on BRS v0.3, picking up where we left off nearly a year ago. The focus of this update is on behind-the-scenes infrastructure to get ready for implementing ship systems in v0.4, but there will also be a few notable gameplay additions. You will be thrilled to know that I'm currently working on a sci-fi savings and loan, bringing a much needed breath of fresh fiscal responsibility simulation to the game.

Fiscal Responsibility Simulator 2021

In the next few posts we'll be looking at the work on a new audio system, input manager AND MORE that was done back in early 2020. My hope is that by the time these posts catch up with my current work, v0.3 will be about ready for release. But hopes are made to be dashed yeah?

WE WILL NEVER GIVE UP unless this gets boring then I'll probably play Tetris.

Tuesday, February 9, 2021

NEW RELEASE: Clicker Game for Kids (K-12)

 I want to make a positive impact on the world, so I made an educational game for kids. It is called Clicker Game for Kids (K-12) and it is available on potatoclockgames.com for kids, educators, and the young at heart disease I mean heart.

 



Maybe you're thinking hey man it seems like you're just making dumb JavaScript games lately because you're afraid to get back to work on Black Road Sky because there's no risk in making something intentionally dumb and what if you actually give something your all just to see it fail like what would that say about your worth as a person that's pretty scary stuff but actually maybe you should just mind your own god damn business, buckaroo.

Tuesday, January 19, 2021

NEW RELESE: JUMP 666

 I just made one of the dumbest things I've ever made.

Ladies & gents, it's JUMP 666, the title says it all, check it out today on potatoclockgames.com!

I made this game in a few hours, following this tutorial for the bulk of it, after learning that you can do keyframe animations in CSS. WHAT!? Why in the name of fuck would you want to do that? Who is sitting around wishing that CSS was more fiddly and complicated? JUMP 666 aims to answer these questions and more.

For the haxorz, the scholars, the rascals: