• 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

3126 Excellent

About nobodynews

  • Rank
  1. Lactose is correct, but as an addendum you can do something similar to what you did (using the same variable name) if you utilize member initialization lists. So your constructor could be as follows: GameObject::GameObject(int x, int y, int w, int h) : x(x), y(y), w(w), h(h), _destroyed(false) { rect.x = x; rect.y = y; rect.w = w; rect.h = h; } Without getting into the merits of using the same name for the parameters and member variables, this is just to note that it's possible.
  2. void CInputManager::SetRawButtonState(const RAW_BUTTON pButton, const bool pState, const bool pPrevState) {     for(auto &context : mContexts)     {         if(context.IsActive())         {             if(pState && !pPrevState)             {                 if(context.MapButtonToAction(pButton)) break;             }             if(context.MapButtonToState(pButton, pState)) break;         }     } } FWIW I believe this should perform the same and I find it to be simpler to read.   edit: and if you want to compress it further: void CInputManager::SetRawButtonState(const RAW_BUTTON pButton, const bool pState, const bool pPrevState) {     for(auto &context : mContexts)     {         if(context.IsActive())         {             if(pState && !pPrevState && context.MapButtonToAction(pButton)) break;             if(context.MapButtonToState(pButton, pState)) break;         }     } }
  3. I know that Visual C++ compiler extensions (in the past and maybe today) would bind temporary variables when passing by reference to non-const functions. This is different from passing a constant by non-const reference though, but maybe early compilers like Visual C++ 6.0 allowed that too for some reason. It wasn't very standard's compliant, after all. Alternately, Johnny Code is remembering wrong.
  4. This can be done in pretty much literally any programming language that you can think of. BeerNutts' suggestions might be easier to get you where you want, but I haven't used them so I can't comment on that. I really don't think switching to C++ and using 'function pointers' is good advice given you know some C#. Side note: delegates are similar to function pointers, fwiw.
  5. There's a lot of stuff that you could improve in your code, the issue you're running into now is that you aren't writing the output as a binary file: fsOut.open("output.txt"); Even though you're using the "write" member function, stream behaves differently since it's not binary. I tested it out and it completed successfully.
  6. There's definitely truth to what L Spiro says, I just don't take as hard-line a stance on it. GLFW is a crossplatform library to make windows and get inputs. Your interests may lie elsewhere in terms of making an engine. I liken it to cooking. If you want to make an Italian dish you might just not have any interest in making homemade noodles so you buy those. Since you like making sauces you grow your own herbs and tomatoes so you have the freshest ingredients that taste how you want them. Not to say you should avoid making noodles! You might really like it and it might be worth it to bring out the flavor of your homemade sauce. I guess this is to say that not making your own noodles doesn't mean you're not cooking. But it might be better if you did.
  7. 1. Should be fine. Why wouldn't it be? 2. This is used to cap the frameTime to at most 250ms to prevent the game loop from taking longer and longer to run as it tried to catch up since the previous frame. Why 250ms? Probably no specific reason. It 'felt right'. With it, the game will update the simulation in 250ms chunks for every frame regardless of how long it takes in real-time. If it takes 1 second of real time to run 250ms worth of simulation and draw one frame then you'll get 1 frame per second and 250 worth of simulation. The experience would be terrible but if it was temporary the player could get past it. It would be a brief stutter in gameplay. If it was more common then the player would have to get a better computer (or you have to write better code). There's no real reason you couldn't change that time to 0.125 or something else. 3. Depends. If your simulation runs every 1/30 second do you want to handle events that occurred between steps? I think most people would say "yes", but its up to you. 4. You probably won't see a difference with just two sprites and without complicated simulation. The main benefits come when you have complicated simulation logic (i.e. physics that uses integration for example), if you want to easily record and play back the simulation, or with multi-player. Think about how two people playing across the planet have to keep their simulations in sync and how that is difficult if both players are running physics at different and inconsistent rates every frame. If you assume both players are on the same rate you don't have to work as hard to keep them sync'd.
  8. Those On* functions are event handlers that are called by the Unity engine. An event handler is just a specific type of 'callback function'. So, are your functions also event handlers? If not, I would suggest some other naming convention. If you're unsure, please explain how you plan on using those functions.
  9. Your bigger issue isn't patents its copyrights. If you want to re-use any of their work you'll need permission. If you don't have their permission you need to create original art, sound, and code. About the only thing you can typically copy is core gameplay aka make knockoff.
  10.   "UI" is a very broad category so it'll help if you expand on the context in which you want to create a UI. Assuming you specifically mean GUIs, there are "WYSIWYG" editors which can help make desktop application style user interfaces. Microsoft's Visual Studio lets you make these for many languages, including C#. This is supported by the Express and Community editions of Visual Studio, both of which are freely downloadable from Microsoft. However, this might not be what you actually want. Unity supports "UI" elements as well for in-game GUIs (for menus and such).   In all cases it still requires some programming knowledge to cause the UI to do something practical rather than just something you look at.
  11. A very simple thing you can do that should work is return different numbers for the different errors instead of using the same number. Also, you should learn how to use a debugger. Vimeo is blocked at work so I can't check how useful it is, but Google suggested this video.
  12. What compiler errors are you getting? Also, I'm confused about what the issue is with the file loading. It sounded like a bug, but then you say the code doesn't compile which implies you haven't run the code. If it is a bug, what is the behavior you are seeing?
  13. Another way of looking at it, is imagine yourself as the normal. On Earth as you walk around upright you are essentially the normal at that point on Earth because you are perpendicular to that point of the planet.   But imagine you are an astronaut and you are in zero G environment, say on the outside of some space station. Your boots let you stick to the outside so you can walk around it. If you imagine yourself trying to walk around the space station 'upright' then your orientation will be the same as the normal at that point on the space station. Doesn't matter what shape the space station is, you can be upright at any point on it provided you can stick to it.
  14. Yeah I feel the same way about books, they all just use words to tell a story, they don't do anything original. I'm looking for something new.   Ok, that's unfair, but honestly you're premise is vague. I'd like some examples of games which you consider 'too similar'. I check steam fairly often and I don't remember seeing an 'overload' of RPG Maker titles.
  15. I hope for your sake you're using one of the updated versions of Dev C++ and not the incredibly out-of-date Bloodshed version.