• Content count

  • Joined

  • Last visited

Community Reputation

256 Neutral

About Alamar

  • Rank
  1. Anyone good in photoshop?

    Context is a beautiful thing...   I was thinking: A brush?  Slight squinting?  Aging?   -Alamar
  2. PC vs. Mobile in Terms of Success

    The only evidence I have is anecdotal, so not worth mentioning (regarding 'success' of PC games vs mobile games)...   However, one of the major benefits of mobile games is that publishing is very easy...  As you mentioned with Android, just get an acct and send it to Google Play.  The same is true of iOS/Apple.   Getting stuff published on PC is easier than it has ever been (Steam, Desura, self publish, etc), but it's still quite a bit more work (including convincing people) than mobile.   Also, mobile lends itself well to smaller, simpler projects, so getting something complete is quicker, and for so many junior/hobby game developers, getting that stuff on your resume is going to be great for future prospects.   -Alamar
  3. On the one hand, learning while using an IDE is useful, as it will do a lot for you, and eventually, you're going to be using it a lot anyways.   On the other, when you're learning something new, having to learn to use some other potentially complex program at the same time, could be more confusing.   Another thing to keep in mind, is that the above mentioned book, and another with the same suggestion (Head First Java 2nd ed), and many other beginner books, deal with such simplified examples, that there is no real benefit to using an IDE.  The compilation errors are the same you'll see in an IDE, and line numbers and positions are often supplied, so finding the offending spot is still easy.   Lastly, learning without an IDE can give you a better idea of how things work...  In Java, there's not much to the command line (as someone pointed out earlier)... In C++, it can still be that easy, but as an anecdotal point, there are many senior Visual C++ developers that have no idea how to use a make file, or compile outside the IDE.   In short, learning to use the tools outside the IDE will, in the long term, help you become a better developer.   -Alamar
  4. OpenGL Grid

    Another option, since you're going to want to color/texture the chosen area, is to break the plane into many individual triangles/quads, and then you wouldn't need to know where on a triangle(or the plane as a whole) the ray intersects; just which triangle, and color/texture it (and it's neighbor) accordingly.   -Alamar
  5. Game: Health regeneration?

    The below is how I do this... It assumes you have Owner member variables, as floats, for Regen and Health. A few things to note: AddRegen is cumulative (if you AddRegen( 600, 4 ) as in your example, then two seconds later, do it again, the new value will be 900 over 4 seconds. If you want it to overwrite the current regen, replace += with =), AddRegen should work fine with negative regen (poison, burning, etc).void Owner::AddRegen( float fValue, float fDuration ) { m_fRegenValue += fValue; m_fRegenDuration = fDuration; } void Owner::Update( float fDeltaTime ) { if( m_fRegenValue > 0.0f && m_fRegenDuration > 0.0f ) { float fDeltaRegen = min( fDeltaTime, m_fRegenDuration ); m_fHealth += m_fRegenValue * fDeltaRegen; if( m_fHealth > m_fHealthMax ) m_fHealth = m_fHealthMax; m_fRegenDuration -= fDeltaRegen; } } -Alamar
  6. What is your employers policy on coming in late?

      Companies that regularly require a min of 40, and max of whatever they can get away with, is not where I work for long ; )   Where I'm at now, is more along the lines of your last paragraph... I typically work from home two days a week, and the other days, I'll be at the office between 4 and 10 hours, but my boss knows how much I contribute, and the hours I put in outside (including weekends)... It's not the same for my co-workers though, so it's not purely the business that is this way, which is unfortunate, but I'm fine with being a special snowflake ; )  So I typically put in 50-60 hour weeks, because of the flexibility they afford me.   Not surprisingly, I chose the flexible with me vs them ; )   -Alamar
  7. Some very good posts in here, and it's sad that you react defensively instead of what you should have responded with 'thank you for well written posts answering my question'...   One thing I didn't see mentioned, or maybe missed, is that of the amount to ask for.   Now that KS is popular again, and many many indie's, and even large companies are jumping on the bandwagon, we've gotten a chance to see some of the KS failures (those that hit their target, but then realize they asked for too little).  Which again also includes small indies as well as experienced groups (Quest for Glory people for example).   Beyond what points have already been made, you need to convince people that you know how much your efforts are going to cost.  In part, because there are (in my opinion) two major KS contributors: those that make pledges from the heart, and those that make pledges from the mind/head/wallet.  I would say 90% of pledge money comes from the latter, because they typically have more money, are older, and pickier.  Those people, I see a lot of comments from, and time and time again, they want to know why developer A only needs 10k, or why developer B thinks they need 100k.  Finding the balance is tricky, but keep in mind that these picky people don't want to pay a salary, especially for coding (art/music/etc is easier to justify).   In short, if you don't already have a job, and all the hardware/software required, do that before going to KS begging for money (because that is what it will sound like).   I considered going to KS about a decade ago, but realized that the money wouldn't be enough of a motivation by itself to finish a project.  Just like not having art, shouldn't be enough to not finish the code on a project (something I believe many hobbyist coders have as a reason to give up on projects).   -Alamar
  8. Multi-threaded Rendering

    Your question is a bit generic... Yes, multi-threading can speed up rendering, but perhaps not how you're expecting... One of the most common ways for speeding up rendering is by reducing state changes and render calls... For both, batch up similar meshes and render them in less calls... This is especially useful with many small objects, which seems to be pretty popular lately. -Alamar
  9. Non-Constructive Criticism

    Personally, I am a big fan of efficiency, which is why I often start from scratch, or reinvent the wheel... : ) But how can that be efficient, you ask? Because I'm thinking long term... The better I understand how something works now, the faster I can solve problems with it 10 years from now : ) I'm also a big fan of 'learning to fish', so that helps ; ) -Alamar
  10. Help! I'm trying to make a game.

    First off, I applaud your willingness to teach yourself; a skill I am very happy I learned, and learned early... Secondly, I'm not going to say you're too young, and you don't know this, or that, because like everyone else here, I don't know you, but I do know that you're making a good 'first' step. I always find it funny how people talk about coding requiring math skills, because in the 25+ years I've been doing it, it's been such a minor part, I felt the math schooling was mostly wasted (in the sense that I don't use it... Learning anything is useful : ). As for myself, I also started around your age. I taught myself Basic initially, then picked up a C++ book, consumed it cover to cover, and later was able to afford a compiler (Turbo C++ for DOS), and put it to use : ) So I come from a standpoint of, 'I did it, you can too', as to the always-too-common 'I didn't do it, so you likely can't'. So again, I learned C++ 25 years ago, and in my day job, I use C++... It's possible it'll become 'outdated' by the time you're done with school, but it's unlikely, so that's a point in C++'s favor. However, C++ is fugly... The syntax is fine, and has been adopted just about everywhere else, minus some minor things, like class vs method/variable layouts, but it's an old language, and it shows... Many of the libraries people use, including Windows API's, STL, etc, are all inconsistent, which includes naming conventions. So that's a point in C++'s 'unfavor' heh. Newer languages are more consistent, both in usage (In nearly every newer language, every object is a class, and is always allocated), and in API's. This may seem moot to some of you, and it is to me, but to someone learning for the first time, consistency is great. Even when I learned iOS stuff a few years ago, I was amazed at how clean Objective C was. As for C#, I glanced at it when it was new, and that was about it, but as a newer language, it's more consistent, and has a lot of MS Backing. As for Java, Ewww... : ) So in short, it looks like I'll suggest C++, as it's what I use, and it's awesome... But really, my suggestion is simple; learn them all : ) And start with something new. If it was an option, I would say Objective C or Java, because right now is still a really good time to get involved in mobile development... If you're sticking to a PC, I suggest C#, just because it'll be easier to learn, and while you won't have as much... freedom (C++ is still more direct, and C# is mostly Windows based), you can move to the others as needed. I'll end with a (butchered) quote from one of the few people I worked with that I also respected. 'A Computer Scientist is a problem solver; the language is just a tool'... In other words, someone earlier put it pretty succinctly, but basically, you're learning to solve problems with computer science methodologies; those are the skills that last. The language you use is just the way you do it. -Alamar
  11. Converting Bitmap

    The quick answer is that you can't... The code you showed is taking the average color (Red + Green + Blue / 3) and setting the imagemap to that value... Therefore, there is no way to get those separate color components back out of the image map. So basically... Save the original image. -Alamar
  12. passing variable to classes automatically

    There is always a better way : ) However, whether it's better for your (limited explanation), you could set up a static member variable in the base class of your entities. Set it once CEntityBase::m_sEntityList = g_EntityList or some such, and any child can access it upon creation/whenever. Another option is to use a 'global', or base class function (CEntityBase* pEntity = CreateEntity()) that creates the entitities, so that they are only ever created in one place, and the global list isn't accessed by code all over the project. -Alamar
  13. I need food now...

    A few simple tips everyone should live by... Never set up your bank account for overdraft protection... If you can't maintain a balance over $0... You can't maintain it over -n $... Never set up automatic bill payment (as in, companies can just take out your monthly charge from your account). I say never, but I do this with insurance... I pay phone/internet/etc manually monthly. If you don't have the cash, you can delay a payment on any of these... Most companies won't complain (though they might charge you minimally) for a month late... In general, don't buy the things you don't NEED... While need does vary, too many think they need so many things they want : ) As for your current dire need for food... Previous suggestions are good. Crazy hard to believe you have NO friends to get $5 from, which could feed you for days (noodles are crap, but they're cheap and enough for a week+)... The food court idea works, but so does just about any restaurant, fast food, or otherwise.. They dump a ton of food a few times a day : ) And while I think it's a last resort, theft is always an option (Super Walmart?). Hopefully with enough guilt to not get into the situation in the future ; ) -Alamar
  14. Are you using D3DUSAGE_DYANMIC anywhere? If so, don't : ) Two ways to track it down, and since most of problem solving is trial and error, learn this ; ) Get rid of all your device resources... Re-add them and test with every new batch... -Alamar
  15. Alpha Testing Question

    Yes, you do NOT want to lock textures every frame for collision detection, so if you're doing pixel-perfect detection (2D I'm hoping), a secondary buffer (or bit list, as using bytes for an on/off state is a huge waste - unless you're not comfortable with bit shifting and what not) is a good idea. Also, no idea on tutorials for shaders... Only really looked into it with a book I bought a while back (3D Game Engine Programming - not bad, but leaves a lot to be desired), and while they're the new and in thing, you really don't need that complexity for 99% of what you want to do... On the other hand... Learning is fun : ) -Alamar