Sunday, April 22, 2012

StarWright - The Sandbox

Wow, it's been over two months since I last posted about StarWright! But I have been working on the game. In fact, I've been working on a very important change that should make the game much more accessible, understandable, and fun.

A few months ago I watched a talk by Bret Victor called "Inventing on Principle". In it, he talks about and demonstrates a few of his software programs he's created. A common principle of all the programs he shows is that they provide immediate feedback. For example, he demonstrates a scripting program in which he has created a prototype for a platform game. The left side of the screen contains a running game simulation, and the right side of the screen contains the game's programming code. Unlike most old-school programming languages (in which the author writes the code, compiles the code, and tests the code as three separate steps), as Bret modifies the scripting code, his changes immediately effect the game running on the left, so that as he modifies, for example, the gravity in his game world, he instantly sees the character fall faster or slower (or even upwards!) as he adjusts the gravity value.


Bret Victor - Inventing on Principle from CUSEC on Vimeo.

The key here is that all his changes have an immediate effect on how the game is played. This greatly speeds the design process, because every time you change a value, you can immediately see the result. And just as importantly, it makes, in his case, the scripting process much more intuitive, because our human brains are much better at connecting a cause with its effect if the effect happens immediately after the cause, instead of, say, a few minutes later.

I found his talk very inspirational because it made me realize that the "ship designer" user interface that I had created was born from an "old-school programmer" mindset. In the previous version of the ship designer, the player first "designed" a ship, then saved the ship, and then tested it in a separate simulation environment. The problem was, of course, that you couldn't tell what effect a design modification would have until you manually switch to the testing environment. The solution, I believe, is to combine the design interface with the testing environment, so that the player designs their ships directly in the testing environment and can see the immediate impact of, for example, adding that extra thruster.

Merging these two environments together was certainly not trivial. Allowing ships to be updated instantly in a live environment was a challenge, and keeping the nice U.I. features of the designer, such as undo/redo, was a bigger one.

I've dubbed this new merged design/testing environment "The Sandbox". Here are a couple screenshots of what it looks like currently:




Upon first glance, the top screenshot does look quite similar to the old designer interface, which has a similar menu bar at the top and a similar "parts toolbox" (albeit with more parts) on the left. But there are a lot of very nice additions to the old interface:

  • The "Build" and "Play" buttons underneath the menu bar allow you to toggle between the build/design mode (which allows you to modify any ship in the sandbox) and the play/control mode (which allows you to control any ship in the sandbox as if you were playing a real game).
  • There can be any number of ships in the sandbox, and every ship is a live simulation. Added a couple thrusters to your ship and want to see how it flies? Just switch to Play mode and fly it around! Not quite happy with the result? Switch back to Build mode and add another couple thrusters.
  • Any previously-saved ship design can be added into the sandbox by loading it from the Ship menu.
  • To create a new ship design, you plop down a new "grid" anywhere you want, in which you can start placing parts for your ship.
  • To modify an existing ship, simply go into Build mode, select the part you want, mouse over the existing ship, and click where you want the part to go.
  • You can pause or resume the game simulation at any time using the control in the upper right. It's often easier to modify ships while paused. Unpause and the simulation will instantly resume with your new edits.
It's not perfect -- for example, I'm not thrilled with the hard separation between Build and Play modes -- but it's a huge step forward, and the technology behind this could allow me one day to expand the sandbox into a full-blown live level editor.

Thursday, April 5, 2012

WAY Statistics

About a week ago we had an explosion of people playing WAY. We typically had less than a thousand people play in a day, but suddenly that number jumped to over 61,000!


Here's a longer per-week graph:


Also, here's a graph of how many players complete each level:


Our overall completion rate is about 25%, with over half of our players dropping out in the very first level. The average play time is down to 15 minutes from 25 minutes, which I suspect means that we're getting a lot of repeat players.

WAY Fan Art

This is the first fan art that anyone has ever made for any of my games. :-D


Friday, March 23, 2012

Praise for WAY

People have been saying a lot of nice things about WAY lately, so we took some time and compiled a page full of those nice things. That was definitely a feel-good exercise. :-D

Saturday, March 17, 2012

Video Game Predictions

Just for the sake of being wrong in a couple years, here are my predictions for the next generation of consoles and videogames in general:
  1. The Wii-U will be modestly successful, thanks to the first truly great console MMORPG, which could only exist on Wii-U because of its touch screen's support of sophisticated user interfaces.
  2. The next XBox will be released by holiday 2013:
    • It will be packaged with a new version of Kinect (duh), which will impress even the most jaded gamers. The games for the new Kinect won't totally suck.
    • It will not have an optical drive or any other form of high-capacity removable media.
    • All games will be directly downloaded.
    • The basic model will have at least a 1TB hard drive.
  3. The next Playstation will be released by holiday 2014:
    • It *will* come with a Blu-Ray drive... or maybe that will be optional.
    • Like the XBox, the basic model will have at least a 1TB hard drive.
    • All retail games will be available as direct download. They will still be available for purchase at retail, at least until #4 happens.
  4. By the end of 2014, GameStop will be bankrupt.
  5. Since "shelf-space" is no longer limited, the $60 price-point for all mainstream videogames will end and we will see prices of console games anywhere between $5-$100 depending on quality, reputation, amount of content, development cost, etc... As a consequence, we will see a broader range of games, the cheaper ones being more experimental and daring. The line between indie and mainstream will be blurred.
  6. Since the middleman retail stores have been removed from the equation, developers and publishers will see a bigger share of revenue, allowing the budgets of AAAA games to grow even larger. AAAA games will be even more polished and epic and derivative than they are today.
  7. Despite the continued and growing success of social and mobile games, console and AAA games aren't going anywhere and will continue to rake in more and more money.
  8. The PS Vita will be the last handheld console, because my phone and iPod touch work just as well (if not better) than dedicated gaming handhelds.
  9. There will absolutely be another console generation, probably 2016-2017. The internet is simply not designed to be low-latency and thus OnLive or similar tech will not be viable for core gaming even by then.
  10. Big publishers will open their own digital stores for PC, selling their titles exclusively through their own stores. Smaller studios and indies will stick with Steam. It will suck for us consumers, and for Valve, but at least they've finally announced Half Life 3 for 2016 (delayed to 2018, but it will blow you socks off).
  11. By 2020 EA will finally realize that nobody wants to play Dragon Age on Facebook. Yes, Facebook will still dominate the social internet.

Thursday, March 8, 2012

WAY wins "Best Student Game" at IGF!

Yesterday WAY won the award for "Best Student Game" at the Independent Games Festival! I'm pretty deliriously happy and oh so proud of my whole team.

The IGF is the largest and most competitive videogames festival in the world. We were selected as the top student game from 295 different entries by a distinguished panel of judges, both professional and academic. This is the first win for Carnegie Mellon University, and we're sure it won't be the last. :-)

We are all incredibly humbled and couldn't have made WAY without the support of our many friends, family, and teachers. Thank you so much!!


Saturday, February 4, 2012

StarWright - Ship Combat

Combat is of course a major part of StarWright, and I've just finished the major ship-versus-ship combat systems. The mechanics of combat work essentially the same as in the original prototype. Weapon turrets automatically track and fire upon nearby enemy ships. Damaged is handled on a part-by-part or room-by-room basis, where individual parts or rooms can be individually destroyed. Additionally, if the only parts joining two sections of the ship are destroyed, then the ship will be split in two and become effectively two distinct ships.

As in the original prototype, cannons are able to penetrate deeply inside enemy ships, damaging critical systems deep within the ship. The current defense against cannons is to add parts with a high "penetration resistance" such as armor tiles or cannons themselves. While there currently aren't many systems inside ships worth protecting, I plan in the future to have many such systems, such as ammo supplies, power generators, shield generators, engineering bays, etc...

Here's a screenshot showing two "Enterprise"-like starships attempting to assault a heavily-armed space station: