• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.

Nairb

Members
  • Content count

    444
  • Joined

  • Last visited

Community Reputation

766 Good

About Nairb

  • Rank
    Member
  1. So they've found that people who aren't working are... doing other things with that time?
  2. [color=#282828][font=arial]My latest game, Rocket Rascal, was just released into the iOS and Android app stores.[/font][/color] [color=#282828][font=arial](You can get it here for iOS and here for Android)[/font][/color] [color=#282828][font=arial]It's a little too early to tell whether the game was a "success," though it has definitely had a slow start. Instead, I just wanted to discuss some of the good and bad points that came along with development. [/font][/color] [color=#282828][font=arial]There were definitely a few major headaches and a few places I thought would be headaches that turned out blissfully pleasant. So here we go:[/font][/color] [color=#282828][font=arial]What Went Right[/font][/color] [color=#282828][font=arial]Tumblr & TIG for Recruiting[/font][/color] I found the artist I worked with off a random Tumblr post, and I couldn't be more pleased with our working relationship. I put out a public call for localizers on Tumblr and TIG and within a week found all the people I needed and then some. Not a single person disappointed, a real triumph when you're trying to wrangle 11 people on a small budget and you have no prior management experience. I also put a call out to integrate third-party game characters in the game, and a lot of Tumblr/TIG developers were very awesome to let me use their works. This created a lot of opportunities for cross-promotion and fan building. (above: one of our featured characters, Carrie, by Ink Dragon Works) Game Dev Meetups I host a coworking event on meetup.com that allowed me to put my game in front of people regularly and get feedback. It also provided a consistent, reliable schedule for certain aspects of development. Further, there was never going to be an Android release - I don't have an Android device, and the one device I could get access to wouldn't run the game. Some people at a different meetup allowed me to see the game running on 4 different Android devices and convinced me that Android was a feasible target. So now it exists. Preproduction This is such a boring point, because everyone says that prototyping is important, but Rocket Rascal really went through a large number of iterations before the core mechanics were sussed out. It went from a chaotic survival game more like Luftrausers to a portrait-style platform jumper to the rocket jumping vertical climber you see now. Preproduction took a little longer than I wanted, but I think the game is better for it. Here's an early screenshot: Handing Over Art Direction This was always "my" project - I spawned the idea, ran the design, implemented everything, and managed people I needed. I knew very early that my eye for art design was less than stellar, and I sought a partner who could drive that. When I did find that person, I handed her a rough outline of the visual style I was targeting and let her run with that. She came up with the construction paper styling and the Beetlejuice-esque sandworm design and even the idea for different rocket launchers (the initial design called for multiple characters but only one rocket launcher). Had I run the art direction, things would've looked much different - and looking back, probably would've taken a lot longer and not been as good. [color=#282828][font=arial]What Went Wrong[/font][/color] Performance I didn't stay on top of my game's performance on actual devices, and it came back to haunt me. Near the end of development I found I had significant performance issues, and what turned into a 2-day time estimated turned into over a week plus occasional revisits. Next time I'm going to strive to stay on top of this with periodic performance checks built into my milestones. Budget This was a small game that I self-financed, and I let my expenses get a bit out-of-control. I didn't take into account just how much it can cost to finance 9 localizations even when you're paying sub-standard rates. Will those pay for themselves? I don't know, but I'm getting skeptical - I know so far the vast majority of my downloads are in English. So why did I do this anyway? My last game was featured in the app store, but it was only really featured in America. I became convinced that if I had localized it during the time of the promotion, it would've picked up in other countries and been more successful. Next time I'm going to start with a much smaller batch of localizations and gradually add in more as necessary. VFX I really wanted to go crazy with the VFX for this game. I wanted poppy visuals and really attention-grabbing effects. I tried to implement a bunch of stuff, but none of it worked - they didn't fit the game or they interfered with the play or they just weren't that good. Compound this with the fact that I don't have a very visual eye. It ended up being a lot of wasted time, and the things that made it in were not as profound as I wanted. Next time I'm going to strive to find someone else who can drive this and take my queues from them. What Went ... Somewhere in Between Unity I'm usually a Unity proponent, and for the most part development went fine. But somewhere near the end things turned pear-shaped. I updated to a patch release and started having real troubles keeping my project from breaking. There were days where Unity would freeze or crash multiple times an hour, and the Services tab gave me no end of grief. I guess it's my own fault for switching Unity versions during the tail end of development, but I really needed a few of those bug fixes. Localization Setup Don't underestimate how much sheer time it takes to setup localization in iTunes Connect or Google Play, especially if you have a large number of achievements or in-app purchases. It's not hard, it's just... draining. [color=#282828][font=arial]Conclusion[/font][/color] [color=#282828][font=arial]Like I said, it's too early to tell whether the game will be successful or not. The adoption rate thus far is small, and it hasn't been featured anywhere. I can't predict if any of that will change, but I'm still doing a heavy marketing push and looking for promotion venues. As any mobile developer (or any developer, really) knows, it's an uphill struggle.[/font][/color] [color=#282828][font=arial]Hopefully these lessons which are independent of the success of the game will be somewhat useful. I'll see a few weeks down the line whether the game's performance warrants a second postmortem. Until then, you ought go play the game maybe.[/font][/color]
  3. My latest game, Rocket Rascal, was just released into the iOS and Android app stores. (You can get it here for iOS and here for Android) I wanted to write a little bit about how I got the performance of this game to an acceptable level. For being such a casual game, I hit some serious performance issues late in the game. The iPhone 5 ran pretty much flawlessly, but the iPad 3 ran at 30-35 FPS, and the iPod Touch 4th Gen ran at 12-17 FPS. The 4th Gen was my low mark, and I wanted to get that up to at least 30 and the iPad 3 to at least 45. Problem 1: Garbage If you develop in Unity for mobile, the garbage collector is going to crop up in your profiler at some point. The general rule: never generate garbage per-frame. This is harder than it sounds, since seemingly innocuous calls generate garbage. Things like gameObject.name generate garbage, and gameObject.GetComponent generates garbage only if the component doesn't exist. Converting numbers to text can also be obnoxious, especially if you have something like a "Score" string that changes frequently. This was mostly low-hanging fruit though - the Unity profiler made the problem points easy to identify and address. Problem 2: Fillrate Have a look at the cityscape for the game: There were 3 large images (*large* images) that were very fill-rate heavy. The resolution of iPad 3 is 2048 x 1536, and stacking these gets really expensive. I couldn't cut these out, they were critical to the aesthetic of the game, but they were definitely dragging me down. The solution here was to cut all those images up into two sections: the bottom portion didn't have alpha at all, whereas the top (smaller) portion still needed the alpha. Then I wrote dirt simple shaders to render this. Making the bottom portions opaque allowed them to be rendered much faste. This had the most pronounced impact on performance, and I quickly saw a 15 FPS boost on iPad 3. Problem 3: Colliders Unity doesn't like having colliders manually moved around. It gets fussy, and performance starts to drag. The game uses almost exclusively hand-controlled colliders, however, so I had to do something there. I got a decent bump by just not updating the colliders of entities that weren't visible. It wasn't huge, but I couldn't exactly overhaul the game to address this. Problem 4: Sandworms There are 3 sandworms that are constantly chasing the player, and sometimes there are extras in the background for aesthetics: The sandworms were created by tweening the control points of a spline and then dynamically generating a mesh from that. Two subproblems arose from this: dynamically generating the mesh was expensive, and updating the collider was killer. Optimizing the mesh generation required just rolling up my sleeves and hammering on problem points the profiler picked up. There was only so much I could do here. I made a few loops take up less time and simplified how the curve was extruded, but ultimately didn't gain much. Optimizing the collider yielded significant boosts. Initially I was using a mesh collider for the snake, which was brutally expensive. Instead, I switched to approximating the shape with multiple capsule colliders. I also switched to only updating those colliders when the snakes were visible. Problem 5: Device Hangups The 4th Gen iPod just isn't that good a machine. There was an upper bar that I was never going to exceed. I turned off several features for the low-end devices. Motion blur had to go, and some of the background VFX get turned off dynamically. Dumb Luck I reached a peak on the iPad 3 of between 45 & 55 FPS, leaning toward the low end. Then I updated Unity to the latest release and the average became closer to 55-60. So... that was nice. Conclusion There were a bunch of other tiny things that needed tweaking, but the above had the most significant impact on performance. I managed to hit my iPad 3 target. 4th Gen iPod fell a little below the mark - it averages closer to 25 FPS, whereas I wanted 30, but I can live with that. It was definitely a *long* week of banging my head against a wall, so I'm very glad I was able to hit my performance targets.
  4. Thanks! I knew I was ranked, but I didn't even know there was a ranking sans-IAP. ^^   Alas, I'm actually adding some IAP - just one to remove ads, but still. There's been a fair bit of demand to it, and I wasn't thrilled about adding it, but... here we are.
  5. Thanks! Yea, it's getting a lot of kind words in both iTunes and Google Play. Though download mass is hugely different.
  6. Preamble [color=#444444][font='Helvetica Neue']Alien Star Menace is available now for iPhone & iPad on the Apple App Store and on Android in the Google Play Store.[/font][/color] Background [color=#444444][font='Helvetica Neue']Alien Star Menace started with a simple goal (if you're a dumb person) - make 7 small games in 7 days. There was some downtime at my day job, and I was itching to put another game out there; I hadn't released my own indie game since Cuddle Bears three years ago. So I browsed the net for some art assets I could use and jotted down some designs.[/font][/color] [color=#444444][font='Helvetica Neue']The more I looked over the list, the more "strategy game in space" stuck out at me. I knew it wasn't a 1 day task. But it was interesting me more than all the other ideas I had. So I decided to throw out the original motivation and instead undergo a more ambitious project.[/font][/color] [color=#444444][font='Helvetica Neue']I grabbed the art from Oryx Design Lab, prototyped some early gameplay in Unity, and Pixel Space Horror was born. Obviously, that name changed later in development. But we don't need to go into that.[/font][/color] What Went Right [color=#444444][font='Helvetica Neue']TIGSource Forums & Early Web Builds[/font][/color] [color=#444444][font='Helvetica Neue']The initial design of the game had some fundamental flaws. The Action Point system - which was modeled after Hero Academy's - didn't work for this kind of strategy game. It encouraged standing still and letting enemies come to you. Units couldn't move or shoot through allies. Hallways were too narrow. All things which seemed OK as I was developing but which very much weren't.[/font][/color] [color=#444444][font='Helvetica Neue']I was using Unity, so even though the game was targeting mobile devices, it wasn't terribly hard to push out a web build for public feedback. The folks at TIG immediately rallied against the game's obvious flaws. I fixed those issues, and through a steady stream of feedback polished up other pain points in the game.[/font][/color] [color=#444444][font='Helvetica Neue']Flexible Milestones[/font][/color] [color=#444444][font='Helvetica Neue']My mindset on milestones has always been to try to respect them vehemently. No new major features after alpha, certainly none after beta, Time leading up to an RC candidate should be all about bug fixing.[/font][/color] [color=#444444][font='Helvetica Neue']I don't think I've ever worked on a game where these rules actually held, and Alien Star Menace was no exception.[/font][/color] [color=#444444][font='Helvetica Neue']Case in point #1: I didn't have a finished title screen until a week before submission. I had some very pixel-art looking text. I wasn't even sure there *was* a title screen being worked on until the artist surprised me with it. What's there now is much, much better than what used to be there.[/font][/color] [color=#444444][font='Helvetica Neue']Case in point #2: Two days before RC, I decided I absolutely hated the banner ads. They made the entire game look hideous, and they were almost certain to make no money. So I switched to Unity Ads - interstitials. Which were, by the way, scary easy to implement and have been giving pretty good return rates for the number of players I'm seeing[/font][/color] [color=#444444][font='Helvetica Neue'].[/font][/color] What Went Wrong [color=#444444][font='Helvetica Neue']Content Heavy Design[/font][/color] [color=#444444][font='Helvetica Neue']I've come to accept that level design is not a strong suit of mine, and it saps away energy like nothing else in game development. I gradually learned which things in my levels worked better than others, but it was hard learning and not terribly rewarding personally.[/font][/color] [color=#444444][font='Helvetica Neue']I'm not unhappy with how the levels turned out, I actually think a lot of them work really well, but I think a talented level designer could've done better and had more fun doing it.[/font][/color] [color=#444444][font='Helvetica Neue']Writing was also stressful. It was something I enjoyed initially - I like telling jokes and crafting stories. My enthusiasm came and went for this; I think I would've benefitted from having another person punch up the text some.[/font][/color] [color=#444444][font='Helvetica Neue']Art Direction[/font][/color] [color=#444444][font='Helvetica Neue']Sometimes I trick myself into thinking I have an artistic eye, and then I try to use it and quickly realize I was horribly, horribly wrong.[/font][/color] [color=#444444][font='Helvetica Neue']I had a huge struggle trying to get the later levels to look good. Once you touch down on the alien planet (spoiler), the background changes - a starfield didn't make sense anymore. And I had no idea what to do.[/font][/color] [color=#444444][font='Helvetica Neue']I hacked for days trying to get something that looked good. And I was never satisfied. I'm still not satisfied. I came up with a neat, creepy visual effect, but the backgrounds still feel flat overall[/font][/color] [color=#444444][font='Helvetica Neue'].[/font][/color] What's Undecided [color=#444444][font='Helvetica Neue']Task Tracking[/font][/color] [color=#444444][font='Helvetica Neue']I signed up for a bug tracking system over at Axosoft. I used it for about two days before I nixed it. Instead, I either fixed bugs as I went or jotted them down in a notepad. It might've helped if the project had more people, but for a one man game it didn't do much for me.[/font][/color] [color=#444444][font='Helvetica Neue']Marketing[/font][/color] [color=#444444][font='Helvetica Neue']I put together a pretty comprehensive Press Kit. I wrote over 160 e-mails/messages to various reviewers & YouTubers. I kept running dev logs on Tumblr, TIGSource, and GameDev (that last one not as frequently). I posted almost daily on Twitter and less frequently on Facebook. I talked to everyone I met about my game, including a few dates who couldn't have been less interested ;). I attempted community involvement wherever I could fit myself in.[/font][/color] [color=#444444][font='Helvetica Neue']It's hard to gauge the impact this has all had. The initial launch has been slower than I'd like, but there's time for it to build. [/font][/color] Conclusion [color=#444444][font='Helvetica Neue']It's still a little early to determine if Alien Star Menace was a success or failure. I'm writing this while everything's fresh in my mind, and the game hasn't been out long enough to get a good impression of its performance.[/font][/color] [color=#444444][font='Helvetica Neue']I'm pleased with how the game came out. It's my largest independent work, and in some regards my best. I think it brings a type of strategy game to mobile that was previously missing or underserved.[/font][/color] [color=#444444][font='Helvetica Neue']I'd like to thank owmywrist for her constant support, testing, and for listening to my endless gamedev babbling, multitude-ofcasualities for her naming help and press kit advice, pythosart for her fantastic title screen art which I used in a ton of different unintended ways, ua86 for some really solid gameplay advice / feedback, and missmesmer for basically being my #1 Tumblr fan.[/font][/color] [color=#444444][font='Helvetica Neue']I hope you enjoy the game, and I'd love to hear your feedback![/font][/color]
  7. Who needs those kinds of headaches? ;)   In all sincerity, I was debating putting out a web build. It would be stripped of some of the social elements, but the game would remain intact. I haven't 100% ruled it out, but right now demand + the player base hasn't warranted it.
  8. My latest game was released! For both iOS and Android - I didn't intend to make an Android build, but it turned out to be way easier than I thought. Here are the relevant links: App Store Google Play Press Kit Feedback, comments, and ratings are welcome. I'll probably write up a post-mortem in a few days. Currently heads down on marketing. Here are some of the final screenshots that made it into the marketplaces:
  9. Alien Star Menace is in review with Apple right now and should hopefully be available for iOS devices in the next few days. Here are various promo elements I've been putting together for marketing: Follow Alien Star Menace on Facebook
  10. ferrous - ctrl+s saves the scene but not the project, which means you can lose prefab changes and the like. You have to use File -> Save Project to ensure that. And I don't believe it has a keyboard shortcut.
  11. I've just released the second demo for my game Pixel Space Horror. Play the Second Public-Ish Demo Here I'm not going really wide until the alpha build, but I've made enough progress to push up another "kinda private" build for feedback. A lot of changes: Action Point system has been entirely overhauled You can now move & fire through allies. Significant camera changes 15 levels & 12 units fully implemented and playable Sound & music (though you may not be able to hear it in the web build Proper level & unit unlocking and progress saving AI improvements. A million other tiny things. CHEATS: W - Win current battle L - Lose current battle R (in lobby) - Reset game Known Issues: The unit balance is still way off. Level balance is also way off. The Commander's special power isn't working right. The enemy doctor doesn't behave correctly. Any and all feedback is welcome.
  12. [color=rgb(68,68,68)][font='Helvetica Neue']Rebalancing[/font][/color] One of the criticisms of my pre-alpha demo of Pixel Space Horror was the balance - not so much the unit-to-unit balance (which was and still is broken), but the overall game balance. The action point (AP) system encouraged sending in a single unit, doing as much damage with him as possible, and then either pulling him out or watching him die. I've made a number of changes to the balance to address this and other issues: The largest change was to completely change the action point system. Instead of 5 global points that can be used however the player wishes, we now have 2 points per unit. A unit can move twice, attack twice, or move and attack. [color=rgb(68,68,68)][font='Helvetica Neue'][font=inherit][size=1][/font][/font][/color] When a unit can't be moved again that turn, I darken it to make this clear to the player. I'm not thrilled with the UI - it takes up too much room and isn't especially pretty - but I haven't found another alternative. (I don't show the UI for the enemies). This had the side effect of making enemy turns take too long. A map with 10 enemies would take 4x longer per turn (20 AP versus 5). To counter this, the enemies can only ever use up to 10 AP max. It means some enemies won't move every turn, but it keeps battles faster. It also gives me a dial to turn if I want to add harder difficulties. The next (and simplest) thing I did was rescale all the numbers. Instead of hit points in the range 2-10, they're now in the range 20-100. Attack has been scaled appropriately. This gives me more room to play with numbers, which is especially important for my splash damage units. The final task was to allow units to move & shoot through allies. This was a constant complaint, and there was no real design thought that went into it prior - I just let the pathfinder do its work naturally. But most strategy games allow moving through allies for a number of reasons: it allows for more strategies, and it awkwardly confines units less. You still can't move through enemies, and only a few attacks allow shooting past them. I think these addressed most of the concerns, and the game does feel better as a result. The balance is still horribly broken, but that'll be fixed as I playtest more.
  13. During this phase of development for Pixel Space Horror, I'm focusing on content. Specifically, I'm trying to get the first 15 levels roughed in - not final, definitely not polished, but playable. I'll keep this update short on words and instead just show you: How am I going to rationalize a graveyard on a spaceship? I'm not.
  14. I spent most of the weekend adding the vast majority of units & enemies for Pixel Space Horror that will be seen in the game. The majority of the implementation details were already there: the game already supported most of the attack types & buffs that units would provide. I created a simple test level to make sure everything was behaving - that units were attacking and moving correctly and nothing exploded. So here it is, the full cast of Pixel Space Horror: The units aren't done-done. Visually, most of the attacks use stubs. I want to add flashy VFX (particle systems, camera fun, full-screen effects) to make the game fun to watch. Not quite Atlus-level. I don't have those resources, and also I don't want to slow the game down the way Atlus does in their games. The stats need heavy tweaking - heavy, heavy tweaking after a lot of playtesting - and the writing for them isn't final.
  15. Update 4: Pre-Alpha Demo [color=rgb(0,0,0)][font=Verdana][background=rgb(252,252,252)]I wanted to put together a small web build, mostly for friends to evaluate. If you want to try, [/background][/font][/color]here's the link.[color=rgb(0,0,0)][font=Verdana][background=rgb(252,252,252)] I'm not putting it up in Playtesting yet - it's a little early to get a huge number of eyes on it. Feel free to leave any comments/feedback. Pointing out bugs isn't as useful at this stage, as it has plenty.[/background][/font][/color] [color=rgb(0,0,0)][font=Verdana][background=rgb(252,252,252)]My goal with this demo was to just make a small slice of representative gameplay. To that end, there are:[/background][/font][/color] 5 levels 5 available units A handful of different enemies Stub UI - this definitely isn't anywhere near complete [color=rgb(0,0,0)][font=Verdana][background=rgb(252,252,252)]None of the numbers/unit stats are final, and the levels definitely still need tweaking. The "story" will get edited, but the jokes in there are pretty close to what the game's humor will be like. The UI flow will be similar, but I've scheduled in a lot of time for heavy polish.[/background][/font][/color] [color=rgb(0,0,0)][font=Verdana][background=rgb(252,252,252)]Features not even remotely represented:[/background][/font][/color] Unit unlocking - you don't actually start with 5 units Level ratings - you'll get stars based on how well you do Multiple win conditions - not every mission requires you just kill everything [color=rgb(0,0,0)][font=Verdana][background=rgb(252,252,252)]So far I've only put it in front of one other person. She tells me there are some crash bugs (I have yet to see them myself). She also tells me it's pretty easy. It is only the first 5 levels though, so being pretty easy is kinda the point. Oh, and please forgive the font. I'll be changing that ASAP.[/background][/font][/color] [color=rgb(0,0,0)][font=Verdana][background=rgb(252,252,252)]Anyway, lots of forward progress! I'll probably have an alpha build before the month's end which I'll push out to more people.[/background][/font][/color]