• 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

119 Neutral

About Nemox

  • Rank
  1.   i find that event processing is usually easiest handled at the time it occurs, where it occurs. this avoids the need to store events and process them later, or use messaging systems or "event handlers" and such.  although there are some events which are best stored and processed later all at once.   so for example, in the code that adds an item to the inventory, your invetory.add_item() method, you'd add a check like:   if (item==SWORD_ULTRA_BADNESS) message("You got the sword of ultra badness!");   generally speaking, storing data when you can just process it now is probably inefficient, overkill, and over-engineering.   however, i suspect we (gamedevs) all tend to over-engineer things a bit.     Indeed, but there are some things I will definitely need it for.  For example, if a character has a passive special ability that lets him instantly attach to walls and climb up them, I'd much rather that work based off an event rather than having to hard-code it into the controls and have to handle it for every individual character.
  2. Thanks for the posts!  I'm sure this will be super helpful! 
  3. So a major part of what I'm going to be coming up on is making things happen at certain times based on what's going on, but I haven't the slightest idea about how to catch stuff.   For example, I might need to have something happen when the player equips an item.  I've modded some games where I've seen functions like OnEquip, OnDrop, OnPickup, etc.  But some unrelated script will pick up on it somehow.   Can anyone enlighten me on this?  I'm using C#, by the way.
  4. I figured out a very simple solution that I can't believe I missed before.   I can simply have different stat types with their own typed methods for de/buffing them, and accomodate this through my StatusEffect class/struct!  No complex interfacing necessary.   So like, I can have: StatusEffect: FloatStat   mass +1 VectorStat   centerOfBuoyancy  -Vector3.down BoolStat   underwaterBreath   false     I suppose my main issue now is deciding how I want to set up my stats for different types of entities.  I thought about having them be "plugin" types of things.  Like, a ninja and a car both have some degree of Strength, but a car doesn't have Wisdom.  'n' such.  But this does bring about some issues regarding consistency.
  5. I've just learned of Interfaces, and I think I'm trying to do something similar.  I'm not exactly sure what the deal is with semantic types, but I know a few basic things.   I've got (let's say 3) types of stats:  Floats, Vectors, and Bools.  I'll need to make a Property within the stat that gets/sets the stat's value based on type.  How does one go about implementing this?
  6.   Ahhh, this makes a lot of sense!  I'll still have to do some reading and swish it around in my tiny brain for a bit, but this may very well be the solution I'm looking for.
  7. Hmm...  Maybe what I need at this point is a way to reference stats as a list, but to override the property in subsequent classes.   For example: Entities have Mass and Density stats. Characters have those [i]and[/i] Agility and Wisdom stats.   The AddBuff() function of an Entity would list { Mass, Density }. But when called on a character (even when referring to its base Entity class), it should return { Mass, Density, Agility, Wisdom }.   Is there some way to do that instead?  Is that what override functions are for?
  8.   Yeah, that's the easy part.  The hard part is when it comes to other types of variables like Vectors or Bools and searching for the proper stats to modify.
  9. So I've got an idea of how I want to handle stats in my RPG, but I'm not sure if I can implement it this way.  I'm using C# in Unity.   All entities in my game have some physical properties which can be modified.  This is stuff like mass, density and the like.  Just as any other statistic, I want to be able to modify this with various (de/buffs).  For example, an object that suddenly gets heavier will have its mass buffed.   So every entity needs the ability to be de/buffed without having its base stat values messed with, and every stat needs a minimum and maximum value that the buffs can't exceed.     Specific types of entities such as characters have special stats like Agility or Willpower and junk.  These are straightforward enough.   But when it comes to things like vitals (health/energy), there's some issues.  Some characters can have vitals other characters can't.  (Like Death Knights in WoW having Runic Power, Warlocks having Demonic Fury, Mages Warlocks and Priests having Mana, etc.)     So when I'm buffing an entity, I have to check whether the entity has any of these stats to buff in the first place.  And another thing to keep in mind is other types of stats that may need altering without messing with the base value; Vector3s like center of mass and buoyancy, bools like whether or not a character can breathe or fly, etc.   How can I handle all these different stats in a generic manner?  Is it a lost cause?
  10. I have been using a rigidbody with capsule collider to relative success, but to know what ground a character is standing on, I've had to rely on keeping statistics on every surface the character is colliding with, then I'd create a composite normal out of all ground-angled normals. It works relatively well, but it feels heavy and messy, and still has its own pitfalls. Yet I see other games which seem much more simplistic when I play with them, and I want to achieve similar levels of elegance.
  11. So I've made a ton of attempts at creating my ideal character controller, and I've got something at least functional. But it's messy and feels rather heavy-handed in many cases. But rather than go into detail about all my trial and error, I'd like to learn as a blank slate about what other people do. What types of character controllers are out there? What shape are they, and how many raycasts do they rely upon? How flexible are they and what pitfalls do they have? Are there some good rigidbody designs, or do most require manual interaction with physics? Is the standard capsule collider a poor choice, or is it workable? UDK's looks interesting but I haven't figured out how to start analyzing it yet. Your input would be most appreciated. ADDENDUM: I suppose what I'm most lost on is how to best determine what the normal of the ground is a character is standing on. There can be many influences, but how to know what to choose?