<- I can only blame this little guy for making life so difficult.
"Now, Rob," you may ask, "How hard can it be to put something into the game that just sits there and blows up when you get near it?"
Well, let me tell you: there's a long road between a simple concept and a full in-game implementation. There are a lot of moving parts that go into getting a fairly lightweight object into the game and having it cooperate with all of the other systems. Let's see if I can break down for you the whole story of the proximity mine. (I guess that this is sort of a written version of Design: Underground.)
We had to assemble a gadget blueprint that combines the explosion, the audio, the in-game behavior, the collision detection sphere, and the actual art. The blueprint also had to provide proper launch behavior so that it didn't hit you - and explode on you - the second you launched it.
We had to take the splash damage functionality - originally in the missile class - and pull it out into a weapon function library to be accessible to all objects.
That's all pretty straightforward. Now we have a bomb that deploys and explodes when you go near it. Done, right? Just need to test it....
But wait - no ships have proximity mines on them. So let's add proximity mine loads to each ship as our new default. (Some ships, based on the original balance calculations, will have mines and laser grids, but some only have proxies.) That led to a lot more steps than you might think...
We originally had only one gadget - the laser grid - and ships didn't have an idea of a default gadget selected. Add that. To all of the ships.
Like the laser grid, we don't want your initial loadout of mines to drop when you explode - just the extra ones. So we needed a base count for each gadget type (in addition to the current count and the max count). Get those added to all of the ships as well.
Once there was a default gadget and a set of mines on each ship, it's testing ti... oh, wait: they don't show up when you launch the game.... Huh?
It turns out that some of the functionality was coded with the assumption that the starting gadget was always the laser grid. Rip that out and make everything generalized:
Make functions for getting a ship's stats based on the gadget type passed in. (Count, max, base.) Add this to the gadget component class which is attached to the ships.
Make a function for setting the current amount of any given gadget, based on the selection passed in.
Change the initial ship spawn behavior to get a current count of all gadgets and a default gadget and set the correct count and image on the HUD.
Almost there... At least it's testable now, and a few tweaks get the behavior working well pretty quickly. Awesome! Now switch to my laser grids to make sure nothing got broken on those while I was messing around with the base gadgets. Oh, crap - nothing happened. Phase 3....
Get key bindings set up for gadget switching. (Note to self to let John know to tweak the launcher to open up that control category behind the scenes on the next launcher.)
Go into the gadget component class and set up the functions for actually switching based on the key/button press.
Make sure that the forward and backward buttons work. Forwards and backwards. (Duh!)
Just for completeness' sake, make switching skip any gadget category for which you have no ammo. If all of your gadgets are gone, don't switch at all.
Research odd behavior and learn that in Blueprint, returning out of a loop does NOT stop the loop. On purpose. WTF? Fix that. Tell the other programmers. Make them sad.
Add a sound for switching.
Hook that up in the flight HUD. And the flight player controller. And the main HUD interface. And the main HUD. (Yes, there are that many parts for making the HUD communicate with the game and you.)
Hooray! I can switch gadgets! And they both still work. (Gotta check that, too.) Now I just need to be able to pick them up. Fortunately, there's already a power-up built for the proximity mine, so that should be simple. Just add a few to the test map and pick them up, and it's time to move on to some other feature.
But it doesn't work.
Go back into the HUD and base ship code and rip out a few more places that assumed that laser grids were all you wanted to know about.
Make the HUD not change your gadget count if you're not picking up your currently equipped gadget.
Make sure the power-up Blueprint itself is also using your gadget count, and caps you at the max. (Good thing that I made those functions in the gadget component to quickly get your counts.)
Actually hook up the correct image on the HUD for the prox mine. (Whoops.... missed that.)
Now I can pick up gadgets! Lay a few mines, blow them up, pick up some more mines... and I only get 1? But I told it to give me 4.
Make a base gadget pickup class to be the parent of laser grids and prox mine pickups, so I don't ever have to do this again.
Hook up that class to accept the ammo count from the base pickup class and pass that to the gadget component code that updates the FPC that updates the HUD...
Check that the count of the prox power-up in the test map is 4, just to be sure.
Back in the game, lay some mines, blow them up, pick up some mines, lay them all down, make a magnificent chain reaction, wait for them to respawn...
Oh, wait. I didn't hook that up yet.
Teach the power-up manager about respawning different types of gadgets. (So many steps, and my fingers are tired...)
Teach the power-up manager how to properly drop excess gadgets when you die.
Now, at last, the gadgets can undergo the full circle of life in Descent: Underground. Although I'd still like to hook up auto-switching on gadgets and make them spawn in groups instead of singly, at least we can get this out there in the Proving Grounds to test how they change the game balance. (And they will...)
Wait... you can't access the Proving Grounds? But that's only one click away....
If you made it this far, I hope you enjoyed the ride.
See you Underground,
Wait, what a Double BLOG? Yep, this is Wingman dropping by and gravy training on Rob's most excellent blog to say there is a space game that is in need of our support.
Battlescape Infinity is a passion project that will have hundreds of people flying around shooting each other IN SPACE, and it is indie, so heck yes, we backed this. There are 3 days left, the guys are doing a great job over there, if you are looking to back another TRUE indie space game, this would be one that deserves your attention.
And we need more INDIE Space games - right? RIGHT? HECK YES WE DO !
There's been a whole lot of discussion in our forums on hit boxes, weapon placement, and the initial experience of people playing Descent: Underground for the first time. This, in turn, led to a rather significant amount of internal discussion, which then led to a new episode of Design Underground about that very same topic.
If you haven't seen it yet, you can take a look at it right here.
The end result of all of this excellent exchange is that we're launching a new version of the game into the proving grounds with the weapons on the ships moved closer together, as well as improved collision detection on weapons and missiles. We think that the game is much more fun now, and we want you to check it out.
All of this should (barring catastrophe) appear on the proving grounds tomorrow, along with a familiar friend. (See blog image for hint...)
Welcome to another Monday of full-speed-ahead development on Descent: Underground. This Monday is, of course, a bit different than previous ones, because much of what is going on in the office is a direct result of the fact that members of our community are playing in the Proving Grounds right now!
BEGIN OBLIGATORY PROMOTIONAL MATERIAL
The Proving Grounds were made available to backers at the higher levels during our Kickstarter campaign and subsequent funding on our site. Current builds of the Proving Grounds are also made available to active subscribers to The Underground at any given time. (There won't always be a current test running on PG.)
Alpha and Beta access are stampeding towards us at full-tilt, as well, but we're rolling out servers and testing each deployment stage carefully before rushing ahead too fast. That way, each new player can have the awesome experience that we think they deserve on their first sojourn into Descent: Underground.
Meanwhile behind the scenes, we're doing a whole lot of playing, discussing, balancing, testing, and repeating the whole cycle. (Again, aiming for that awesome experience for each and every one of you.) We're also working on a few new interface elements to support game modes and better player information. (Note the sample Capture the Core scoring mockup in the blog image.)
The important thing about the test/balance/refinement process is not just looking at your last match and reacting to it, but instead aggregating results, looking for a desired change, and then figuring out the best approach for achieving that desired change. It's a very involved process - sometimes contentious and sometimes repetitive - but that process is what gets us to a better game.
That's really our only goal.
While I've got your attention: if you're an aspiring map builder, check out this week's Design Underground. In this episode we talk about a few specific map things that we do as part of our map layout and preparation process to get to grey box and art buildout. If you're interested, it's right here in this post...
As always, please help spread the word about what's going on here. More and more people will be playing the game over the next few weeks, and there's lots of great content still to come in the long run.
Also, keep you eyes on the blogs, forums, and the front page for updates on when your numbers will be called.
See you underground (hopefully when you're not carrying a mega missile),
It's Monday, and, surprisingly, today has been better in some ways than Friday. (Or Saturday's Texas Longhorn game - but that's a different story entirely.)
The short version is that on Friday I broke the game. Really, really broke the game.
I suppose the best way to benefit from that experience (and the associated misery of being trapped here in the office on Saturday during the aforementioned disappointing football game) is to share the lessons learned from the experience, in case any would-be designers are paying attention here....
We've had a lot of feedback about the ships, the number of ships and how we make them different. We know that it will all work, but we want to make sure that each player really does experience each ship differently.
As you've seen in previous episodes of Design Underground, getting ship balance right is a very important and very extended process. So we've been slowly iterating over the last couple of months, making small tweaks to the ship stats to get each one feeling a bit more distinctive, but making sure that they feel right, individually, as well. The changes up until the last few weeks had been pretty subtle, and the end result wasn't quite where we wanted it.
Furthermore, we made another round of balance adjustments based upon how hard each ship is to hit. That's a lot of changes, and the last few rounds of stats were bigger than usual to achieve that new balance. Unfortunately, the new stats weren't feeling any different at all (other than damage numbers, which created a very noticeable difference). I made 3 rounds of changes, with each round having bigger numeric variances for each stat.
They still felt the same.
Now, some of you may recall that Jason finished putting in the predictive ship movement in the last couple of weeks, as well.
Apparently the associated changes moved all of the movement controls to a new location in the ship data. So the reason all of my stats weren't feeling any different was that they weren't different! Ugh.
Once we sorted that out, my first thought should have been that all of the previous testing had been invalid, so we needed to go back closer to square one on the numbers. In my haste (and, admittedly, frustration), I just went with the numbers that were already there, but in the wrong place. (You know: the ones that had been drastically altered under the assumption that 2 rounds of changes weren't enough.)
Need I say more, really? Let's just be generous and call it "a bit difficult to fly" in Friday's play test.
So keep in mind when you test - if your results are consistently not what you expect, you may need to consult others about your expectations and why your results aren't behaving the way you expect. Maybe you're not understanding a change that's been made, or even something that has already been in place for a while. And if you do find that your tests are invalidated, don't plow ahead anyhow. It will only lead to tears.
Enough about my bad day. It all got sorted out on Saturday, with numbers that are doing the job much better (with the added benefit that energy consumption is better now, too).
On the brighter side, at long last we've launched (and streamed live) the first Design Underground tutorial on building maps using Unreal Editor 4. This one covers a lot of basics of editor navigation and placement, but it also gives you some necessary info for creating and testing actual Descent Underground maps.
If you're interested, take a look...
If the tutorial raises any questions, or inspires thoughts on what else you'd like to know about map building, feel free to leave questions and comments in the feedback thread on the forums, so I can address them in future episodes.
Future Design Underground episodes (or whichever Underground series is up to bat) will be streamed on Mondays at 3 PM CDT/CST (so either UTC-5 or UTC-6, depending).
Meanwhile, we're getting super close on the Proving Grounds release. Everything is in testing or very, very close to done. Keep watching this space for more information.
So, there was supposed to be a big Design Underground episode for our first introduction to building Descent maps.
Between an inopportune bout with some questionable food and a whole lot of being busy trying to get the build together for release to the Proving Grounds folks, things just sort of went a bit south, and Design Underground never quite got off the ground. But don't fear: we'll have a map building episode next week. Honest.
Meanwhile, I figured that I'd give you folks a look at what's been going on around here, and what's left to get all of you playing the game with all of us!
We played Capture the Core for the first time today! It needs some tweaking, but it's looking like it's going to be a lot of fun.
As you already know, the power-up manager is in and functioning, although we do have some tweaking to do so that the spawns are properly balanced based on number of players.
We also have ship movement prediction in, which is working pretty darn well. We're still working on weapon prediction to get everything totally ready for players with different connectivity.
The maps are all in really good shape. A sneak preview of some of the new work being done on Mobius is attached for your viewing pleasure.
It looks like we've finally knocked out the major bugs on the launcher/patcher tool, so it should be a snap for all of you to get your hands on the game when it's ready for prime time.
Matchmaking is underway, but not quite ready to roll out yet. We're hoping to have a more robust feature set than we had originally planned at launch.
Meanwhile, we're continuing to make small tweaks, balance changes, and playability enhancements to make everyone's first Descent: Underground experience an awesome one.
For the TLDR version; it's going well, it's looking good, and it's almost ready for more of you to play.
Hang with us and keep watching this space for the most up-to-the-minute news.
As some of you may know, today is the Labor Day holiday in the U.S., which means that our Austin Studio is closed for the day. Don't worry, though - it hasn't stopped us from working towards the Proving Grounds release!
Due to the holiday, there will be no Design Underground today, although your weekly looks at the nuts and bolts of game development will resume next week. (If you're really sad about not being able to see Tyler make a guest appearance this week, you could always check out this special thread on our forums...)
We are getting much closer on the last few issues blocking the first Proving Grounds release, so expect a pile of updates this week, including our next live design meeting for Underground members. Not a member of the Underground? It's still not too late to join! In addition to live meeting access and other insider information, membership in the Underground will also give you access to playing in the Proving Grounds.
So stay tuned this week, and we'll see you in the Underground.
31 August 2015
We are banging away at our first Proving Grounds release, checking every tittle (not the producer) to make sure that we've got the game ready for a wider audience.
This weekend, we ran our first play tests with the Advisory Board using the map rotation on our servers. The end results were quite a lot of fun, and we had quite a few people playing on Apophis, Valor, and the new-to-testing Mobius gray box map. Matt is putting some finishing touches on Valor (see another screen shot on this blog) so it will be ready for prime time, and we have CGBot starting on a prettiness pass for Mobius, which is pretty much a giant frag fest waiting to happen.
EXPERT TIP: Don't go after the mega missile in Valor when LotharBot is around. He will make you pay.
As much as we all would love to just keep playing the game all day, however, there are still a handful of systems and fixes that must be in place for a bigger release. But don't despair: we're getting much closer.
Heck, we'll even provide you with a list: * Installer/launcher/patcher - almost completed * Basic matchmaking - underway * fix power-up spawn issues - working the problem * network movement prediction - well underway
We're also looking at team play and capture the core, but we can get builds to the Proving Grounds folks before those are completed if need be.
If you can't stand the suspense and are looking for some more information on how Unreal Engine's graphics settings affect the game, look no further than this week's Design Underground, where I mostly sit and look confused as Tyler explains all of it.
As always, please continue to spread the word. We're all social media-ed up, and you can point random strangers at Twitter, Facebook, and YouTube so that everyone everywhere has heard of Descent: Underground. Remember: every new member is a potential mega missile target for the Wingman, and he needs those to get his scores up. (Don't tell him I told you...)
Just got finished playing a few quick matches of D:U with some of our advisory board members and team members, and had a blast! (That might just be from Pixley slinging missiles at me, now that I think about it.)
Now that we're fully recovered from last weekend's epic RTX appearance (and I have my voice back - mostly), we're pushing forward with the fixes and improvements that we need to spread the game to a wider audience - and our early access people are next on the list.
We had a big meeting today to do plan for exactly what's coming next, and you'll be seeing quite a bit of new content over the upcoming weeks. As the blog image indicates, the Goliath is nearing completion, and it might just be bringing some friends along to the party...
If you want to see a little more about the lessons we learned from letting hundreds of people play this early version of the game, check out today's Design Underground, where Phil and I discuss precisely that.
We're seeing quite a bit of press coverage from RTX and the first playable release to our Advisory Board. Keep watching here for updates to the Press Page. The word IS spreading (but you can do your part, as well)!
Stay tuned for more news in the upcoming week, and, as always...
Holy cow, we're going to a trade show! Heck, we're going to TWO trade shows. And they're THIS WEEK! Eek.
Needless to say, things have been even more hectic than usual around the office today, We're doing constant iteration on the current level to get everything as perfect as possible for showing off.
The Austin crew will be gathering Friday through Sunday at RTX 2015 (a local convention put on by Rooster Teeth). We'll be showing off the game and allowing people to get a taste of the current demo, as well as making an appearance on their streaming channel on Saturday at 11 AM CDT. Should be a big event for us, and it's a chance to reach a new audience all at once.
Stop by our booth and say hi if you get a chance.
(For those of you wondering why we're not all just trooping over to Gamescom this year... Well, it's just not cost effective at this time, and we want to put everything that we can into actually making the game. We sure hope that we can catch you all there next year. We love Germany!)
Meanwhile, our very own Kajisan and Erio - our European contingent - will be wandering the show floor at Gamescom this week, as well. We're hoping they get to meet a lot of Descent fans, both old and new! Watch for their nifty Descent: Underground and Descendent Studios shirts if you're there.
All efforts this week are pretty much devoted to planning for that event and getting everything as fun as possible. (As today's blog image hints, we might even have a bit of a mega-surprise in our weekend demo.)
If you just can't wait to meet us at the shows and you want more of us, why don't you stop by and check out me and Phil on today's Design Underground. We talk a little about blueprints and the recharge zones, which might come in handy in the game.
Come catch us in either location this weekend if you're able, or continue to spread the word if you can't. Things are coming together amazingly well, and we want to get as many players into the fold as we can.
Seeing as how I've spent a good chunk of today working on getting all of our power-up effects (visual, audio, and game play) up and running, I figured that it would be interesting to throw up one of our images from waaaaaaay back in the Kickstarter days of some of our original power-up concepts in our very first map.
At this point, we're dividing our efforts between getting all of the vertical slice map into final shape (I believe that there's some sort of cake joke here, but I'll leave that to Keith) and starting to look at exactly what lies ahead to get us to something that we can put into the hands of the broader community.
We have nearly accomplished our goal of getting a test bed of all of our primary functionality into playable state so that we can suss out the rousing successes, bridgeable gaps, needed improvements, hopeful expansions, and regrettable bad choices (*sigh*) of this first in-depth pass at what our game will be. That means that you'll get to see some of it in action this week, but it also means a lot of hard discussions in the near future about how we move ahead.
Fortunately, you're all along for the ride, so we're confident that we can get to the right place together.
If you absolutely can't stand to wait for a look at our upcoming demo of multiplayer play in the vertical slice, we're giving you a sneak preview of the gameplay before anyone else gets to see it on today's Design: Underground! Join me and my special guest, Josh Parker - our esteemed art director - as we show off what's been done on the map, demonstrate the new flight dynamics of some of our ships, and talk about what's still to come.
If you want to take a look, I'm happy to provide a convenient link to keep you from spending your web miles.
Meanwhile, look forward to a week full of reveals about how everything is working. (I know Jason is messing around with VR stuff right now. Could that be pertinent?)
Thank you all so much for your support, your participation, your encouragement, and your love for this storied franchise.