Quasimojo

Members
  • Content count

    137
  • Joined

  • Last visited

Community Reputation

279 Neutral

About Quasimojo

  • Rank
    GDNet+
  1. Unity Unity or C++?

      That's like saying you didn't really build that house, unless you also fashioned and fabricated all the tools you used.  It's silly.  Heck, if you're using and IDE that does any code generation at all, that wouldn't qualify as "real code" by their logic either.   Ignore them.  Do what makes you happy.  If the end result is a completed game, even better.
  2. C++ header inclusion question

      Short of putting all headers in one huge header file, how can #2 be accomplished?  Not trying to be a wiseguy - I'm not well-versed in C++ and would honestly like to know.
  3. I think the fact that the thread is titled...   "Is working in terminal/console really a waste of time?"   ...yet, the poll question is...   "Is programming console programs a waste of time?"   ...is really twisting up the discussion, here.   OP: are you asking about doing your coding in a console window or writing programs/games that *run* in a console window?
  4. Switch or Not?

    Me learning C++ is a product of switching from vb (after trying to fix a problem that had no solution for more than 2 weeks) and realising that i needed something else. I won't say the knowledge didn't help me because it did. I think i'm bored because i haven't learnt anything NEW, the most outstanding things i see left console-wise are classes and templates.     OK... this is going to come across harsh; probably because it is.   after trying to fix a problem that had no solution for more than 2 weeks   This is called programming.  The art of typing shit into an editor/IDE is not programming, it's basically data entry.  The part that makes a programmer a programmer is their problem solving skills.  Just as what makes a writer good isnt his knowledge of words, but his ability to assemble them.   If you switched languages because you ran into a problem you couldn't solve, you are toast.  Simply put, you are absolutely wasting your time trying to become a game developer, or at least, a programmer.  More to the point, your lack of ability to focus or research is going to be your undoing.  The fact that your answer to a malfunctioning ~ key is to restart Visual Studio over and over, instead of taking a few minutes to research and solve the problem, it certainly doesn't bode well for you.    Here is the simple truth of game programming, or hell, any programming.  Learning ability and research ability are probably the two biggest traits of a successful programmer.  Being able to focus and being self driven are two pretty much REQUIRED traits of being successful.     I am not just coming here to berate you, I am hoping you take this as the honest criticism it is as opposed to as an attack.  I make a few simple suggestions...   Stop thinking about things and start doing them. Pick a language, pick a library, GO OFFLINE and just create a damned game.  It really doesnt matter what language, what library or even what game you create.  Just frankly do it, and dont talk about it.  You may fail spectacularly, but guess what, that is how we learn.  We fail, we overcome, we learn, its not some magic formula.     If you dont develop the ability to research solutions to your problem, or the ability to persevere in the face of difficulties, it might be time to face the fact that programming may not be for you.  I wouldn't jump straight to that conclusion though.  You really wont discover this until you put the effort in.  If you find you cant put the effort in, guess what, you discovered something about yourself.   This still isn't the end of the world for game developer aspirations.  Hell, I knew some professional game artists that had the attention span of a retarded parrot.  Perhaps explore art as your next avenue?  Or perhaps go the design route and try and create a game using a higher level more tactile package like Construct, GameMaker or even Scratch.  In all honesty though, all of those routes require dedication as well.       As a side note, not directed at the OP, I think "kids" these days are actually at a disadvantage learning to program/develop games compared to "old farts" like myself.  I used to be somewhat jealous of all the resources available to beginning developers these days, especially after my experiences just trying to find a C compiler back in the pre-internet days, but as times went on I realize that really isnt fair.  The lack of choice was actually a very good thing.  People that wanted to make games made them in the language that was available because, well, it was what was available.  Library selection was exceedingly easy, there were none!  I think for a developer starting out today, the two biggest problems they face is the massive selection of options available to them, coupled with the massive complexity of modern games.  Now, you have resources available I couldn't even begin to dream of, but that is a double edged sword.  Now, as an experienced developer, right now is somewhat of a paradise, but certainly not for a new one. I searched everywhere for the solution to no avail. Restarted more that 5 times and the problem was that other people had exactly the same problem but it had no solution. I am not interested in game maker. When i started programming, i knew one thing, i had to learn almost everything there is to learn because i have very dreamy goals and i don't mind spending a time because i know that it is useful. If i didn't want to spend time, i won't have continued with c++ after seeing loops.     I think you're missing the point.
  5. You Don't Need to Hide Your Source Code

    Two words: intellectual property.   I don't understand the purpose of this article.  Why *should* the source code be expected to be included with commercial software??
  6. Steve Ballmer leaves Microsoft

    Meh, I don't necessarily think anyone else would have done much better (aside from the direction they took with Windows 8, that is).  Windows phone was actually the best mobile device OS they've ever produced - of course that still doesn't mean it can compete with Android.   Microsoft and Sony both operate on the same flawed philosophy.  They insist on trying to shape the industry and force it in a direction that best serves their own interests, rather than taking its pulse and producing products that people want. 
  7.   I think I see how that would work.  You wouldn't typically need to traverse all components of a given type by type id, when you could accomplish the same through the component's respective system.   With regard to serializing the entity, my first thought would be that all relevant systems would need to be queried for the given entity.  Is there a more efficient way to go about it?
  8. Just to make sure I understand correctly, there is no way to declare a constructor that assigns values to data members in an abstract base class that will provide that default constructor functionality in all derived classes, correct?  Therefore, all derived classes will have to have the same constructor declared: class DerivedComponent1{     public:         DerivedComponent1(long entityID, ComponentType compType) : EntityID(entityID), TypeID(compType) {}        ~DerivedComponent1();    // Because it's just good practice         long EnityID;         ComponentType TypeID; }; class DerivedComponent2{     public:         DerivedComponent2(long entityID, ComponentType compType) : EntityID(entityID), TypeID(compType) {}        ~DerivedComponent2();         long EnityID;         ComponentType TypeID; };
  9.   What do I need to do to the constructor I've declared in the base class to cause it to be used as the default constructor for derived classes?
  10.   Oh. I assumed the constructor definition in the base class would be used by all derived classes.  Again, I'd hate to have to repeat that same constructor definition in all sub-classes.  Also, I corrected what I believed to be a typo near the end of your reply.  Please correct me if I'm wrong.  I'm just trying to keep up, here.     Every derived class will have the data members, EntityID and TypeID.  Beyond that, they will each have additional data members specific to their purposes.  The only functionality I've determined they will all share is the assignment of EntityID and TypeID upon instantiation, but it doesn't sound like I can accomplish that from the base class definition.   If there is a better way to accomplish this, I'd appreciate it if someone could modify my design above to illustrate.
  11.   I had considered that, though it will still require  ~DerivedComponent() {}  in every derived class.  I guess that's about as simple as it's going to get, though.  Thanks!
  12. I've been toying with a component-based system for a game, and I'm struggling a bit with the design of my component base class.  My components will basically be data buckets with little to no functionality.  The attributes every component will have include EntityID and TypeID.  I would like to create a base component class with those two properties from which all specialized components will inherit.  How can I prevent instantiation of the the base class with no methods to be made purely virtual? enum ComponentType { ATTR_HP , ATTR_AC , ATTR_STR , ATTR_INT }; class Component {     public: Component(long entityID, ComponentType compType) : EntityID(entityID), TypeID(compType) {}         long EnityID;         int TypeID; }; class CharAttribute : public Component {     public:         int Value;         int ValueMin;         int ValueMax; }; I suppose I could make the EntityID and TypeID members private and then make the accessors pure virtual, but then I would pretty much have to repeat the same code in the implementation for every subclass.     What's the best way to make method-less base classes abstract?  
  13. Understanding Component-Entity-Systems

      There shouldn't ever be any reason to know whether an entity is a monster. If you have code that does "if this is a monster, then....", that means you're doing it wrong.   If I understand correctly, the entities who would be classified as monsters could be tagged with an Enemy component, identifying them as such. The Enemy component could contain an attribute for Threat that could facilitate a more granular sweep by the Attack system.
  14. I've been working on a simple text-based multi-player RPG as a learning project for C++. I'd like to get to a point where I have the necessary hooks available to move to a 3D graphical game - again, as a learning progression. I know, it's conventional wisdom that this sort of game is too ambitious for a first project, but it's the genre that I am most passionate about, and therefore holds my interest without my having to work at it at all. It's an endless source of motivation. All that said, I find myself getting bogged down, spending an exorbitant amount of time on simple tasks like writing code for parsing and otherwise handling text. As such, I've decided to utilize additional libraries/frameworks to provide that sort of functionality (I know, "well DUH", right?). Boost seems to be pretty popular for this sort of thing (data type conversions, string manipulation, etc.). Are there any other suggestions? I'm also still trying to decide what to use for the program output/UI. I'm using Qt Creator, and at this point I'm leaning toward a console-type control on a Qt form, with the UI elements being simple form controls. The display will involve a combination of text and ASCII characters for graphical representation. I've considered using a terminal emulator, but I want more of a mouse-driven interface than that. I was hoping for suggestions on this topic as well. As always, any suggestions would be very much appreciated.
  15. Efficient data structure for a maze

    Nice work!