• 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

504 Good

About Starfox

  • Rank
  1. :( I'm a bit heartbroken. I would have loved to have parity between C++ and AngelScript syntax. This wouldn't affect us much since our AS script path is in maintenance mode while we transition to Lua (for a bunch of unrelated reasons) but I'd love to see support for class enums in AS eventually.
  2. I'm using AS 2.24.0. I have a class like this:   [source] class foo { public: enum class state : int { a = 0, b, c }; }; [/source]   I want to register that in AngelScript. I have registration code like this:   [source] Engine->RegisterObjectType("foo", sizeof(foo), asOBJ_REF | asOBJ_NOCOUNT);     //     Engine->RegisterEnum("foo::state");     Engine->RegisterEnumValue("foo::state", "stopped", static_cast<int>(foo::state::a));     Engine->RegisterEnumValue("foo::state", "playing", static_cast<int>(foo::state::b));     Engine->RegisterEnumValue("foo::state", "paused", static_cast<int>(foo::state::c)); [/source]   However, I seem to be getting errors due to the following piece of AS code in asCScriptEngine::ResgisterEnum:   [source] // Make sure the name is not a reserved keyword size_t tokenLen; int token = tok.GetToken(name, strlen(name), &tokenLen); if( token != ttIdentifier || strlen(name) != tokenLen ) return ConfigError(asINVALID_NAME, "RegisterEnum", name, 0); [/source]   What am I doing wrong here?
  3. You might be better off embedding Python in your app - check it out, it's simple.
  4. Bug fix for crash on querying the alignment of a built-in type: https://bitbucket.org/sherief/angelscript/commits/cfd705346d725fc3eafd641bd36c967b5531ca97
  5. Bug fix for allocation / deallocation mismatch: https://bitbucket.org/sherief/angelscript/commits/a99b390ee34dd441c5bda6338ca05bfd9f9e1c6f
  6. I'm trying to add aligned allocation support to asCCompiler::AllocateVariable() and I'm not sure exactly what the function does internally. Any clarification?    Also, is there any interest in merging these changes with the main AngelScript trunk? We'd love to have the feature officially supported but if there's no interest (and I'm not sure whether there is, seeing as how none of the patches were accepted) we could just do some internal hacks to get our code working and stick to that version.
  7.   Necessity is the mother of all crunch periods.
  8. Type info defaults to 4-byte alignment: https://bitbucket.org/sherief/angelscript/commits/294090097bf181a93cc0a962991ea7ca6cbad427
  9. Commits for aligned allocation support:    https://bitbucket.org/sherief/angelscript/commits/528c3644b335dbf0ff68963e180ef0c309b17f64 https://bitbucket.org/sherief/angelscript/commits/1f21185159ce5248f28fc1cc34b5c5098ee33738   Global property support for aligned allocation: https://bitbucket.org/sherief/angelscript/commits/269fd22c8e6f063690d3ab9643333142d7d1cdd7
  10. CScriptEngine's CallAlloc() and CallFree() now respect type alignment: https://bitbucket.org/sherief/angelscript/commits/dbbc0002748f02d1170540563c61d989834fcc0b
  11. Added support for aligned allocation: https://bitbucket.org/sherief/angelscript/commits/795cc7a762ea0f47455f489f1c0e0b2d71911c1e
  12.   Not really, I can't get the test harness to work on my system. We test internally but out test isn't as comprehensive. Would it be too much to ask you to test my patches? Sorry.
  13.   Some types do need natural alignment though, and the default allocator (that wraps malloc()) is already aligning to the largest supported type alignment on the platform, since malloc() is guaranteed to do that. On OS X, my primary platform, malloc() is guaranteed to return 16 byte aligned data. On almost every platform with doubles aligned is required by the spec to return a pointer that is at least as aligned as a double (8 bytes).    Also, the patches add an alignment type to the type id info that defaults to 4, and that's what'll get passed to allocators when allocating memory for a type - so in existing code the behavior of the changes should be exactly identical.
  14. ^^ what he said.
  15. vmovaps requires 32-byte alignment. We also see a performance benefit from aligning matrices on 32 or 64 byte boundaries due to cache behavior.