• 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

134 Neutral

About jmau0438

  • Rank
  1. Are/Should Factory's always singletons?
  2. Hey all. I would like to use some of my C++ libraries in AS 3.0. Nothing to over the top, sticking primarily to data manipulation. I've brought native C/C++ into Visual Basic & C# before, but its a little more involved with Flash. I did a bit of homework and found this thing called "Alchemy", I was wondering if anyone has heard of it and if anyone knew of any more simple and/or direct methods of achieving the desired ends. Any additional information on the subject would be appreciated.
  3. I agree with "oler1s", you need to program simpler things first. Try laboring towards smaller projects, like a tool or something. In the end it could be just a windowed app (which is pretty easy in VS), but you could enforce some constraints that up the challenge. Once you have COMPLETED some stuff, it'll definitely give you some insight on what your trying to do and what its going to take to do it. Thinking of a premise is one thing, making it happen is another.
  4. Generally yes, or even information that would assist with template parameters or member access. I figured it would be a try catch throw thing (though I'll try to restrict the code for such things to debug)
  5. Any helpful tips and/or guidelines ( "do's and don'ts" ) would be helpful as well
  6. Just a general question to the community, but can anyone show me how to catch certain errors and provide more helpful/descriptive messages in the output/error list tabs in Visual Studio C++. Any help would be appreciated.
  7. Can anyone give me a simple example on how you return a polymorphic pointer?
  8. Nice solution, thanks. I'll give that a shot
  9. I noticed that I did not initialize it, so I did. Error persists... NewOperation < TYPE, T > *Ref = new NewOperation < TYPE, T >; this->Op_ptr = dynamic_cast < Operation < TYPE, T > * > ( Ref );
  10. OK, this is a loaded question, so here I go. Objective: Up-cast a base object into a derived one Break-Down: Each object is a function object, meaning an object containing a single member function with a single argument. The hierarchy is as follows: 1)Function Object: Template Interface, contains a single virtual method called execute template < typename TYPE, typename T > __interface iFunctionObject { public: virtual TYPE Execute ( T ) = 0; }; 2)Strategy Object: An Abstract Interface derived from Function Object, member function remains virtual as it is not defined. Its purpose is primarily cosmetic as it helps in defining a common set of terminology. template < typename TYPE, typename T > __interface iStrategy : public iFunctionObject < TYPE, T > {}; 3)Context Specific Definition: From iStrategy one last derived class is defined. Member function remains virtual with the only real change being an alias for the data to referenced within the member function and a default implementation that simply returns zero. template < typename TYPE, typename T > class Operation : public iStrategy < TYPE, T > { public: virtual TYPE Execute ( T Stuff) { return 0; }; }; 4)Implementation: From this point I derive from "Operation" and overload the virtual function in each child object in order to perform a collection of algorithms, each require a single argument and return a value as specified in the template parameters. 5)Control Object: The controlling object possesses a data member that is an Operation Pointer. This pointer is meant to be Up-Casted into a specified Operation derivative. I'll spare you the details, but it involves a collection of enumerated values and a switch. PROBLEM: When I attempt to Up-Cast like so: NewOperation < TYPE, T > *Ref; this->Op_ptr = dynamic_cast < Operation < TYPE, T > * > ( Ref ); This code compiles but crashes at run-time when invoking the "Execute" member function because it cannot locate it within the newly casted operation pointer. Can anyone help me with this?
  11. I'm having trouble with inheriting from an interface-to-abstract class to a template class. (Using VSC++ 2005) I have an interface object, for simplicity we'll call it state and I'll stick to one function, which would go something like this: (This is a hacked example so forgive syntax errors) __interface iState { public: virtual void InternalState ( void ) = 0; } Then in an abstract interface I define the function signature (notice that I overload it): template < typename TYPE > class AbstractState abstract : public iState { private: TYPE _InternalState; public: virtual void InternalState ( const TYPE Data ) { _InternalState = Data; }; virtual TYPE* InternalState ( void ) { return _InternalState; }; } And finally I overload the function calls in a standard template object and intentionally overload the function to avoid this error (even though it should never occur when inherited publicly): template < typename TYPE > MyState : public AbstractState < TYPE > { public: void InternalState ( const TYPE Data ) { _InternalState = Data; }; TYPE* InternalState ( void ) { return _InternalState; }; } Can anyone tell me where I'm still causing this error?
  12. Attention to detail is important, but jesus christ fellas, let it go!
  13. Otreum, though it is wise to gain an understanding of the syntax of any computer language you intend to work with, know that the details of the language are specific unto itself, whereas the techniques behind it are not. A common mistake made by many aspiring engineers (and even some of the older ones) is in the obsession of a given language. Place more emphasis on engineering techniques and less on the syntax. The more you use a language the more familiar you will be with it. In light of this truth if the trade, I recommend "Design Patterns: Elements of Reusable Object-Orientated Code". Good Luck.