• 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

451 Neutral

About Kercyn

  • Rank
  1. For such specific legal issues, I think the safest option is to consult a lawyer. I'm sure there are people in this forum than can answer your question, but I doubt "XYZ on gamedev told me so" would be an acceptable legal defence in case something goes wrong.
  2. I was struggling with this for a couple of days, but I finally decided to replace my algorithm with a much simpler one that runs way more efficiently. Thanks for the guidelines!
  3. Thanks for the reply. It's too late right now to check your suggestion so I'll do it tomorrow. For the const auto& issue, I replaced all autos in the first post with their actual type. I'm also including the headers used in the snippets above, just in case. PCollisionLayer Line EDIT: I tried what you suggested but unfortunately all I got was a fancier way of viewing what already existed in the call stack table. My main concern is that my entire approach is wrong, since the "hottest" line ends up being a range-based for.
  4. Hello everybody. I have implemented a 2D raycasting algorithm in my game engine but I must be doing something very wrong, since my game is pretty much unplayable if I cast around 10 rays each frame (it runs fine at around 5-6 casts per frame). I tried profiling but, as you can see from the two pictures, I ended up on STL territory, which tells me that the performance issues arise from my approach to the problem. I'm using the Sweep-and-Prune algorithm for my broadphase detection, which divides my entire map into sections, and colliders inside a section are only checked for collisions with other colliders from that section. This approach is used in my raycasting algorithm as well. Initially, I get a list of all colliders inside the raycast's radius and then I check the ray against every collider in that list. As far as I understand it the problem lies not in the Ray vs. Shape checks, but in the preparation work before that. Any tips or guidelines on how to correct my approach, or specifics of the algorithms, are most welcome. Thank you in advance. Raycast BroadCircleToOBB SOBB::GetSupportPoint
  5. There are tons of free assets that you and your son can use to make your game without spending anything. Sure, the art style of some assets will not completely match the style of other assets, but you can't have everything. You might want to take a look at OpenGameArt or here.
  6. You could try loading the entire file into a vector of strings, then using std::replace_if with an appropriate predicate to do the replacement for you. For your predicate, you could use a lambda that captures your alternative words list, and then checks the current string in the vector and replaces it if needed.
  7. 1) C# and C++ are not variations of C, they're completely different languages with completely different mindsets. Sure, there are similarities but they quickly disappear once you go past anything trivial. Both C++ and C# are used for game development, but if you're just beginning don't care about C++ at all and start with C# and Unity. 2) You can, of course, write everything in Notepad++ or any other text editor, but there are specialized programs for programming called IDEs (Integrated Development Environment). IDEs offer a lot of tools that make your job a lot easier. A very popular IDE for both C# and C++ is [url="https://www.visualstudio.com/"]Visual Studio[/url]. 3) The code you write in a file is not the actual code run by the computer. Computers understand only sequences of 0 and 1, so in order for a computer to run your program, it must transform the code you write into 0s and 1s.This process is called compilation and the program that performs it a compiler. There's more to it, obviously, but this is the general idea. I'd suggest reading up on version control, what it is and why it's useful. If, when you read good code or design practices etc, you find an article that tells you "X is bad, do Y instead" and you don't understand why or you intuitively find X to be better, don't blindly do Y without understanding why. It's better to do X and see for yourself why X is bad and why Y is better. Don't start big; start small, with reasonable aims. Big is going to come, eventually.   PS. You can also read the [url="https://www.gamedev.net/reference/faq.php/_/for-beginners-r1"]FAQ[/url].
  8. I'm using Tiled to design maps for my current project. You must be doing something wrong (exactly [i]what[/i] you're doing wrong we can only guess) if you encounter a performance problem with this. You can try the following approach: Load the TMX file contents into a buffer. Use an XML parser to parse it and populate various structures that describe everything you need to know about the map (tile positions, layer information, paths to tilesets etc). I use rapidxml for parsing. Locate, load and store any assets you're going to need for your current map (which generate the appropriate textures for your tilesets, but you may have other assets that you define in the map) All of the above is done once, when you load a new map. Now, in every frame, you can traverse the map structures and render the appropriate section of the map.
  9. I'd swear I've seen this exact topic a month or so ago.
  10. A billiard game?
  11. Check out [url="https://github.com/jeremyong/Selene"]Selene[/url], it's very easy to set up and use.
  12.   [url="http://stackoverflow.com/questions/10231349/are-the-days-of-passing-const-stdstring-as-a-parameter-over"]Relevant[/url] for std::string.
  13. Thanks a lot!
  14.   Hmm, I see. So the output format only concerns the OS and whatever audio middleware it uses and not the actual sound. I'm currently loading support for WAV, MP3, FLAC and OGG in the mixer, and the frequency, chunk size and channel are all modifiable by the user, it was only the output format I was unsure about. So I guess I just fix the output format to 16bit signed? Also, why are you saying "almost always"? Would I be "safe" (or at least "relatively safe") by fixing it to 16bit signed? Sorry for being pedantic, but this game engine is my thesis and I'd like to justify various design and implementation decisions I make, plus it never hurts to learn more about something. Does ALSA and whatever middleware Windows uses accept 16bit signed samples as their default? Thanks again for your answer.
  15. Hello everybody. I'm currently developing the sound engine for my game engine using SDL_mixer 2 and there is something I don't understand. There is a function called Mix_OpenAudio which initializes the mixer and accepts a few arguments. One of those arguments is called format, and it can take these values. My sound knowledge is almost none, so bear with me. As far as I understand this, format tells SDL how to parse the sounds it's given to play. I tried playing an SFX which was in 32-bit float format while passing different format values to Mix_OpenAudio and the sound played the same every time. Although I might have thought it played the same, as it was a quick *whoosh* SFX. If I have an RGB image and I parse it as BGR, it won't appear the same. Shouldn't this happen with sound as well? My question is, do these values matter? Should I give the user of my engine the ability to use all the formats listed or can I safely omit some?   Thank you.