• 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

722 Good

About TechRogue

  • Rank
  1. I assumed that would be the case. The implicit cast trick is a good one (and I actually realized I could do it while writing this post), the only drawback is that you have to assign it before you can use the properties or methods of the Type class...though I suppose I could register the same members to both types.   That post looks great! I'll definitely check his code out. Thanks for the reply.
  2. Just what it says in the title. I know you can't register template methods on objects, but it's recently occurred to me that cast appears to use a templated function. Is that something that's built into the language, or can it be repeated in user code?   I'm working on a few classes that expose reflection to the scripting language, and currently I've got it set up like this:   I have a Type class, which has no default factory. It requires a parameter of type __typeof. I have a Typeof class, which is registered with the engine as both __typeof and typeof<T>. typeof<T> is implicitly convertable to __typeof. __typeof has no factory defined at all, so it can only be created from an instance of typeof<T>. It's a convoluted setup, but ultimately it allows me to do this: Type myType(typeof<MyClass>()) What I'm wondering now is whether I can make a function that behaves in the same way as cast<T>(), with the end result being a syntax that looks like this: Type myType = typeof<MyClass>(); Of course, the best possible result would be to mimic C# syntax exactly, but I don't think that's possible; Type myType = typeof(MyClass);
  3. Totally understandable -- my comment was based on the assumption that Angelscript was like every other language I've used and that a trailing comma didn't make any difference at all.
  4. Oh, I wasn't aware of this. Very strange. I've never used another language with that behavior...sounds like it probably does more harm than good, no? You can always pass null or 0 if you want to have uninitialized elements in your array.
  5. Why would you want that though? It has no adverse effect and just makes it easier to add new elements if you're still working on the code.
  6. I much prefer the new syntax for named arguments. No ambiguity to worry about, and C# programmers will be right at home.
  7. Ah, very nice!
  8. Anonymous objects? Is that anything like in C#?   var obj = {     str = "a string",    num = 100 };
  9. I feel like running a random exe that requires UAC to be disabled is a terribly unsafe thing to do.
  10. I'll just chime in here and say that it isn't especially obvious what the bool parameter in find() would do. It might be clearer to name it something like findByRef(). Just my two cents.
  11. You need to use ctx->SetObject() to pass the context a pointer to the object which owns the method. The method doesn't own the object itself; it needs to know which instance to be called on.
  12. Is there any chance that the same syntax could eventually be used to register variadic function definitions?
  13. Nice! I like it a lot. I'm stuck in C# for my current language so I've had to use Lua (ugh), but I'm looking forward to getting back to C++ and playing around with the features you've added since I've been gone.
  14. The void expression sounds interesting. Would that be something like this? bool GetInventoryItem(string name, out Item@ item) { // if item exists, pass it out and return true // else return false } // ... if (GetInventoryItem("map", void)) { // we have the map but don't care about using it at the moment } I can't find any mention of it in the documentation, although that's probably since it's such a new feature that you haven't updated it yet.
  15. I think something like this was mentioned a while back, but it wasn't decided for or against. I'd also be interested in this feature, especially for initializing Dictionary types with key/value pairs.