1. icon for News
  2. icon for TCHOW


Friday, March 29, 2013

Rktcr: Beta3 and the Paths Computer

I am discovering that deciding when to release a beta of Rktcr is all about balancing imperfections. There are the rough edges I know about -- e.g. the missing lab functions in previous betas, or the relatively thin writing in the scripts -- and the imperfections that my testers invariably find -- e.g. blank screens and crashes on Intel GPUs.

The first kind of imperfection slows me down -- makes me want to take longer between betas so I can add "just one more thing." But the existence of the second kind of imperfection pushes in the other direction. Adding many new features and then finding a bug gives one a much larger amount of code to review.

I'm releasing Beta3 because of both kinds of imperfection. I've added a significant new feature -- the paths computer -- and I think I've worked around or solved a few antialiasing bugs I introduced in Beta2.

The Paths Computer

If you are one of the lucky(?) few who have been playing Rktcr, you know that the world can be confusing. Infuriating even. The connections between zones are complicated, and the game doesn't provide a map. To be clear:

This is by design.

(And that's why the paths computer is off by default.)

However, if you want to give up on thinking for a while, you can turn that 'ol beast on and it will act like a GPS -- pointing you to the fastest path it knows of that wins the game. It draws on both the par times built into the levels and on any paths you've completed with the current team.

More Level Styling

It's getting to that point where I want to convince people that Rktcr is an interesting game. Which -- in part -- means prettying up the levels a bit. This beta includes a first pass on that styling, with a low-key green geode style going into all previously unstyled passage levels, and a (actually rather ugly) draft of a blueprint-y style going onto the challenge levels.

Planar Map Refinements

I wrote some planar map code a while back to help in translating SVGs (with their attendant annoying fill rules) into nice OpenGL-drawable meshes. I ended up working with integer coordinates in the map code because it makes things like exact line-side tests a heck of a lot more feasible.

Unfortunately, the kind of detail I was putting into sprites was running up against precision problems, leading to some jagged edges on small features. So I revisited the code and pushed my hacks just as far as I could. I think the results are good; however, sprites have about 40% higher polycount than before. Almost certainly something I will need to revisit ... again.

Friday, March 22, 2013

Rktcr: Beta2

Rktcr beta2 has been released to testers. Along with the improvements to path select mode and the additional costumes that I mentioned in my last post, this beta brings several changes (big and small) to rktcr.

I highlight the big visual changes below. One big change that isn't so easy to screenshot is that I've revised the controls. It used to be the case that one could either play with explicit time control (with keys to play/rewind) or with constantly-running time (with keys to adjust speed). Feedback from my testers (thanks folks!) indicates that nobody plays the second way; so I've removed continuously flowing time (I keep the keys, but now they adjust a speed multiplier for play/rewind). This means that -- for the first time ever -- you can rewind in slow motion; this is actually more useful than it would initially seem.

Memories Board

One of the most visible changes in this beta is the addition of the memories board. This notice board has scraps of paper posted for every cutscene you've seen, and allows you to re-watch them. It's not a core gameplay feature, but it's nice to have.

New Challenge Levels

I created four new medium-difficulty challenge levels "ledge", "bound", "levitate", and "checks." They aren't terribly devious, but they are certainly fun to figure out.

Gem Adjustments

Gems now draw in a sparkly way, have their final mineral names, and make a "ting" sound when picked up. Actually styling them based on their minerals remains for the next release.

Friday, March 15, 2013

Rktcr Update: Path Select Mode and Drawing Things

Rktcr continues to progress, though somewhat slower than last week, as I've been spending a fair amount of time on SIGBOVIK submissions.

My focus this week has been path select mode and the creation of additional content.

Path Select Mode

The draft of path select mode in beta0 and beta1 has a few glaring problems: it's hard to know when you are in path select mode when there are no paths available, it's tricky to tell which path you have selected when there are paths available, and it's unclear what the path you have selected actually does (i.e. where it goes, how long it takes, and if it gets gems).

Above, you see the updated path select mode. The selected path is now textured and animated -- it's really hard to miss with the extra motion cues. Additionally, the destination portal for the selected path is shown open, and the time (and any gems) for the path are displayed in the customary way in the upper left. I also added a very clear message for when there are no paths.


For the first time ever, the shorter characters are sporting costumes. I haven't made very many yet, but it's good to see them clothed. By the way, the above is from a mode that generates spirals of random characters -- I hacked it together a while back to make a box shot for Desura (which I hope to begin using to distribute my beta builds to testers).

I've also been doing some writing for rktcr -- I started a second plotline, and did some edits on the first based on tester feedback. This is harder to illustrate with a screenshot (and gives you less to discover when you play). Rest assured: it's happening.

Friday, March 8, 2013

Rktcr: Beta One

A productive week has elapsed since my release of the Rktcr's Beta Zero. I am pleased to be able to release Beta One to testers. In this post, I'll highlight the changes this week of effort has brought to Rktcr.

Overall, my todo list is shrinking and rktcr is getting better. I need to balance my time between refining graphics and gameplay and building new levels and sprites. This week skewed somewhat to the former, and I hope to skew my next week of work somewhat to the latter -- it would be great to get some costumes on those other two characters, for instance.

Challenge Files

The biggest change this week is the addition of three filing cabinets of challenges to the lab. A challenge is a special level where the goal is to grab all the gems; it stands alone, disconnected from the world.

Thus, challenges are good for highlighting basic skills and maneuvers. Indeed, the left cabinet contains twelve fresh zones that cover everything I could think off offhand.

Here's a quick playthrough of all the basic challenges:

The challenge filing cabinets also store zones that were too difficult or orientation-biased to feature in the main game. I've included four such zones in beta1, but I expect the number to grow:

I've also reserved a filing cabinet for challenges that, quite frankly, I'm not sure are possible. Maybe my testers will have better luck:

Gameplay Refinements

I also slightly refined the gameplay on two points. These aren't big changes, but they make the day-to-day a bit more pleasant.

First, portals only open when the vehicle is entering or leaving a portal, or when the left mouse button is held down while the pointer is over a portal. This avoid a lot of visual clutter, while still allowing you to check (with the mouse) where you are headed.

Second, I added the ability to instantly rewind to the portal the vehicle entered through by double-tapping backspace. This can help avoid long stretches of holding the rewind key when you realize your current approach to a zone isn't working. It also adds a nice symmetry to travel: going forward is enter (to path select), enter (select path), enter (travel); going backward is backspace-backspace (rewind to portal), backspace (travel back).

Graphics Refinements

The level win and lose markers were glaring and contained duplicated information. They also used a different sprite loading system, which I wanted to factor out in favor of having all my artwork be SVG. So they are gone, replaced by simple pictures.

Also, disruptable platforms and gem shields are now tinted in the wave-making pixel shader. This eats two fullscreen draws, but framerate doesn't seem to be suffering on my (admittedly high-end) development machine.

Et Cetera

  • Team names and progress shown in menu.
  • More graceful gfx mode setting, included windowed fallback.
  • Default res is now 1280x720.
  • Set the window title to "Rktcr".
  • Now works without e_levels (might save some first run startup time).
  • In-game sound is now muted during cutscenes.
  • Engine sound no longer plays when rolling time forward at exit portal.
  • Include partial paths in the ticks/gems summary.
  • Recalling now properly resets journey info.
  • Fixed bursts showing as gems in overlay.
  • Adjusted the styling on the zone 'choice'
  • (Probably) Fixed a tricky race condition in the audio system, which could cause a crash when leaving the lab to go to the team menu.
  • Added more claims (this means better world gen).

Wednesday, March 6, 2013

Rktcr Beta Zero: Gameplay Video

In my previous post about rktcr, I talked about the new features of beta0, and included some screenshots. However, this doesn't give you the complete picture. Of course, neither will a video -- you really have to play it yourself -- but it certainly gets closer.

Neither the graphics nor the sound are at their final targets, but they are close enough to give a flavor of what I hope to achieve. Certainly, there is a serene beauty to the game in slow motion.

Also, note that cutscenes trigger when gems are first picked up; however, I had already gotten these gems in an earlier run. I'll include a little dialog in my next video, so you all can see how that looks in action as well.

The Video

A PR Note

At this stage of development, things are starting to happen quickly enough that I can post weekly (even twice-weekly) updates. If you think rktcr looks cool, please help spread the word!

Monday, March 4, 2013

Rktcr Beta Zero is Here

This weekend, I finally put together the first beta release of rktcr, which I'm calling beta0 (note, that's a zero; this font isn't great about differentiating). I sent out beta0 to a my (alpha) testers; I will probably be looking add 5-10 more testers for the next release (stay tuned).

It's great to finally be at a point where I can label releases as betas. For me, this means that the game is complete, if unrefined -- that every piece of the experience is there in at least some form. This isn't to say that the game is either code-complete (there are a lot of refinements to make) or data-complete (more levels, stories, and characters are always nice).

In the remainder of this post, I describe the big changes I needed to make over the alpha releases.

Team Persistence

In rktcr, you play as a team of four: three people and one vehicle. In the alpha releases teams were basically placeholders -- two were automatically created on startup, and no changes were ever saved. In beta0, teams are full-fledged -- you are always playing as a team; teams remember all sorts of game state; and team members appear in-game.

Also, I've been slowly adding more character components, so teams can look more varied than ever.


Teams are perhaps most evident as the chattering stars of cutscenes. I like this speech-bubble style of dialog, as it allows for some visual pacing in the dialog sequences.

While the code for cutscenes is reasonably complete, I still have to write a fair amount of dialog. (I have ambitious targets for the finished game.)

The World

In the alphas, difference segments of the world ("zones") were independent. With this release, zones are linked together into a world. This is made graphically evident by portals that spring open to show the zone on the other side -- it's a nifty little effect, though I need to refine exactly when it is deployed.

The portal effect is quite beautiful in motion, as well.

The Lab

Finally, now that the zones are linked into a world, your team needs a place to start. I call this base of operations "the lab". The goal of any game of rktcr is to design a journey for your vehicle that takes it from the lab, through the world, and back to the lab (with 14 gems collected).

As you can see above, the lab has several functions other than simply being a start/end point. The implementation of these functions remains for a future beta release.

Et Cetera

Of course, there are many other changes (big and small) that went into beta0 -- too many to really go into any detail on. And, while I have a huge TODO list left before I can get to a final version, the end is at least in sight.