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

bubbaray97

Members
  • Content count

    25
  • Joined

  • Last visited

Community Reputation

217 Neutral

About bubbaray97

  • Rank
    Member

Personal Information

  • Location
    Texas
  1. Thank you all for the suggestions.   I really do appreciate it.   A few responses...   @iMalc and @Stroppy Katamari....yes new laptop/getting Win7 on this laptop will be the plan most likely...doesn't help for this trip though...of course since its a little after midnight tonight and just wrapped up today's meetings that may not matter anyway...   @Stroppy and @ppodsiadly...I will checkout MinGW in general though...as I'm not using anything MS specific (at least not on purpose)   @eddie....yeah I was aware of that, but really didn't want to change all my code.   I considered using that as a macro in replace for what I wanted, but that just seemed ugly.   And lastly....@Stroppy....technically I have admin rights on my work laptop so I *could* install it without having to talk to IT, but considering I left development over 10 years ago as a profession it would be a challenge to explain to the company why that would be of value to them....but far more importantly...per my employee aggreement (which granted it easily challenged in court) anything done on company property becomes IP of the company and I'd rather not give them my game for free :)   So it seems like I'm left with... 1) Change IDE 2) Change my code (either LCD, or using function like eddie suggested) 3) Upgrade my "travel" system   Kinda what I thought (although to be honest I really hadn't considered the IDE swithc before, not sure why)....but thought it was worth the chcek.   Thank you all....
  2. I'm looking for an option (easy option) to use c++11 range-for loops in VS2010.   On my primary machine I have Windows 7 and VS2012 (which I upgraded to specifically to get more of the C++11 features).    But my "real job" has me traveling quite a bit lately and at the momment I'm in a hotel in London (I live in the states).    While my work laptop has 7 on it, I can't really install VS on it to do a non-work project.    I had an old laptop I brought along thinking I could keep working on my project, but unfortunatly it has WinXP and can't get VS2012 installed on it.   So I'm back to VS2010, but it doesn't support everything thats already in my code.    Google has sadly failed me in looking for a way to get range-for support into 2010, so I hoping someone has a suggestion.    I'd really like to be able to keep working on my project while I'm in the hotel, but I certainly don't want to go through all my existing code to replace all my loops...(espcially since when I get home I'd want to switch them back...)   Thanks B  
  3. Here you go....http://agilescout.com/best-agile-scrum-tools/   reviews of tons of tools...some free, some not  (I didn't read them, could be a fake site, but they at least listed a LOT of the tools out there)   We used to use xPlanner at my last startup (one of the free ones on the list)....worked fine when we were small, but outgrew it when the team hit around 50..probably outgrew it before then, but thats when it got painful and we switched.    Based on the screen shot on the review site though looks like its had some major changes...   The dev team (which I'm no longer part of) now uses Version1.    Its most certainly not free, but well we got acquired 6 years ago and now the company has 55,000 employees so that wasn't as much a concern anymore      They seem to really like it and it integrates with lots of our other systems.   Bear in mind this is for Enterprise software, not games...but wouldn't think that would matter for a tool like this
  4. I agree with Kuramayoko10, I use FF for 99% of the time when I have a choice (my work machine has only IE and anything else is either blocked or auto-uninstalls).     In the one other percent I use Opera for one aspect of a particluar online game because of the way it lets you set tabbing macros makes one aspect of that game soooo nice.
  5. Thanks I'll certainly check those links out.   And yes I'm using the factory pattern already for everything related to the GUI.     The main reason was for improved random access.     For example there are LOTS of Units in the game.    But the unit is a fairly basic class.   It has stats about that particular unit, but all of its base charateristics (and special rules) are determined by what ShipClass it is.  And there are also lots of those.    The name if you will for a ShipClass is stored as a string (which is the key in its map) so I can quickly lookup the details about a unit's shipclass withouth having to traverse a vector looking for the shipclass which has a given name.    There are similar relationships say from Fleet to Unit, or Prov to MapCell...   I might have gone overboard here in that they don't all have to be maps (most of the others are pretty small datasets so traversing a vector probably wouldn't be a big deal performance-wise), but the unit to shipclass relationship is really what drove me down this path
  6.   yes sorry some details coming below...     Very true, but in this case I didn't design the game rules...its a boardgame I used to play back in high school and college (oh too many years ago ).     and I don't have to tackle them all at once, just looking to make sure my design would let me get there eventually.   The game was sold as a series of modules which all expand on the core rule  set.    If you were to include all the modules you would get the stats I listed above.   And yes its very complicated totally nerd out kind of game   The game is Federation & Empire by a company called ADB (Amarillo Design Bureau  can be found at starfleetgames.com).     To be clear...I'm building this game for myself and I have no legal right to sell, distribute, etc anything related to the board game (and certainly not use the licenses they in turn have with Paramont Pictures).   I've just always liked the game and since I left professional development many years ago, this is my side project that reminds me I still have some idea how to code... I have no plans to ever let anyone else have a copy...but doesn't mean I don't want to do it right.   anyway onto details about my design   class CoreGame { private: /* various functions related to the startup of the game itself called by GameInit() below which I've removed to keep this shorter*/ void ChangeGamePhase(int state, int newState); void AdvanceTurn(); int GameYear; std::string GameSeason; int PlayerTurn; int GameTurn; int GameStep; public: CoreGame(); ~CoreGame(void); void GameInit(); void SetNextGamePhase(int &state, int newState); int getGameYear() { return GameYear; }; std::string getGameSeason() { return GameSeason; }; int getPlayerTurn() { return PlayerTurn;}; int getGameTurn() { return GameTurn;}; int getGameStep() { return GameStep;}; //this is my image resource manager class ResourceManager<ImageResource> RM_Images; //pointers to the classes for various game states (again removed some to keep this shorter ECONSTEP* econstep; GAMEMAP *TheMap; PRODSTEP* prodstep; std::pair<int,int> ActiveObject; std::pair<int,int> LastActiveObject; //all the various game objects std::map <std::string,SHIPCLASS> ShipClass; std::map<int,RACE> Race; std::map<int,PROV> Prov; std::map<int,PLANET> Planet; std::map<std::string,MAPCELL> MapCell; std::map<int,UNIT> Unit; std::map<int,FLEET> Fleet; };   Then as an example here is the class for my econstep   class ECONSTEP { private: std::map<int,ECONHIST> EconHist; ///this is a object for holding some historical stats FlowLayout* flow; ///the pointer to the root of the screen bool surveyStatus; //various game logic flags bool tugStatus; void CalculateIncome(); //game logic for this step that happens without user input void InitEconStepControls(); protected: public: ECONSTEP(void); ~ECONSTEP(void); void InitEconScreen(); // generates the widgets that need to be on screen and sets up listners for input void InitEconStepScreen(); void ConductSurvey(); //just one of the various logic steps which may happen as a result of user input };   one last example....this is for one of the game objects themselves (a race)   class RACE { public: RACE(void); ~RACE(void); std::string RaceName; std::string ShortName; int RaceID, iOffMapProvs, iOffMapMinor, iOffMapMajor, iOffMapSB, OrigOffMapProvs; int iCredits, iCommandPoints, iSurveyTotal, iSurveyShips; //logic functions (in this cas related to econ int DetermineOnMapProvs(); int DetermineOnMapMajor(); int DetermineOnMapMinor(); int DetermineCapitalMajor(); int DetermineCapitalMinor(); int DetermineCapturedProvs(); int DetermineContestedProvs(); //these should be private, but haven't moved them yet std::multimap<int,std::string> ProdQueue; //hold the allowed production for each turn int team,iEconStatus; std::map<std::string,int> mothballs; //holds lilst os reserve units and count }; I used those examples because they are all related.    But the question was asked about logic, you can see there is some above, but the really gory rules come in the ShipClass class. which I haven't needed to spend a ton of time on yet as the real differences come in how units move and fight and right now I'm building out most of the logisitical related aspects of the game (inital unit placement, econonmy, production, base maintence, that type of thing)
  7.   Full path would be somethign like   c:\games\bob\cool\image.png Relative path would be something like   cool\image.png  or ..\cool\image.png   So one question is in your code where you are loading resources which method are you using?   I'm assuming relative path so you need to make sure your .exe is in the right place to "find" the resources by following the "path" laid out in the code.
  8.   I think I have a bad design.     I’d appreciate some pointers or directions on how to evolve this design.   This game is a port of a hex-based board-game.   It’s a pretty complicated board game (400 pages of rules) with 1000’s of different units, many with LOTs of special case rules.    My code is in C++ and using Allegro as well (although that is pretty hidden in my design, I could swap that out if I wanted too)   At a high level I have a class for the game itself which includes the core variables about game state, maps of all the core game elements and pointers to the major core steps.   There are classes for each of the core game elements (players, units, fleets, planets, etc.).    As previously mentioned the actual instances of these elements are in their own std::maps in the core game class.   For each major phase of the game (economics step, production step, etc…) there is a class which contains all relevant information for that step (screen initializations, game logic for that step, listeners for input, etc.).    There is a pointer to the instance of each of these in the core game class.   From a GUI standpoint, anything that needs to put something on the screen (or for that matter interact with the human player) calls a GUIFactory class, which in turn calls classes for the various screen elements (button,image, dropdown, etc.).   I’ve further broken it out that those classes call a separate library of classes for actually rendering.   My class hierarchy is pretty flat for the core elements, although there is quite a bit of inheritance going on the GUI side (some layers are from the library though).   Anyway it does work…it’s just I’m barely scratching the surface on the rules/game content that I need to create and its feeling fragile/difficult to maintain already.   And I haven’t even looked at some of things I know I need to tackle like network play or if I wanted to make an AI player.  Maybe I have done it “right” and it’s just a complicated game…but before I get too much further I thought I’d ask the experts. Clearly this isn’t enough information for you to redesign it for me…because I don’t want you too…I want to do it [learn better that way]…but some pointers on how I should be thinking about this would be appreciated.       Happy to post code if you need a better explanation.  
  9.   I have read both the 2nd edition and 3rd edition.   I found them both to be great books.   Haven't read the 4th addtion, but I would assume its pretty good. Honestly I was just looking through all the game dev books on my shelf and thats probably the one I would recommend the most (of the ones I have).       Also the "Introduction to <xxx> Game Programming with xxx>" books are usually pretty good, although you have to look through them first.   Sometimes they spend half the book covering really basic C++ stuff that you probably already know.   Bear in mind, I'm not a professional game developer...just a hobbiest....
  10.   again that goes back to what you consider by "practical"....if you're just looking for a "backup career" then marketing might not be a bad choice...I'm a hobby game developer (having been a professional non-game developer in the past) and professionally I now manage a team of Product Managers.    My peers in Product Marketing do hire college grads with marketing degrees and honestly someone with an art background would get a leg up (and moreso in our UXD team).   And then you can look at the statistics that say the majority of CEOs in the world have a marketing background, etc, etc....    so yes marketing can be a very PRATICAL career path....   BUT I don't think from what I've read here that marketing enterprise software is something you want to go do.   Nor does it sound like going down (up) the management path is really what you are after right now either.   My advice...just follow whatever your real passion is right now...give it a go and put all you can into it.    As a college age "kid" the impacts of failure are smaller (I assume you're not married and supporting six kids :))    And the upside...(landing a carear you love) is worth it....   (on a side note you also mentioned a general business degree...IMO not a lot of value there, generally if someone is looking to hire a BA they want a MBA, not a BBA...I think it would be better to pick a specialization [marketing, operations, etc] unless you are thinking about going into sales)
  11.   I agree with warnexus.    I'm also building a turn based game and my first design was lets just say less than ideal.   But I learned a ton about how I really wanted my game to work.    Chances are at the stage it sounds like you are in your going to end up changing a few times away.   My recommendation would be to just map out what you want a player to be able to do on their turn.   Then build out those functions.    when you get to the point of advancing the turn chances are a few options will present themselves.   Maybe not the "best way" to go about design, but certainly one that will make you learn.    Plus as warnexus pointed out, once you actually have somethign going it will be easier for folks here to give "real" advice on direction.    Also I've found (as a hobby developer) if I spend too much time designing and not coding...its easy to get sidetracked with everything else in my life and not advance my project while I wait for "THE design"
  12. yes data driven was the path I was following and then (like many hobby developers I'm sure) got excited about something "new" and started thinking how can I use that?   [quote name='ApochPiQ' timestamp='1358476745' post='5022742'] If at any point you don't have enough stuff to make a group (i.e. fewer than 3 of something), stop building additional layers of organizational abstraction. [/quote]   Excellent rule of thumb there....thanks for the tips
  13. LOL   Ok, I can't do that.    But was thinking about a similar problem for my hex-based war game.   Where like the question above each unit-class can have special rules that exempt them from the "normal" base rules.    Now this can be more complicated that just the number of dice.    To give two different examples... ALL units move at 6 hexes per turn.    Well except a select number of fast units.   They move 7 per turn. ALL units calculate attack damage with "formula Y".   Welll except for "maulers" which use "formula Z". and so on...   Initially I thought about just making those flags in my unit data table and the code would just check the flags and deciede what to do.    With all my recent reading though it seemed like a componet system might be a nice way to handle this.   I think (please correct me dragongame) this is similar to what the orginal question was about s/he just gave the dice throws as an example.   So based on that is going the componet route just overkill?
  14. Thank you all so much.    I really apprceite all the input.    My "real job" had me busy today so didn't get to work on this yet today.   But last night i did at least notice one brain dead thing I was doing in my GUI creation loop.   Anyway before I do any more on the game itself I'm going to put some more work in on this "engine" part for awhile using your advice.   Hopefully here in a few days I can repost how its all better (and tested in release mode :))   Thanks