Build Your Own Bundle, and Get a Free Game Engine!
Posted by Rampant Coyote on September 11, 2012
Want to make your own indie gaming bundle?
Gamers Gate’s got you covered with the Indie Fort 3 Bundle.
Pick any 3, 6, or 9 games at $1 per minimum, and be sure and kick in some extra cash for the developers.
There are a LOT of RPGs and games with “RPG Elements” in this bundle. Devil Whiskey (an updated Bard’s Tale clone from about 10 years ago), Telepath RPG: Servants of God, Cardinal Quest, Dark Scavenger, Demise: Ascension, and others are some pretty fascinating indie RPGs. And I’m kinda fond of A Sirius Game as well, which is more in the Adventure / Strategy / RPG category. But there’s a Defender-style action game, at least one tower defense, a 3D Platformer, and many more titles that are well worth a buck or three as part of the bundle.
Enjoy.
And you wanna hear something really stupid? I bought a couple of ’em last night that I already owned from another bundle. Yes, I’ve just gone into bundle overload, where I don’t even REMEMBER which ones I already own. Still, I paid peanuts for ’em last time, so I don’t mind handing over an extra bit to my fellow indies for good games. Fortunately, they can be gifted. Maybe I should come up with another contest or three here, hmmm?
Okay, that covers the gaming side of the fence. How about the game development side? Well, you know how we indies never seem to have any money to cover things like engine upgrades, of submission fees for various contests (or Steam Greenlight), and stuff like that? It’s always nice to get access to something free (legally), isn’t it?
How about the Torque 3D game engine?
I bought it “on sale” many months ago when I was investigating it as an upgrade path for the Frayed Knights series. I kinda regret it, as I ended up not using it, but it was already a sunk cost so this news makes no difference to me. It *is* a very interesting alternative to Unity at this point, so worth checking out. Open-sourcing the engine could make things a lot more interesting on the third-party front as well: One of the problems the community kept running into in the past was submitting code updates & changes, as we had to protect it so that only other Torque owners could see the code (as it inevitably included parts of the non-open source code we were modifying).
Anyway, cool stuff all around!
Filed Under: Deals - Comments: 7 Comments to Read
Audacious Game Features
Posted by Rampant Coyote on September 10, 2012
Last month’s article, “Going Big When You Are Small,” was inspired by the discussion about the ability for Might & Magic 4 & 5 to “merge” on the player’s hard drive to create a total game that was larger than the sum of its parts. Apparently, I needed to write what I did, because I haven’t stopped thinking about it, and about “audacious features” in games. Really cool features, innovations that surprise and delight players.
Or, in other words, things that you might wish a game would do without ever really expecting it.
For Frayed Knights, there were really two: the “first-person party” with personalities and intra-party dialog (mostly a new thing, though some past games had given your first-person party some small reactive speaking roles), and the Drama Stars idea.
Audacious enough? I dunno. I like the drama stars thing enough that I suspect something like it may be a part of any RPGs I design in the future, so it will likely not be a “Frayed Knights exclusive” feature. They seemed like big ideas at the time. But is it butt-kicking to the level of Might & Magic‘s never-attempted-before-or-since concept of cranking game continuity up to eleven? I don’t think so. But then, people don’t talk about the Might & Magic thing that much anymore, either.
So what would be some “killer features” that, as a player, would make you stand up, pay attention, and say, “Holy Crap That’s Cool?” Emphasis is on RPGs, but any game genre would do.
I’ve seen some meta-game ideas in the past that have done things like scan your hard drive and pull real-world stuff into a game, which is definitely interesting, but I really don’t want a game digging around my files or my browser cache. There are some nifty things that could be done with world updates from a server. There are plenty of shocking, audactious things that could be done that could ruin the game. But I’m really looking for things that might help make a good game go “over the top.”
I suspect the readers here, if we get up a good head of steam, could brainstorm enough ideas to keep indie game developers busy for decades.
Here are some ideas to get us started. We’ve seen some of these before – particularly in indie games – though they could always be refined and customized for a particular experience. It’s all in the implementation. Or, as some say it, “The key to creativity is hiding your sources.” Are these big and audacious enough? You know, I don’t really care. I’m just thinking about things that would make games stand out, add something really fun and cool to the experience, and go outside the box a little bit.
1) A summary of your progress in a game could be uploaded to a website for your friends to follow your exploits. In real-time. Victories, losses, and progress could be summarized in a simple message, like: “Sir Darkfred has opened the door to the Gate of Insanity.” This could appear on a website, or even in-game. Just so long as it doesn’t end up looking / sounding like the Facebook Game updates / invites. (ICK.)
2) In addition to uploading your character to a server, your character could appear in other people’s games as a computer-controlled enemy or ally.
3) Certain major variables or game-world rules are dependent upon a random number created at run-time. It may determine things like relative strength levels of spells, what spells are available in the game, the commonality of certain magic items, the strengths and weaknesses of various bosses, and so forth – making the game different from play session to play session while still having the same general rules and storyline. Players could opt to use a manual seed number instead to generate these parameters, sharing some of the more interesting parameter sets (a world where butterflies are actually the most fearful enemy in the game?)
Okay, there are some of my Big Audacious Feature ideas. What do you have?
Filed Under: Design - Comments: 14 Comments to Read
Math is for Game Development!
Posted by Rampant Coyote on September 7, 2012
Okay, this one’s for the kids.
Wanna make videogames? Learn to love math! I’m not sure if videogames or sending space ships to other planets represent the culmination of all that great work by the mathematicians and scientists of the past like Euclid, Archimedes, Newton, Decartes, Acharya, and Fibonacci. But it ranks pretty highly up there in my biased opinion. Game development is all about math, but the math is actually pretty fun. Math in videogames is what makes explosions work, what makes the AI move around cover to find you, what makes that lobbed grenade hit its target, what makes the physics puzzles work. Okay, yeah, sometimes the thrills it gives are pretty geeky, but I come from an era where these games were pretty geeky to begin with, so it appeals to me. 🙂
I think my game-development habit in my younger years was what helped me get through my math classes. While the rest of the class got glassy-eyed learning trigonometry, not really sure what possible value sines and cosines would have in real life, I was eating that stuff up, because I saw how they solved problems in game development. In some cases, I’d already learned some of it on my own. So I guess, in a sense, my passion for making videogames actually made math kinda fun – which is quite an accomplishment on its own, and I think in turn that made some things a lot easier to learn.
Algebra and trigonometry are things I use almost every day. I was reminded of this the other night when I found myself writing code for slope-intersects… another one of those things taught in math class that few of my fellow students really could see a practical application for. I survived a semester of Statistics my final year in college mainly because the first quarter of the class was all about probabilities – something I’d internalized pretty well spending years playing Dungeons & Dragons.While the deeper secrets of samples and distribution were a lot more challenging for me, anybody who is working in the MMO field and has to deal with large populations of players could benefit from this kind of knowledge.
I use Calculus a lot less in my work in games (and simulation, my day job) – but the foundation it provided was helpful. The physics classes I took in college – which required Calculus – were probably even more useful.
Want to program? Programming *is* math, guys. On its most basic level, programming is all about transforming meaning into numbers and vice versa – everything in a computer is a number, and every instruction is, at a fundamental level, a mathematical operation. Even at the higher level at which we programmers generally operate nowadays, programming is the embodiment of those “word problems” the kids complain about in school.
There have been times – especially when I was younger and really learning all this stuff – when I DREAM in code. I remember one windy night when I couldn’t sleep, and my brain got stuck in this loop describing the swaying of trees in the wind in terms of mathematical equations. Years later, working with Curtis (Califer on the board here) on the archer rats on the Tale of Desperaux video game, when we researched the algorithm for artillery trajectories to implement in the AI code to make the archery AI more accurate and give their arrows a more realistic “lob” effect. Programmers are always solving for X, performing summations, and otherwise performing basic arithmetic and algebra. If you are working in 2D or 3D space – as you are when writing many videogames – knowing where to perform an arctan (and its limitations) or calculating the distance between two points ( sqrt( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)), for 2D space – it’s second nature ) are frequent problems. Particularly in 3D code (AI, graphics, or physics), you’ll find frequent uses for things like dot products, cross products, matrix math (hoo, yeah!), calculating intersections between planes / lines, and the like.
Designers? Oh, heck yeah. As a designer your math background may not need to be quite as extensive as a programmer’s, but designing videogame mechanics is really an exercise in math. Remember how I said I thought probability calculation was pretty intuitive in my Stats class because of Dungeons & Dragons? That’s what I’m talking about. Mechanics design is all about understanding and manipulating the mathematical relationships between game elements. Good designers know a bit about an awful lot of topics – drawing from all art, science, literature, history, current events, or whatever – but they also need a solid math foundation.
And yes, math plays a role even for the artists. In some companies where I’ve worked, we’ve had a Technical Art Lead whose job it was to help keep the artists meeting the technical specifications, but an artist who understood the technical (math-based) environment for which he or she was creating assets was oftem more productive by the simple fact that they didn’t need to re-do so much work.
So – if you are a student, or know a student who is interested in video games… let this serve as a reminder about the importance of math.
Filed Under: Geek Life - Comments: 11 Comments to Read
The Death of Single-Player Games?
Posted by Rampant Coyote on September 6, 2012
Sounds like EA is patting itself on the back for eliminating single-player games from their publishing plans.
Not that solo players will be completely left in the cold – I’m sure most of those games will retain some single–player modes. In some cases, the solo mode will even be the focus of the game. But EA’s Frank Gibeau brags, “I have not green lit one game to be developed as a singleplayer experience.” The era of playing games by yourself is at an end, as far as one of the world’s biggest game publishers is concerned.
Making a game for multiple players is a fundamentally different approach from making a single-player game – if you are doing it right. I’ve learned (the hard way) that making a game with both single-player and multiplayer modes is about like making two games for the price of two. I’m sure with really clever design and for certain kinds of games, this 2x cost can be brought down a bit closer to 1, of course – which is exactly what I’m afraid of. Cutting out all the ideas and innovations that don’t lend themselves well to the multiplayer will likely lead to stagnant single-player experiences.
When I was a younger and dumber – particularly once I discovered Internet gaming (using a program called Kali to convince my computer that the entire Internet was my private LAN), I partly shared Gibeau’s belief. I remember getting into discussions with people about how awesome Daggerfall would be as a massively multiplayer RPG (back before we really had such things, and before I realized how empty such a huge world would be in an MMO). And yeah, it seemed there were very few genres that were not improved by playing it with a friend. Or even a stranger. Why, this was a brave new world of gaming, and everybody should be a part of it!
Then the Internet happened in it’s full… er, glory.
Playing with strangers isn’t all it’s cracked up to be, sometimes.
Playing with friends can be kind of a chore sometimes, too. It can be frustrating to find a block of mutually available time relatively undisturbed – and even then, family and other real-life responsibilities at our stage of life is inevitable and will frequently result in groups waiting for each other. It happens. It can be a pain, but the results are well worth it. Even the occasional random Unreal Tournament (various vintages) battle with strangers can be a lot of fun, even if some players can’t manage to string three words together without being offensive and sounding like a complete subhuman.
But it’s still worth it, most of the time. I’m a fan of multiplayer gaming, I really am.
But I’ve come full circle, and the bulk of my gaming time is now spent solo. I have games and other activities I play with friends. But a lot of the time, when I play a game, it’s because I want to shut off the social obligations of my daily life and just play whatever game strikes my fancy, when I want to play it, for exactly as long as I want to play it. I don’t want to have to worry about disappointing a friend if I only want to play for fifteen minutes, or feel guilty about out-leveling my friends because I want to keep playing with the same character after they have to call it a night. I want to solve puzzles by myself, or engage in some mindless three-item-matching for a few minutes to “decompress” or “recharge my batteries.”
In short, I really enjoy solo gaming experiences. Ever since I kicked the MMO and online Neverwinter Nights habits, that has made up the bulk of my gaming. I want more QUALITY single-player experiences. Quality usually means “focus” – which is not going to be coming from EA anymore, apparently.
Maybe rather than follow EA’s lead, other publishers will jump in to fill the void in making quality single-player games, and EA will prove to be the outlier (and maybe reverse its policy in a couple of years time). Or maybe we’re seeing the death of single-player games in the AAA side of the industry. I don’t know. But when one of the biggest publishers abandons single-player, that does not bode well.
(As a side note – I suggest that the emphasis on multiplayer is for monetization reasons as much as anything else. Note the Diablo III “multiplayer” emphasis working as a justification for “always on” DRM via connection to the multiplayer service…)
So there is one more reason why I love the indies.
Filed Under: Indie Evangelism, Mainstream Games - Comments: 12 Comments to Read
Greenlight: Putting Skin In the Game
Posted by Rampant Coyote on September 5, 2012
Since last week’s lukewarm post about Steam’s Greenlight system for submitting games, it has undergone quite a few changes. Mostly for the better. They’ve changed the biggest thorn in the side, the “up / down” votes, with better communication for the meaning. The new queue system I’m… not sure I like so much. But one of the most interesting changes, as of last night, is this one:
Valve announces that any indie dev participating in Greenlight must ante up $100.
This could have been far, far worse. My immediate thought was, “What? Valve went from crowd-sourcing their slush pile to making money off of indie devs that don’t even get their games sold on the service?” But this isn’t the case – the money goes to charity. This is purely a case of Valve requiring developers to put some skin in the game in order to be displayed on Greenlight. It’s also a one-time fee for the developer, not a per-game fee.
Okay, so here’s the deal. I’m not happy about forking over $100 for a new, unanticipated expense. That’s not a comfortable fee for anybody these days. Even if you run a small, successful full-time indie studio, that money could go to buy pizza for your entire team and then some. It’s nice that it’s going to charity, but a lot of indies out there are practically charity cases themselves, living on Top Ramen and working from their cramped studio apartment. As a part-time indie, I have a day job to finance my game-making habit, which helps. But that’s still $100 that could have gone to buying me a new office chair instead of the one I’ve been using which has a broken spring and ripped upholstery where the cushion is now shredding and falling out.
But I’ve paid entry fees for IndieCade and the IGF which got me even less exposure. I’ve purchased a tool and a game engine license for more than this that I never ended up using. If you are in the business of indie games, these kinds of expenses… happen. It’s not that big of a deal.
And more importantly – it was clear that Steam overestimated their community when they launched Greenlight. Greenlight was rapidly becoming flooded with total junk. I’m not talking just poor-quality indie games… I’m talking completely made-up crap that people were whipping up in an hour to clog up the channel. Where it was clearly a joke, Valve took some minor disciplinary action, but it was quickly getting to the point where I didn’t feel like up-voting anything because I could never be sure if I was looking at a “real” game or not. The trolls had taken over.
The tried-and-true technique for combating this is to require participants to put some skin in the game. One could argue over how much this should be, but it needs to strike a balance between being affordable for the serious participants but uncomfortable enough to weed out the un-serious. Is $100 the right balance? On a platform where many (most?) customers spend that much on games every 3-4 months, maybe. I don’t know their metric. But while I’m not particularly happy about forking over yet more money – particularly as my expectations are low, it’s well within reason for any indie who would be serious about releasing a Steam-worthy game. They’ve probably already spent a hell of a lot more than that already on production costs.
What if your game never gets on Steam? That’s not only a possibility, it’s a probability. Again, if this was just a fee to be silently viewed by a panel judges (who might not even play your game) *cough*IGF*cough*, then it might not be a particularly awesome investment. But if viewed as one more avenue to help people discover your games, probably more effective than paying ten times that amount for Google ads, then it is not so horrible. While Greenlight doesn’t allow direct links to other websites, most savvy indies (even me, once I got a clue) can put the URL of their website in their description.
As to Steam achieving its dominance over the indie game space… well, from that perspective, I do wish that Greenlight would turn into a failed experiment, like so many others. I feel very, very strongly that indies should neither pin their hopes on Steam nor “settle” for portalized distribution no matter how many portals accept their game. As much as Steam might be an incredibly valuable tool for indies, it should always be viewed as a partnership that could turn sour at any moment. Maybe they have a change in management and the new leadership decides they really prefer the EA / Activision method of “dealing with” indies. Who knows? Being independent doesn’t mean you can’t work with these guys, but it should always mean that you don’t have to.
Anyway – I’m now out another $100, and I can’t even tell if my game is still on the RPG list (since you can no longer view games anonymously, and games you’ve already voted for disappear from the list, and the new queue system serves to confuse things even further). But I have hopes that this will make Greenlight an actually useful resource not only for getting games on Steam, but for helping people discover new indie games.
(Incidentally – if anybody wants to drop a couple of bucks into a tip jar to help me offset that fee, there’s always a PayPal donation link off to the right… of the blog articles… 🙂 )
Filed Under: Biz - Comments: 22 Comments to Read
Lake Wobegon Worlds
Posted by Rampant Coyote on September 4, 2012
“Epic.”
What does it mean anymore?
Originally, it was the word for long-form heroic poems. The Odyssey, Beowulf, the Iliad, etc. I say “etc.” because I’m sure there are more, but that’s all I can think of. But the meaning of the word expanded to refer to anything resembling the epics, and then to mean anything “unusually” great, majestic, and/or heroic.
But when everything is unusually great and majestic and heroic, is anything? In computer RPGs, particularly, does saving the world (whichever world we’re talking about) even qualify as epic anymore? Is every CRPG world (and most other video game world, for that matter) an “epic-sized” Lake Wobegon?
It’s a classic formula, of course. You start out as a pathetic nobody who barely has enough skill to tie his own boot, and eventually become somebody of great power and importance. I mean, that is practically the definition of an RPG.
In the early days of the genre – cribbing directly from the dice & paper conventions developed by Gygax and Arneson – you started out as a somewhat competent but run-of-the-mill with enough martial or magical training to have a fighting chance against the common fantasy villains – goblins, orcs, low-level bandits, and the like. Eventually, with several victories under the hero’s belt – assuming he survived – he’d one day become the equivalent of a dozen such warriors or wizards, and capable of facing much scarier monsters from literature and movies, and eventually able to recover some cool-sounding artifact or defeat some powerful-sounding bad guy. The accomplishment of said task was often suggested to be of some great importance in the world, but in those early games the actual threat or value was often left pretty vague.
Nowadays, the threat tends to be better realized and the consequences of inaction much more world-shaking and horrible. The stakes are inevitably raised about as high as they can go – every time.
So now, saving the world is kind of ho-hum.
Many games have tried to make the world-saving stakes much more personal, threatening (or destroying / distorting) characters in the game that you might consider important.
Maybe it’s just me. But I think about Stephen King’s book, “The Talisman.” While young Jack’s mission had some impact and repercussions in the alternate world, the focus of his quest – and his greatest victory – was simply saving the life of his mother. It felt epic. The stakes felt high because they were personal.
I’m pleased that many indie RPGs have bucked the old trend, and have made strides to scale back the formula. You may just be back to saving a single town or escaping a nasty dungeon, but the struggles seem no less worthy. If anything, it makes them feel even bigger, as they are no longer overshadowed by such a major “big bad”, causing you to wonder why you are bothering beating up on such pathetic flunkies when a looming world-destroying darkness is off in the other direction.
So are we overloaded in epic? Or do these smaller exploits of the indie games feel less satisfying?
Filed Under: General - Comments: 8 Comments to Read
Frayed Knights: Now a Little Cheaper
Posted by Rampant Coyote on September 3, 2012
Between it being a holiday weekend here in the U.S., the start of a new month, exciting things happening on the sequel (not nearly fast enough, but happening), and the Valve Greenlight thing going on, I figured it was time:
Frayed Knights: The Skull of S’makh-Daon is being reduced in price. It’s not a huge price reduction, but it’s permanent. This includes direct sales, affiliate sales, Desura, and IndieVania.
I figured it’s getting seen by a few more people now, so it may be time to get it down below that psychological barrier of $20.
I’m pleased that more people are starting to discover the game. While it was geared more towards the hard-core, old-school gamers, I never intended that to be it’s exclusive audience. I am planning changes in the sequel (and, as time allows, small updates to the original as well) to help make it easier to get into by less veteran gamers.
This has brought up a couple of issues, though. Frayed Knights: The Skull of S’makh-Daon made something of a joke of going to excess, especially with things like spells. I don’t want to lose that, as spells like Power Word: Defenestrate, Boot to the Head, and Hellacious Incendiary Crackleball have a lot more character than “Fire Blast 1, Fire Blast 2, Fire Blast 3, etc…” But the latter is a lot easier to code for, to build an interface around, and certainly create detailed special effects for (you do it once, and then maybe just add more particles for the upgrades).
These are issues I’m still wrangling with. But I am still pretty pleased with Frayed Knights: The Skull of S’makh-Daon as being a game that is overloaded with that kind of stuff, even if the average player won’t see a lot of it.
Filed Under: Frayed Knights, Game Announcements - Comments: 3 Comments to Read
Greenlight is a Go.
Posted by Rampant Coyote on August 31, 2012
I had this in an update yesterday, but I wanted to give it one more go:
Frayed Knights: The Skull of S’makh-Daon is on Steam Greenlight. Please vote for it, if you have a Steam account.
Obviously, Greenlight is now up and running. And… I dunno. I’m apparently not the only one seeing it as a train wreck right now. However, this is pretty much true of any newly-launched service, so I’m not overly concerned. I’ve heard hints that Valve is well aware of the major problems, and will be making changes soon. It looks like most of the problems stem from poor communication with the community about the purpose of Greenlight, and over-estimating the maturity level of their community as a whole. The “This is why we can’t have nice things” problem.
I think those problems can and will be resolved – not in the way that will make everybody happy, but hopefully in a way that will prevent the system from being overwhelmed by trolls.
It’s potential…. kinda scares me. On the one hand – Valve is crowdsourcing its slush-pile, which I recognize as a legitimate and timely action.
On the other – it’s bolstering Valve’s position as Lord Emperor of online gaming and indie games. Which rubs me the wrong way. I mean – sheesh – isn’t the whole point of “indie” to be free and independent of these kinds of entities?
But nevertheless, it’s an issue. If you are on Steam, you can cut your price in half and make 20x as much revenue as you can on your own. Straight up.
Which means that non-Steam games cannot compete on price.
It also seems to be the case that revenue for non-Steam games is drying up… a lot like what happened to the casual games when the casual portals took over. The portals took their customers.
While there are no guarantees, if you are indie, it’s probably in your best-interest in the short-to-medium term to be on Steam. And to get on Steam, you need to get on Greenlight. Which means Greenlight – and Steam – will be the one-stop shop for all indie games. How much that ownership over Greenlight will be in Steam’s favor is yet to be seen.
If I did it for the money, I’d not be making indie games. But I would like to one day make enough at it that I could actually do this full-time. And have a real budget – that’d be cool too. 🙂 The whole indie thing has changed a lot over the years, and while it’s been very exciting to see at times, it’s been kinda frustrating at others. That’s just the nature of the business.
Fundamentally, the more things have changed, the more they stay the same. It’s still the same story – when the giant publishers ruled the world. Indies can’t allow themselves to become commoditized. You can’t be just another game – be it a Steam game or Desura game or casual game or mainstream FPS game. Your game must be unique, something not easily replicable. A game with personality, that could only have come from you.
That doesn’t solve the problem of getting eyeballs, of course. One of my visions of indie-dom is that the ultimate game for me is out there, somewhere, but nobody knows about it yet. While “ultimate” may be a silly descriptor, there’s a lot of truth there. Some of my favorite games have been relatively obscure little titles.
Sadly, I’m afraid Greenlight will soon be even more choked than the Apple App Store, and won’t be much of an answer to the obscurity problem in the long run. But I don’t see any other solution in sight, either.
Filed Under: Indie Evangelism, Mainstream Games - Comments: 17 Comments to Read
Frayed Knights 2: Virtual Graph Paper and Tool-Driven Development
Posted by Rampant Coyote on August 30, 2012
(UPDATE: The original game, Frayed Knights the Skull of S’makh-Daon, is now on Steam Greenlight. If you are on Steam, I’d be most appreciative if you’d kindly vote it up at this link: Frayed Knights for Steam! )
So if you were to ask me what the number one challenge I faced making Frayed Knights: The Skull of S’makh-Daon… well, okay, the answer would be lack of budget. Number two would be the lack of a full-time artist. Number three, however, would be tools. Or the lack thereof.
The Torque engine supported Quake-style maps, which we used for the dungeons in Frayed Knights. This sounded good in theory, especially when using the cool Quake-style optimizations that allowed really big levels to be rendered pretty dang quickly. And there were tons of tools out there for doing that, which were nice and mature and stuff.
In practice, it didn’t work out very well. Torque didn’t have much by the way of the optimizations that Quake had. We could do some things with portaling, but there were tons of “undocumented features” in the engine that continued to frustrate us when trying to build and optimize levels. The lack of integration between the level-building tool and the game (or engine) itself caused more problems. Without hooks or standardization for gameplay elements, all important interactive stuff had to be added later, in a different (in-game) editor that was still depended on hand-built or hand-tuned code and data fit in the environment and work correctly in-game. It was time-consuming, error-prone, and often pretty dang boring. This is not a winning process for rapid development!
Doors are a prime example. A simple door – without any special trap or other trigger associated with it – would take several minutes to place, orient, align their collision, and code. And then another few minutes to test – though I usually did this as a single pass after several doors were placed. Sure, it was only about five minutes per door (so long as they had nothing special going on), but multiply that by over 30 doors in a dungeon – many of which DID have special triggers or events attached to them which took significantly more time – and you are talking 3+ hours spent *JUST* placing and testing doors. Due to little visual errors in placement or dumb cut & paste errors in coding, I’d probably spend twice as much time on them as this finding and fixing problems.
So – okay, six hours doing the doors for a dungeon is not, by itself, a huge deal. But multiply that by all the other stuff that had to be placed and “wired up” in a dungeon, and you get the idea that there was a lot of long, tedious, error-prone work going on in addition to just creating the geometry of the levels. Those six hours could have been spent adding more details and quality to each level. Which is what I really wanted to do – not just because it would make the game better and more polished, but that’s the stuff that can be a lot more *FUN*.
This sort of thing was everywhere. Placing items and decorations. Setting up encounters. None of this seemed like a real problem when I was just making a single dungeon for the pilot. Hand-tweaking something doesn’t seem so bad when you are only doing it three or four times compared to the effort required to make a full-on toolset, particularly when you are still in R&D mode and your actual process is still in flux. But three hundred to four hundred times? Not so great. But sometimes, when you aren’t so sure how far you’ve got yet to go down the road, it’s hard to judge whether or not it would be worth it to build a shortcut.
Suffice to say, I did a lot of things the hard way, with very few tools to make my life easier.
Going to a brand-new engine isn’t entirely a “clean slate,” as we’re building upon the foundational rules and systems (with improvements) of the original game. We’re actually porting code where we can. But this time, I am determined not to make the same mistake the next time (so I can move on to brand new mistakes), so I made a decision that I was going to focus on tools.
Nowhere was this a bigger deal than creating the dungeons. With the new engine, the Quake-style dungeon building is gone, baby. I had to architect an entirely new system for developing a core aspect of Frayed Knights gameplay – the dungeon crawling. I want them bigger, better, cooler, and far, far easier to build and test and polish.I wanted big dungeon levels that rendered quickly, which meant that simply creating a ginormous level in Blender or Lightwave and dropping it in the game wasn’t going to cut it – and it would have all the same problems that we had in the first game. No, what I needed was a tool that would allow me to do all that complicated, tedious stuff *quickly* with massive automation to prevent mistakes (especially the ones that might slip through into release). As this was the highest-risk, most experimental part of the sequel, it’s what I focused on first. And longest.
I created a kind of laundry list of features, with my new, improved “dungeon engine” going hand-in-hand with my editing demands. I wanted something as easy to use as drawing maps by hand on graph paper – in fact, something that felt a little like that would be awfully nice. It had to be powerful enough to create something like the maps of Ultima Underworld, and more so… with things unlimited map sizes , and true 3D capabilities with the ability to go over and under territory (yet, considering how humans work mainly in the horizontal, optimized for horizontal movement with small, smoother elevation changes). I wanted to be able to create something as weird and as vertical as the Pit O’ Doom from Frayed Knights: The Skull of S’makh-Daon. Finally – where the capabilities of the editor met their limits – I should be able to just swap in much more sophisticated level geometry from a tool like Blender to replace pieces of a the dungeon built by the tool. That way I could get the best of both worlds, right?
I went through several iterations of the underlying architecture (while learning Unity), many of which ended up requiring me to scrap almost everything several times. After four or five months of this, I was beginning to wonder if I was going to be able to pull any of this off.
I think I did. I’m pretty excited about it. The last of the technical risk items (the “will this actually work?” problems that could send me back to the drawing board yet again) were resolved a few weeks ago. While the focus so far has been on functionality rather than aesthetics, making screenshots not particularly thrill-worthy, I’m pretty pleased with how things are coming along.
The core of the dungeon-editing side of the toolset looks and feels like drawing a dungeon map on graph paper. This is not accidental. I figured anything that helped me tap into the raw creativity and love of RPGs of my youth is a good thing. And after all these years, it feels natural. Adding a vertical element to everything isn’t quite as easy or natural, but building ledges and slopes is not a big deal either. Even better – while much of this is still under construction – most of the gameplay logic is controlled via the editor as well. No more having to build stuff in six different places to get it to work.
My general approach is that that this toolset should be an 80%-85% solution for everything in the game. This should hopefully preserve my sanity through development of both Frayed Knights sequels, and any other projects built upon this foundation. In other words, 80%-85% of the game – beyond basic content (textures, models, animations, sounds, etc.) – should be developed in the editing tools. This way the tools can help catch or prevent bugs, maintain consistency, and and automate everything that can automated. The time otherwise spent doing the tedious, boring, technical work can now be devoted to doing the cool stuff (and, hopefully, doing the cool stuff much, much faster).
Now that I have the advantage of hindsight and the core systems of Frayed Knights are already in place from the previous game, I’m taking the approach that as a general rule, if it doesn’t exist in the editing tools, it doesn’t exist in the game. It’s like “editor-driven” development – when I want to add functionality to the game, I start by building it into the editor.
While the lead time on developing the tools up-front has been a little daunting – especially after having to throw away a bunch of failed experiments – I’ve been very pleased to note that 80-85% of a dungeon can be thrown together really easily. If I were to allow a dungeon to be completely “flat”, I can whip out something like the above map in seconds. Literally as fast as I could sketch it out on paper. Doing something with more interesting vertical elements gets a little more complicated, and will often require more iterations to test, but it’s still very, very fast.
By way of comparison, the Hobgoblin Bunker in Frayed Knights 1 took a couple of weeks (of part-time effort) to build just the basic layout with the texturing, geometry, and lighting. That’s without adding interactive elements and scenery (like furniture), combat encounters, or anything else. With this tool, I can do the same thing in just a few minutes. I am not kidding. It’s that significant. And doors? If I don’t want to mess with the defaults, they get placed and “wired up” automatically, taking zero time. And there’s no need to do a special testing pass on them afterwards.
While other aspects of the level-design process may not enjoy quite as dramatic a time-savings, I’m pretty confident as pieces are coming together that the improvements will still be pretty impressive. In addition, there are some neat new features that can make more interesting gameplay that will hopefully be more present in the game since they are easier to create and use.
Okay, before you ask: No, I’m not building the tool with any sort of plan for releasing it to the public. I’d not be at all surprised if that actually happens at some point down the run (with significant clean-up effort), but for right now the game is still the primary focus – the tools are simply what we need to get there.
Unfortunately, talking about editing tools can get pretty dang boring really fast, so I won’t be providing many updates on the technical progress on this front very often. But the ‘clean slate’ provided by switching to Unity has allowed us to approach the series with a more fresh viewpoint, so there’ll be some changes (all for the better, I hope) to Frayed Knights’ design that are ongoing that I’ll be talking about for the next few weeks.
Filed Under: Frayed Knights - Comments: 11 Comments to Read
How to Beat Procrastination
Posted by Rampant Coyote on August 29, 2012
Heh – the really funny/ironic thing is that I’d had this article on my list of things to read for several days, but I put off reading it.
I like that the article explains the three different psychological influences that encourage procrastination, as well as providing tips for overcoming these influences. And there’s no magic formula presented, just tips to see what works for you.
I struggle with this one, too. One thing I’ve seen indies do to help remedy this is to work on shorter projects – which significantly reduces the “Delay” factor. In the past (something I should consider repeating) I’ve mixed up task lists by grouping pleasant, fun tasks with the less thrilling ones. That way the “fun” tasks act as rewards for completing the more annoying ones. Setting milestones – even internally – with a third-party is another proven method of reducing that delay factor. In fact, it’s getting to be about time I start doing that with this blog, as I did during the development of Frayed Knights: The Skull of S’makh-Daon. So long as you don’t become resistant to embarrassment for failing to hit your deadlines, being answerable to someone can really be a good motivator.
Filed Under: General - Comments: 3 Comments to Read
A Message to a Young, Newbie Game Developer – Thirty Years Ago Today
Posted by Rampant Coyote on August 28, 2012
I’m not sure of the official “ship date” for the Commodore 64, but it was pretty close to thirty years ago today. We had ours on pre-order for months, and it finally arrived on our doorstep in early September – after school had started, much to my chagrin. I’d anticipated spending a summer learning to program the thing and making some totally world-class video games. You know, cheap clones of my favorites from the arcade. Instead, due to various delays, it shipped at the end of August, 1982.
My life was changed forever.
I don’t think I would really change much. But if I could – if I could enter the TARDIS and give my adolescent self some advice from the future about learning to use this wonderful machine, what would I say? I imagine it’d be variations on the same advice I don’t listen to today. But here’s what I’d like to tell me, anyway:
Hey, dude. This new machine you have been waiting for all summer is going to be every bit as awesome as you imagine. There are two things that are going to hold you back from making the most of it: Your lack of technical knowledge, and your lack of discipline. Both can be fixed with time and effort.
The next few months are going to be fantastic, because there really aren’t that many games out for the machine yet. Yes, this is a good thing. Now is the time that you will learn the most to fill that void yourself. Finish learning BASIC – the new version on this machine is about ten times as powerful as what you’ve used before. But you’ll come up against the limits of that language pretty soon. Don’t stop there! You already know about “machine code” – let me tell you, Assembler is pretty much the same thing but a whole lot easier. Take the time and money to invest in learning assembly and a decent assembly-language compiler. Use the money you would otherwise spend on that useless BASIC compiler. Trust me, that thing will never work right, and won’t be worth it.
Get more comfortable with the math and technology involved. It’s not really that hard, but it does involve practice. Don’t be intimidated by what you need to learn. Most of the time these things just have impressive-sounding names that sound weird, but in the end the principles are pretty easy once you’ve made the minimal effort to tackle them.
But go ahead and write those awesome text adventure games you’ve got planned. Please! And finish the “Escape from Xyluvion” game, because I don’t remember how it’s supposed to end, but I remember it was supposed to be cool. Forget the whole agent thing, too – just go ahead and submit your games to Aardvark and see if you can make any money from ’em. If nothing else, this will be a chance for you to learn about business. And for heaven’s sake, save your games on floppy, create a print-out of the code, and save both of them in a specially marked safe container so that you might still have them later on in life. ‘Cuz that would also be cool.
Write games and submit them to magazines. You can still do that, now. This requires FINISHING a few more games, which I admit is not much fun, but it’s well worth it in the end. Now is the time, dude! I don’t mean finish everything – the best way to learn is to tinker – but some of your better ideas deserve to be taken to conclusion. Yes, you are still learning, but so are the people for whom these magazines are written! Learn, and share what you’ve learned with others, even if it’s not much. That’s how life works.
You’ll want to keep playing games, especially as more become available for this machine in about six months. Believe me, in a couple of years, there’ll be more games available for this machine than your friends with their Atari 2600s and Intellivisions could possibly imagine. In fact, even those kids with their Apple IIs are going to be floored by everything that will one day be available. Playing games is good. Just don’t get so caught up in playing that you don’t have time to write your own games.You work best when you are hungry for new experiences – you make the games you want to play. Don’t settle. And don’t let your imagination be limited to what you’ve already played.
Oh, and make sure your characters are about four or five levels higher than you think they’ll need to be before you take on Exodus. And make sure you are clear on card order. It will save you some heartache later. You’ll know what I mean in a year or two. It’ll be awesome. Here’s another hint: In Forbidden Forest, the joystick also adjusts your shoot angle up and down. You don’t need it until the final battle, so it’s easy to forget.
Otherwise – really, just do what you are gonna do anyway.
One last thing, on a completely NOT computer-related point: your first date. Please, don’t make such a big deal out of it, and whatever you do, do not act like such a self-conscious schmuck. Just have a good time, and let her have a good time, too.
Now go make games.
Minus a few of the specific details – and the whole first-date thing – I’d probably give similar advice to a young kid wanting to make games today. I’d NOT recommend Assembly, but I’d probably recommend C++ as a second language after something a little easier. Although nowadays you can do some amazing stuff in Python / Boo, C#, and even JavaScript – so a second language might not be necessary.
The most important things are to not be intimidated, to take the time to learn, to take the time to practice, and to actually build (some) games with the intent of releasing them to the public. Learning is a thousand times easier today, with the Internet, than it was back in 1982. We have resources today we could only dream of back then. But we have even more distractions. Managing time so that you have the time to make games can possibly be the biggest limiting factor to amateur game development out there.
We don’t really have the submission of game listings to magazines anymore. But we do have things like the Ludum Dare competitions or other “game jams” which are better in some ways. They are a great opportunity to practice making and releasing a game to the public. There’s an amazing learning and practice potential jammed into these little competitions, particularly with gaining a familiarity with the game-making process. There’s a lot more to it than first-timers realize, and while making a commercial game is very different from making a 48-hour project, much of it really is just a matter of scale.
But in the end: Have fun. Make games.
Filed Under: Geek Life, Indie Evangelism - Comments: 4 Comments to Read
Procedural Content: When it sucks, when it doesn’t
Posted by Rampant Coyote on August 27, 2012
I’ve been a fan of procedural content since I first played Telengard back in 1982 or so. The Telengard dungeon boasted a size that was pretty much unattainable by conventional methods. There were a total of two million rooms in the game. Even if you managed to compress the entire room information down into a single byte (I don’t think that would have been possible with the room data variations, but two bytes would probably have been attainable), there’s no way you could have stored all the rooms into 64,000 bytes of memory on the C-64… or a 170k floppy disk.
But while two million rooms sounds cool on paper, the reality was kinda boring. Worse, it was frustrating, as a teleport trap required you to pretty much scrap your old map and start over again, because there was simply no way you were going to find your way back “home” again short of a recall spell (which would require a sacrifice of your gold, which represented a pretty good chunk of your experience points). Nobody on earth was going to explore all two million rooms, and with only a handful of features to differentiate them, one collection of rooms didn’t seem that different from any other. Encounters, treasures, and responses to actions (what happens when you sit on the throne?) were all random, so very little of it mattered. All that did matter was learning where the stairs were.
Other games had far more interesting procedural content – like Frontier: Elite II, where a neighbor of mine and I would keep and share records of the best trade circuits and areas in the galaxy with the most interesting or profitable gameplay. This felt far more like “exploring” in the classic sense. It was the same idea as Telengard – with a similarly impossibly huge, fixed galaxy – but it was much more meaningful. These weren’t just places, these were things I could use.
Back in the 1980s, I was introduced to the game “Warhammer 40,000.” My friends spent horrendous amounts of money on miniatures for that game – a temptation I narrowly avoided after a couple of play sessions that exposed me to just how fun this dark science fiction wargame could be. The first time I played, a friend acted as a referee between my brother and me – neither of us with any experience in the game. My friend pulled out some plywood boards that had some blocks glued onto it in some resemblance of a city-scape. Then he pulled out another bag of oddly-sized wooden blocks, and dumped them onto the boards. “This is your battlefield,” he explained, “the ruins of a city. The blocks are buildings, some of them collapsed. You start on opposite ends of the map. Last one standing on the map wins.”
For movement, distance, and line-of-site calculations we used a piece of yarn. If you could stretch the yarn between two miniatures on the map without touching or bending around any of the blocks, you had line-of-site. To determine distance, you’d measure the length of yarn between them. It was very organic and fluid, and my squad of space-orcs enjoyed a tremendous victory, so it was awesome. The random terrain generation was a hit with me.
Ditto with X-Com, which I played around the same time as Frontier. While there weren’t many variations in battlefield layout – it all looked the same very quickly – the trick was that it was all useful. The positioning of the farmhouse, those awful grain fields where aliens always seemed to be hiding (one incendiary rocket to perform “reconnaissance by fire” was always useful… if you hear an alien death-scream in the middle of the flames, then you know there had been an alien hiding there).
Diablo-style and roguelike games, however, never really thrilled me with random dungeon generation. Like Telengard, the only really interesting part is finding the exits. Otherwise, it’s just background scenery. It doesn’t feel like exploration because in spite of the most interesting dungeon generation systems, it’s just not interesting because it doesn’t make much of a difference. It’s just a place where occasionally interesting things happen. Now, the generation of treasure is a whole ‘nother matter. Again, it’s a random thing… but makes for extremely compelling gameplay as every item represents a potential upgrade to the player’s abilities. While the vast majority of items are simply tossed into the inventory to be converted into gold at the first opportunity, the promise of meaningful upgrades – which may occasionally add such new abilities to the player character that they change the feel or pacing of the game – give this form of procedural content generation an almost addictive flavor.
Minecraft is fascinating with its random, procedurally-generated worlds. Again, it’s not just the cool vistas and bizarre landscapes that it presents – but the importance of that exact configuration to the player. If anything, Minecraft is perhaps a textbook example of procedurally generated worlds done right. When you are dropped into a new world for the first time, you are immediately confronted with the need to survive and very little time to make preparations against the monsters that come in the night. Every tile in the world can be important in this respect, and you must immediately assess the value of the nearby resources and locations to build your shelter. Later in the game, the search for rare materials and the even rarer dungeons turns the entire world into the equivalent of Diablo‘s random item generator, as every dug block or uncovered cavern yields the promise of finding a vein of useful materials. And of course, there’s the pleasure you get by playing god with the terrain and shaping it to meet your own needs, desires, and whims.
There are countless other examples, but for me, what’s more important than the cleverness and variation of the procedural content generator is how much it influences my gameplay and decision-making. An interesting battlefield with terrain that can be used to your advantage is always more interesting than one that is simply scenery.
This principle isn’t entirely restricted to procedural content. While hand-generated content may have some cool signatures of human creativity and a stronger sense of purpose that makes the world feel more alive, it’s still vastly more interesting to explore when it has a purpose beyond mere scenery as the player progresses from point A to point B. Exploration – to me – is about trying to discover cool and interesting things. That usually means something that influences story or game mechanics, or gives the player a chance to learn something new about the game world, or provides interesting choices or problems to solve. Otherwise, it’s just filler. And I really don’t want to play a game that’s mostly filler.
Filed Under: Design - Comments: 5 Comments to Read
UnderRail Released
Posted by Rampant Coyote on August 24, 2012
Yesterday was something of a banner day for RPG fans – we got the re-release of Ultima 9 and Lands of Lore 3 (sadly, neither were considered the apex of their respective series) on gog.com, Knights of the Old Republic 2 on Steam, and the pre-release “alpha demo” for UnderRail (formerly entitled Timelapse Vertigo).
May I make a recommendation here, and suggest you do not ignore the latter in your enthusiasm for the other games?
I think I will. Guys, try out UnderRail. This sucker’s got promise.
I think it draws immediate comparison to the original Fallout games, with its perspective, sci-fi setting, and turn-based combat. And detailed character creation! It takes more than filling out a checklist of old-school RPG elements to really make me happy, but it has the basics pretty well covered.
The game opens with what seems (so far) to be a pretty interesting setting. Not too sure about story, yet, but the world is intriguing to me so far. One interesting thing about it that stood out to me was the inclusion of psionics. As far as I can tell, according to the UnderRail game world, psionics is a rare but natural ability in the human race that is naturally suppressed as a protective measure (to prevent infants and children from causing all kinds of destruction). It can be unlocked the “old-fashioned way” by years of meditation and practice, or by modern science with a simple pill.
Hey, I thought it was amusing.
According to Styg, the full game is still a ways off. But from what I’ve played, the core engine and basic game systems are in great shape, and should provide a very solid foundation for the game. And hey – it’s a non-medieval-fantasy RPG! That alone would make me take notice!
You can download the UnderRail alpha demo directly from IndieDB.
Filed Under: Game Announcements - Comments: 2 Comments to Read
Hot Dang. All the Ultimas.
Posted by Rampant Coyote on August 23, 2012
The whole series. On sale. With new goodies.
That is, if you exclude Akalabeth: World of Doom (which I don’t know was ever officially ported to the PC), and Escape from Mount Drash (which was an unofficial horrible VIC-20 game produced by Sierra in a time when they didn’t realize what ‘intellectual property rights’ really entailed). And the two Worlds of Ultima spin-offs are also available, and already free, so there’s no excuse for not picking them up. They were built with the Ultima VI engine.
So if you’ve ever felt you missed out on having the complete collection (hey, I never played the Ultima IX, though that was somewhat willful, and I’ve been trying to convince myself for years that Ultima ended with Ultima VII part 2: Serpent Isle), I guess now’s a good chance to catch ’em all.
And – here’s the Spoony Experiment retrospective on each game in the series.
(Update: I previously stated that I didn’t know why the Ultima Underworld games weren’t part of the sale, but they are. My bad.)
Filed Under: Deals, Retro - Comments: 4 Comments to Read
The Meaning of Indie. Again.
Posted by Rampant Coyote on
If you focus on the history, the gist of what ‘indie’ means is pretty simple. Once upon a time, the big, bad publishers had a pretty solid (but never total) lock on being a gatekeeper for customers. If you wanted to make games that had an audience, you almost had to go through them. Almost. The exceptions were the indies. They were the “little guys” who were finding ways of getting their games to customers without going through this giant infrastructure erected by the big-money publishers.
Today, the walls the gatekeepers once erected are a lot more porous than they once were, and they are a lot more willing to cut deals than they were back in the day. The challenge of getting one’s game to retail is… well, what’s ‘retail?’ But the indies are still the ones doing it their own way. But with all the changes to the industry, it’s easy to lose sight of what “indie games” really are.
Craig Stern takes a crack at defining “indie.”
I’ve kinda given up on any kind of strict definition, because the field is so inclusive (in my view), and feels like more of a spectrum. But Craig does a pretty good job of narrowing it down to something fairly reasonable. I have quibbles, of course – anybody will if they have any kind of opinion. But it’s a commendable job, and aligns pretty well with my own working definition. I think that his explanation of what indie is actually more important.
The thing is – it’s really just all this stuff in the margins that is causing the confusion. The majority of “indie” games are pretty easy to identify. When it’s a couple of guys (or girls) you’ve never heard of making some really weird 2D game on a shoestring budget and releasing it online – that’s clearly indie. No fuss, no muss. It’s when you have games with budgets in the mid-six-figures with up-front Microsoft deals and stuff that things start getting confusing. And when you have high-stakes competitions like the IGF (where the winners tend to gain a lot more than just prize money), then you’ll get a lot of people pushing the boundaries as far as they can. It’s only natural.
Filed Under: Biz, Indie Evangelism - Comments: Comments are off for this article
Going Big When You Are Small
Posted by Rampant Coyote on August 22, 2012
I’ve had a few discussions with friends over the last couple of weeks about RPG design, revisiting past ideas, etc. Those inspired yesterday’s post. And today’s post. But what really drove something home was this RPG Codex interview with gaming legend Jon Van Caneghem, creator of the Might & Magic series and founder of New World Computing. It is, in some ways, the answer to yesterday’s call to do more than just imitate the past.
A little background: Might & Magic IV: Clouds of Xeen, and Might & Magic V: Darkside of Xeen were two separate games in the classic RPG series released in 1992 and 1993 respectively. I remember the buzz when Darkside of Xeen was released. In a move never before seen (and not really seen again, unless you include expansion packs & DLC) – you could combine both games into one giant mega-game that allowed you to move between the two worlds, and included additional content not available in either game separately. It even offered an additional ending. Sure, it might have been a little gimmicky, but it was also pretty cool… and it had to be planned out in advance in developing the first game.
In the RPG Codex interview, Van Caneghem says of the feature, “I thought to myself as a player, what would be cool if a new version of this game comes out, so I came up with the crazy combining scheme that would be magical to the consumer. This was a monumental task especially in those days. But I thought it was an amazing idea and we keep working on the concept until we figured out how to do it. Thank you for recognizing that feature, we were very proud of that accomplishment and to this day I don’t think anyone has repeated it.”
Here’s the thing: This was not really a technology-driven feature. This wasn’t “checkbox innovation.” This wasn’t an obligatory feature copied from previous best-selling titles demanded by a marketing department. It probably didn’t deliver the biggest bang for the development buck. And while I call it kinda gimmicky, this wasn’t just some marketing gimmick cooked up to give the magazines something to chat about (though it did do that). But it really was a feature created to delight the player. It was audacious and cool and a nice reward for the fans.
As I said, this wasn’t technology-driven. It didn’t require the latest cutting-edge hardware to become viable. While it consumed more resources (and forethought) in building — planning ahead by a full game is tough to do — this wasn’t an effort that required a vastly larger team and a bloated budget. In short, it was the kind of innovation – uniqueness – that would be within the grasp of any indie team today.
I’m not suggesting indies start developing games with planned interoperability with sequels. It’s been done. I’m saying this is the kind of lateral thinking that indies should embrace. This was a big idea that didn’t require a big budget to build.
Indies can totally do that. Big doesn’t need to be expensive. It just has to be audacious.
Filed Under: Design, Indie Evangelism, Retro - Comments: 5 Comments to Read