Monthly Archives: March 2016
I forgot to account for Easter Sunday when I scheduled my tasks, so I’ve lost a day. It’s not a huge concern as I was ahead of schedule in other regards (notably the soundtrack, character portraits, and key art), and I’d prefer to start the process of decorating and populating each level on a weekday anyway. This is going to be the last big content creation sprint on Gunmetal Arcadia Zero and it demands my complete attention. This is the phase of development that will define the experience. All the systems and features I’ve spent the last eighteen months building won’t mean a thing if this content doesn’t put it to the best possible use.
I’ve been using this expression “additional work as time allows” in my posted schedules recently, and I think it’s worth talking about what that means. I’ve reached that point where the work that I’m actually doing on any given day is only partially informed by the daily task list I’ve been maintaining. That’s not to say the scheduled work isn’t getting finished too, at least in some fashion, but a majority of my time is being spent putting out fires and addressing longstanding bugs and polish issues that I absolutely have to tackle before shipping.
Some examples of these sorts of issues include:
- Crumbling tiles now respawn after a length of time or on room re-entry.
- Vendors can never buy back items for a higher price than they sell the same item for, to prevent infinite money exploits.
- Healers can charge variable rates for healing based on the same criteria as vendors use to determine their prices.
- Collecting a new subweapon causes the old one to drop so it may be collected again.
- Collecting the same subweapon adds a small amount of ammo.
- Starling’s character portrait has been redrawn because I wasn’t happy with the old one.
- Minibosses now have more consistent behavior in how they react to damage and death.
I’m slowly starting to get the shopping loop in place, and I’ll be showing a little bit more of that in Wednesday’s video, but it’s feeling like that’s going to be a balancing act all the way to launch. It’s a weird thing where I feel like maybe I’ve invested a little too heavily in RPG-like mechanics for a game that’s not deep enough to warrant them. I won’t really know for sure until I have the entire game built out and can play through it start to finish and understand its scope fully.
I’ve reached the stage of development where I start questioning and doubting everything I do, and now you can too! :D
With only a few weeks of development left on Gunmetal Arcadia Zero, it’s very late in the game to be doing editor tasks, but as I’ve been spending more time using the editor recently and working with entity markup in particular, it’s become worthwhile to improve my ability to search all markup.
This new editor dialog allows me to search any markup in the game that may exist in entity templates or instantiated entities, and to search by tag, attribute name, or attribute value. This has already proven to be extremely useful in tracking down old and deprecated data, and I can imagine it will become even more valuable in the future as the scope of my content grows for the roguelike Gunmetal Arcadia.
Upcoming tasks for the week of March 28, 2016:
- Monday: Decorate “Basil” with environment art
- Tuesday: Populate “Basil” with actors
- Wednesday: Decorate “Cilantro” with environment art
- Thursday: Populate “Cilantro” with actors
- Friday: Record Ep. 32, write blog, addl. work as time allows
- Saturday: Decorate “Tarragon” with environment art
- Sunday: Populate “Tarragon” with actors
Five weeks to go. Actually closer to four, probably. Let’s just say four. Four weeks to go.
As I mentioned in the previous blog post, I spent last week out in San Francisco for GDC and therefore don’t have a development update this week, and I won’t have a new video on Wednesday. But I did want to write up some thoughts about this year’s event and post the development schedule for the next few days.
This was my third visit to GDC, my second as both a full-time developer and an indie developer, and my first time speaking. So there’s a life goal Achievement Unlocked. I gave a talk first thing Monday morning as part of the Math for Game Programmers tutorial. It was called “Building a Better Jump,” and it was the final form of a blog post that I drafted years and years ago on my old personal blog.
My slides should be up on essentialmath.com shortly, and I’ve already temporarily uploaded them (along with annotations of a rough transcript of my actual talk from memory) here:
PDF (no annotations)
This was by far the largest and most visible talk I’ve ever given (and it will be even more so in another month or two when it hits the GDC Vault), and I feel like it went pretty well. I thought I’d be super nervous, hands shaking, voice cracking and all that, and I really wasn’t. Part of this might have been avoiding caffeine before I spoke, part of it might’ve been the Xanax I took when I woke up, but I also wonder if spending the last few months talking to a camera weekly has helped in that regard. It’s not the same thing as a real audience, but it’s definitely helped me improve the way I think as I speak in order to predict what I’m going to say next and account for any mistakes or omissions in real time. Also I rehearsed the heck out of this thing, so there’s that.
For the last few years, GDC speakers have received a deck of playing cards featuring the top speakers from the previous year. So that’s my new life goal, I guess: make the GDC speaker deck. Send in those evals if you were there!
This was the first year I had a GDC pass that wasn’t just an expo pass and would get me into talks, so naturally I spent most of the week doing just that. The highlights of my week were the Indie Soapbox, #1ReasonToBe, and the GDC Microtalks. Each of these consisted of a number of short talks from a diverse panel of speakers, and each was a great experience in its own right. I don’t know whether these will be released as free content when this year’s talks hit the GDC Vault, but when and if they do become available, I’d encourage everyone to check them out.
I’ve seen a lot of game developers talking about impostor syndrome recently. But I don’t usually experience myself, at least not the way it’s described. Tommy Refenes gave a short talk about impostor syndrome during this year’s Indie Soapbox which opened with a similar sentiment. And by the end of the week, I could commiserate. I’m confident in my abilities as a moderately isolated indie developer. I can make cool things that I believe in. But selling them is another matter, one in which I’m actively growing but still far from proficient, and meeting people in person at an event like GDC, especially people I follow and have maybe spoken to on Twitter…well, that’s where I hit the wall that is impostor syndrome, I guess. I had an experience multiple times this week (and probably a few times last year as well, though I might’ve suppressed the memory), where I met someone, exchanged words briefly, and only much later realized that I had been talking to someone I knew through the internet and held in some esteem. That’s…pretty embarrassing.
I’m becoming increasingly conscious of the fact that the roguelike Gunmetal Arcadia, historically the definitive eponymous Gunmetal Arcadia, the game I’ve been developing and trumpeting for a year and a half now, it might need a subtitle. That’s weird.
My intent was that Gunmetal Arcadia Zero would be a prequel that would ship ahead of the flagship game and establish the game mechanics and world, and it’s still in a good place to do that. But I’m finding that it’s sounding more and more ambiguous to my own ears which game I’m referring to when I just say “Gunmetal Arcadia.” I can’t count how many times I’ve prefaced it with “the roguelike” as I just did in the preceding paragraph. And that represents a failure in branding.
I don’t yet know what this subtitle would be. It would need to still communicate this aspect of being the definitive experience so as to not be perceived as a sequel to Zero specifically, which is a smaller game (and importantly, a cheaper game). I’ll sleep on that one for a while. It’s entirely possible by the time that game launches, it’ll be a non-issue, but it’s something that’s been on my mind recently, and I felt like it was worth talking about.
Upcoming tasks for the week of March 21, 2016:
- Monday: Create “Tarragon” tileset
- Tuesday: Create “Fennel” tileset
- Wednesday: Create “Sage” tileset
- Thursday: Create primary weapons
- Friday: Record Ep. 31, write blog, addl. work as time allows
- Saturday: Create secondary weapons
- Sunday: Decorate “Basil” with environment art
As I’ve said, there’s not going to be a new episode of Let’s Make Gunmetal Arcadia this week since the pre-recorded one went out while I was away at GDC, but I’ll be picking that up again next week.
I have about six weeks left to finish this game. Let’s do this.
Episode 30: “Countdown”
Get Rich Quick
Bit of a short blog post this week, as I’m out of town for GDC, but I do have a sort of rambling stream of consciousness video ready to go for Wednesday. The tl;dr (tl;dw?) for that one is, “Everything’s crunchy, everything’s coming online all at once, sleep never, make game.”
Hey, that’s not a bad name for a GDC talk next year.
I’ve been doing a little more work on the shopping/economy loop. As I mentioned a week or two ago, I increased the money cap from 99 to 9999 to provide finer granularity in the value of money and items, and now I’m following up on that by creating multiple denominations of currencies. The standard gold coin I’ve been using for like a year now, that represents 1 Unit of Money. (Sidebar: I should probably figure out what the Arcadian unit of money is, huh?) Additional coins in a variety of colors now exist which values currently ranging up to 100. I’ll be doing more tweaking and tuning of these values as the game coalesces in the coming weeks and I have a better sense of its scope, but this is already feeling like it provides a more interesting, compelling sense of treasure hunting, and importantly, it means I can drop lots of coins without worrying about throwing off the economy.
Choosing colors for these coins was kind of a fun challenge. They had to be visually distinct, which meant using the entire color spectrum, and I also wanted to find an intuitive color ranking system. I wound up using sort of a hybrid of Zelda‘s rupees and the World of Warcraft rarity colors:
Gold < Silver < Green < Blue < Red < Purple < Orange
I’m a little concerned that orange and gold are too similar, and it would be unfortunate if you missed out on the thrill of seeing a rare coin drop because it looks too much like a common coin. The NTSC color shift in the CRT simulation does help separate these a little more clearly, though. I’m also certain there’s going to be some ambiguities for players with some forms of color blindness, but since there’s no real decisions to be made with regard to the color (i.e., it’s a coin, it has only positive benefits and will despawn if you don’t grab it quickly), I’m not too worried about it.
Gems are another form of currency. These do not immediately increase your money count, but instead go in the inventory and can be sold to vendors. Different vendors will pay different rates for different gems, so depending on your needs, you may be better off saving them until you can find a better deal. Gems are currently ranked:
Green < Blue < Red < White/Clear
Treasure chests now contain coins and gems exclusively, and I’ve been doing some work to make it easier for different loot droppers (enemies, sconces, chests, etc.) to pick and choose what types of things they drop. This addresses a problem I was feeling in the vertical slice build where treasure chests felt only marginally more valuable than the average torch or sconce.
In the future, I may also add an alternative loot dropper akin to treasure chests but that only drops hearts, as that’s beginning to feel like a much-needed resource. (I’ve also been considering healer NPCs, who would serve the same function.)
Finally, I was getting irritated with having to sell off stacks of gems one at a time, so I added a “Sell All” option. This is a little bit of a compromise between no support for selling multiple items and a full-fledged spinner for choosing a number to sell, but given my time constraints and how much of an unknown it would be to add a spinner, this felt like the most practical option. I’m also operating under the assumption that selling an entire stack is going to be the most common action. I can imagine some scenarios in which selling only part of a stack would be desirable, as in the case of consumables which serve some other purpose besides being sold for money, and maybe I’ll broach that in the roguelike Gunmetal Arcadia further on down the road.
Episode 29: “Smoke Bombs”
Last October, I sketched and vectorized some character art with the idea that it could maybe serve as key art or cover art for Gunmetal Arcadia Zero. But I wasn’t totally happy with the finished product; it was a little too flat and cartoony and not in keeping with the tone of the game. So last week, I drew another sketch.
I liked the direction, but there were a number of big problems, notably the awkward twist between the torso and waist that I was having trouble resolving. I did two more versions of this pose but still couldn’t work these out.
I scanned all three versions and mirrored them to get a more balanced view. I’ve found in the past that my sketches tend to lean to one side, and regularly mirroring the image while iterating helps me account for this lean. I printed out light outlines of each, and went over them again, making changes and trying variations where I could. I brought the raised knee out a little bit more, which meant figuring out how to foreshorten the leg a bit, and I tried to straighten out the lines of both arms and the sword.
Each of these had bits and pieces that I liked, but no one was standing out as the single obvious best version, so after scanning them again, I composited elements of each into a single image, shifting and scaling limbs until things looked a little more proportional. I printed out this composite and went over it again in pencil. I was still having some trouble with the tilt of the wrist, and I made some notes here regarding how I hoped to address that.
One more iteration of scanning, editing, printing, and tracing, bringing over the noted changes to the wrist and refining all the lines further.
At this point, I was satisfied with the shape and ready to ink it. I had been unhappy with previous attempts to ink or vectorize drawings because of the loss of expression incurred by reducing pencil sketches to fixed-width lines, so to mitigate this, I picked up a brush pen (the fantastic Pentel pocket brush pen) and gave that a try. I did three separate versions of this, each with a few idiosyncrasies.
I intended to composite these after scanning as I’d done with the earlier pencil sketches, but I liked the third attempt well enough that with a few additional changes to shading, it was ready for use.
So there’s my character art. I haven’t decided yet how I’m going to use this. I tried coloring it digitally but wasn’t really happy with the results. I’ve been debating trying to do it manually in watercolor, but I haven’t picked up the art supplies yet.
While thinking about how to lay out the logo and character for the cover, I put this together. I liked the stark contrast, but it was still a little too empty.
I colored the background orange to help the character and title pop a little bit more and added some subtle gradient-modulated swirls to break up the monotony.
So that’s where I am right now. It doesn’t necessarily look like game cover art, but I like the way the color pops in contrast to its surroundings when I do the Steam new releases test. (This is just a photoshopped image, so don’t read anything into it.)
I might do a little more work on this over the next few weeks, maybe see how it looks with a proper environmental background or some monsters in the foreground. We’ll see where it goes and whether I have time to do any more work on it.
Upcoming tasks for the week of March 7, 2016:
- Monday: Create “Mint” midboss
- Tuesday: Create “Rosemary” midboss
- Wednesday: Create “Basil” tileset
- Thursday: Create “Cilantro” tileset
- Friday: Record Ep. 30, write blog, addl. work as time allows
I haven’t scheduled any tasks for this weekend, as I’ll be preparing for a flight to San Francisco for GDC, which is only one week away. I will be bringing a build of the game with me, partially in case I have an opportunity to show it off to anyone, but also so I can play through my grayboxed levels a few more times and get a better sense of the complete scope of this game, because it’s still not really clear in my head, and I still have yet to decide which two levels of my eight candidates to cull.
Last-minute update: I did a few character portraits over the weekend, so I’m sneaking those into this blog post too since I’m already talking about illustrations. These will appear in the game next to dialog boxes when talking to these Apparently Important Story Characters.
Wren is obviously the coolest kid in Arcadia.