• 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.


  • Content count

  • Joined

  • Last visited

Community Reputation

1955 Excellent

About BCullis

  • Rank
    Advanced Member

Personal Information

  • Location
    San Diego, CA
  • Interests
  1. Prolific relative to the pace prior to the 13th (which was more like once every few weeks?) On the other hand, the up-tick in post frequency got me to come back and check things out, so...
  2. Has anyone else noticed that since the 13th of July, the gamedev.net facebook page has been posting new forum threads at an abundantly prolific rate?  I don't think it's quite to the level of "every new post becomes a link" but in attempting to scroll back to when they started, I could be convinced...
  3. To your first question: if you're writing the export script for your level file format in python yourself, you can include any information you want from the scene, so I'd say it's certainly possible.  That would let you do all "level building" directly in Blender, and then hit your custom export button. Second: I'm pretty sure there are a large collection of cast-shadow tutorials for d3d11 out there, but to your question about using Blender the way you want, someone more savvy with lighting and pre-baking in Blender specifically could probably answer that part more comprehensively than I.  My experience with it is limited to modeling/animation.
  4. You might want to look at implementing different game states to the overall game loop, so that you don't have to fit the logic for every possible state of the game into one monolithic Update() method.  That's not a brief topic though, (and I suggest doing some googling on "managing multiple game states" even here in the forums).     As a rough explanation, when your game is playing, some variable somewhere should know that the game is in  regular "play mode".  That's a state, and update should only do stuff that's pertinent for "play mode" updates.  Things like decrementing the timer and checking for "is time up yet", for example.   When the timer reaches zero, state should switch to "endgame mode", and then update calls should have a completely separate set of logic that makes more sense for the game during the post-play time period.  Things like "was the high score good enough to put on the board" and "did the player press 'restart' ", for example.     However, in the interest of a quick solution for now, it sounds like "I already have it in a separate function and I call it where the rest of my [end] game logic goes" should result in only calling the score-comparison once.  What does that code look like?
  5. Here's one solution someone used, seems several people have had success with it according to the comments.
  6. Why can't it just run once?  It's something you only need to do once at the end of a game session.  Certainly no need for including it in every frame. I'd lean towards sticking it in a static utility function just for ease of editing later.  Then in whichever method handles "what happens when a game is over" you just call over to the score-checking method and shuffle around high score order if necessary. There's no "one best way" (arguably) to do it, but there are certainly easier-to-maintain ways.     First, just make it work.  Then, if you want and have the time/need, make it work better :)
  7. Not really, we probably SHOULD but the game gets pretty constantly playtested and we're establishing some more structured testing rules now (to include a dedicated "build machine" and a better bug tracking db).  One thing I've enjoyed about Unity is the constant prototyping environment.  You can open a new scene just to test a specific component, muck about all you want, then just throw it out when testing is done or never include it in the check-in so you have a handy sandbox ready for other change-testing. There are certainly unit test frameworks for C# ready to go, but there's so little lag time between writing a module and being able to test it in-game that we haven't really seen the need to get very test-oriented.
  8. I grabbed a random mob prefab from the current build (since I have it on my home machine right now), here's the component list:   Mesh Renderer Mesh Filter: [none] Tk 2d Sprite Tk 2d Sprite Animator (those four come bundled together, tk2d is a 3rd party sprite handling library we grabbed since the project started before native 2d support really took off) Audio Collection - our mobs own their sound collections World Object - base component inheriting GameObject that we use for most in-game world-contextual objects Character Module - component for anything that has sentience (self-movement and physics mostly) Sprite Module - Where we control worldObjects' sprite changes (new animation clips/states) Combat Module - component for any objects that can deal/take damage Ability Module - component handling our ability system: any kind of "action" a combatant can perform (things like "meleeAttack, fireball, laser, etc") AIControl Module - lets a tweakable FSM control this object's actions (player character has a playerInput module here instead)   And that's it. All of those components have custom editors (the AI FSM even has its own visual scripting tool we wrote custom) and aren't light on the actual backing code.
  9. Cryamore is using Unity for a 2D game, and once we built a fairly straightforward set of 2d-related utils for our specific game style (like using y-axis movement to push/pull things in z-order), it's been really smooth sailing getting things working with very little interference from the system.  The biggest hump to get over is using the tools like they're intended (going with the paradigm vs against it).  That was my particular struggle, the more I've learned the easier it's gotten to make things happen with little to no engine complaints.
  10. Exactly.  The dat file had previously serialized out an older version of the struct that held a single integer instead of an array.  As the dat file was external to the program context, nothing updated its internal structure when you changed the code itself.  Deserialize was reading this old data type and choking when your explicit cast said "now populate this array field with this integer".
  11. So it's choking on the deserialize line.  Try this: delete the .dat file and see if a newly created one plays nicer with the current code.
  12. There should be more information in the Console tab/window, to include the full stack-trace of the error/output (when you select any entry in the Console list, i.e. one left click).  Each entry in the trace should tell you which file it was in for that step, and which line the function call for that step happens at.  Resize the console tab to see more (as the stacktrace content appears at the bottom of the window), or just highlight the whole mess and paste it into a notepad or something to read.
  13. So I know that in Photoshop and Sketchbook you can define custom brushes that let you define randomized rotation and spacing of the individual brush image.  Looks like you can do something similar according to this tutorial with Gimp.
  14. How are you creating the component fbx's?  (The head, torso, etc).  I'm guessing you rigged and animated the whole model, then broke it up into parts?
  15. "An integer can't be converted to an array of integers" Which line is throwing that error?