HScottH

Members
  • Content count

    72
  • Joined

  • Last visited

Community Reputation

520 Good

About HScottH

  • Rank
    Member
  1. Goodbye to GameDev.net

    @Michael, I appreciate your response.  I "thought there were problems" and did what I thought was appropriate to "bring them to light," only to be told my advice was possibly not welcomed.  The Noob post issue has always been an issue on this forum; the issue is not that but the response to my first, one, and only suggestion.   @Washu,   Your description about how I was too stupid to understand the forum system would have been a terrific topic in chat--really, I don't waste a lot of my time on the forum software or standards; I focus on what people say and what I want to say in response.  Being taught how to better use the system would be a good use of time.  My issue was two things: (1) how you unecessarily block posts from noobs (I know this is a real issue, but if our culture can't let those posts die naturally, I question the value or your censurship), and (2) killing threads that yet remain in "new content," so people can see, read and be motivated to participate, but then blocked. Your response to me was juvenile and unprofessional. Perhaps you mistakenly thought I was some kid myself entering chat to wage a flame war because I had too much to drink on a Saturday night.  Perhaps I mistakenly thought that the "Moderator" label made you a keeper of the culture so that I could lodge a single--and my first--complaint with you to help improve the forum. Honestly, I considered how I might have misunderstood your Chat messages, but after reading your post here, I conclude that you are just a bad choice for a Moderator position; you aught not ever convey blame or consesendence or be trite about your members.  I am sorry for the site that you have this position; it deserves people of a higher professional character. @Hodgman, Yes, that was the thread.  I understand the issue(s) you describe, and thank you for your suggestions. @All, One unclean asshole can make a room full of well-kept men smell bad.  Think about that. Happy gaming, all!  I won't be back.
  2. Goodbye to GameDev.net

    Good evening!   I have been an intermittent member here for nearly 10 years.  Tonight I was yet again frustrated by reading a long thread from a beginner, only to find when I reached the end that I was unable the comment, as the thread had been "closed."   I understand; there is a desire to block people who don't follow a certain ethic--in this case, it was a new game enthusiast looking for developers to help him realize his game idea--but, I like to respond to those people with an explaination about the community's views and how they might pursue their ideas without annoying people.   Frustrated by again being blocked from replying, I went to chat where I interacted with a forum moderator who, after hearing my complaint, said simply "maybe nobody wants to hear your advice."   I think he may he right.  I'm excited about games, and though I'm a programming professional with 30 years of experience, I like to hear the thoughts and ideas of--and interact with--people who aren't programmers and just love games.   At any rate, I'm outa here.   This site has become something much, much less than a community for game developers and enthusiasts, and I'm off to find somewhere where, well, where my advice is at least welcomed, and at best appreciated.   Cheers!
  3. Programing language for 3D games

    If you are wanting to learn to program OpenGL for 3D graphics, and you want the best return for your learing investment in terms of "what I can do" / "how long it takes me," I strongly recommend Java.  Java is slower than C++, but the difference is largely in the noise where most games are concerned, unless your game is very atypical. If you want to write "A" grade games, C++ is your best bet, but the hill is far steeper, and most of what you need to learn in order to do that has little to do with the language and everything to do with how you interact with the GPU anyway.   Minecraft is written in Java, and although most noobs say it's slow because of Java, this is in error. Minecraft is slow because of the way it is programmed and the fact that it uses older OpenGL APIs.   If your goal is to use a game engine such as Unity (as opposed to writing your own), then C# is a great choice.  It's faster than Java (just a tad), but just about as easy.  The disadvantage with C# is it is harder to port to other platforms (outside of an engine like Unity). I am writing a game and accompanying engine.  It is a voxel game (blocks), and I started in Java.  I eventually ported to C++ (because I found out it's easier to port C++ across platforms than it was last time I checked--I'm old :-), and found the following: * My world-generation code was about 10x faster (though neither Java or C++ code was optimized) * My memory usage went way down * Even though I am rendering many times as much geometry as Minecraft, my FPS did not change at all (for, as I said, this is about your understanding of the GPU, and not the language you choose) Statistically, most game projects fail because they aren't completed, and most programmers don't complete games because of the large workload they entail.  Hence, I recommend the language where productivity is highest; that's Java.  If you finish a game, you would do well to learn C++ and see what you can do with that.
  4. No intellegent, self-respecting programmer would ever use a goto statement.   ...unless (s)he found a need for it :-)   The reason it's considered bad form is, in order of impact: 1. Some popular--and probably smart--person said so 2. Post 1980's basic, it's utility seriously diminished as C became popular (functions rather than a single stream of speghetti) It can still be useful, and I do not consider it "bad form," although I probably haven't used a goto in 10 years or better.  Personally, I think code readability is the primary concern. I've been programming for 32 years, and have writted code more than 300 days of every one of those years.  Weren't the 65xx days really the "golden years?"  Back then, one could actually compute--with perfect precision--how long ones code would take to execute.  I've been programming assembler since my C64, although I have had no need for 6-7 years (besides a bit of GPU ASM).
  5. Why are their bumps in my shadow mapping?

    Nicely done.  As your scene gets larger and more complicated, you will find back-face issues, and the "peter-panning" (shadow separation from base of caster).   I moved from PCF filtering to Variance shadow maps; they were faster and solved many of the problems.   I then tried Exponential shadow maps, and perform a gaussian blur.  This is what I settled on.
  6. I would love the DDR4 and the 8 core processor, but I won't be making a new build any time soon.  I built my current dev machine in 2010:   Asus Rampage III Formula board i7 980x (6 core, hyperthreaded, 3.4 Ghz) 24 GB G-Skill DDR3 1600, tripple channel Dual 160 GB Intel SSDs in RAID 0 HD 5870 Eyefinity   I recently upgraded my monitors to 3x Samsung U590D's (28", 4k), so I also gave away my 5870 and replaced it with two R9 280x's.   I usually buy right around the knee of the price/performance curve, but in '10 I was burried in money so I bought the best parts I could find, and I've been thrilled with the box.  In truth, anyupgrade now would be for vanity, as this does everything I could want.
  7. This looks kinda cool, but it looks like you used Mojang's graphics.  Did you get permission?
  8. Staying Motivated

    I have known a great many people who had this problem.  For about 9 months I have been working--on and off--on a voxel game, and thus watch Youtube and other sources for people working on similar stuff.  I see that many people make it [this far] (rendering blocks), fewer [that far], still fewer [farther]...  I'm not sure if it is what you describe, or just the realization that a full game is technically much harder than they thought.   Personally, I know when I get onto a project that I can stay on.  It consumes me.  I find it hard to focus on my paying job, spend less time with family, and don't care one iota about recreation--I just want to get back to my code.  I think about it as I drift off to sleep, solve problems for it during my commute, and often find my wife has said a lot to me that I did not hear because my mind has gone back to my latest problems with "it."   Because of work and family illnesses in the older generation, I have taken as much as a month at a time off this project, but I am eager every day to return to it.   Those are my 1.5 cents.
  9. Robin Williams (1951 - 2014)

    At 46 I have seen most of the public figures I knew as a kid pass, but none has really caused me grief like Williams.  It wasn't just the roles he played, but the man he was in the social and political spheres as well.  I really admired and appreciated him.   I'll admit that I feel defensive for him as I watch so many corporate and non-profit agenda's try to play his loss as a tool for their own good: suicide hotlines, depression clinics, Parkinson's researchers... to me it is as if they are somehow debasing his choice to exit by saying it was wrong or could have been "cured."    Bah.  He was a brilliand man who gave a great deal to us, and there really is not a whole lot more to say.
  10. Where do I start?

    It depends on what you want to do.   Are you just interested in creating experiences for players?  Find a game development platform and learn it. Unity is the most popular and perhaps the most complex. To make games in it you will need to do some programming, but there are simpler ones--none of which can be used to create tripple-A games.   If you want to go deeper, learn to program.  You can write almost anything in Java, so learn that.   If you're just a creative type but don't want to deal with technical details about making the machines simulate your vision, get into modeling software and get an intern spot at a game shop.
  11. use of pointers

      Each "level" of language provides an abstraction from the lower (and generally previous) one; new languages have most often been added to improve developer productivity (with many more recent exceptions existing merely for preference, to enforce some specific programming paradigm, or to provide platform agnosticism--such as Java).   C, for example, while it is a high level language, was intended to abstract away the ridiculous verbosity of ASM, because for the vast majority of programs you don't need to know how, for e.g., a loop works on the hardware (in actual instructions): you just need to know it will work.  This has the side benefit that it makes better programmers, because heuristics learned by seasoned low-level geeks can be baked into the compiler and then the rest of us get them for free.   It is a bit silly to say "the more you know, the better you'll be..." even thought it's true.  But I would argue that the incremental improvement for a Javascript developer to learn low-level CPU architecture details is very near zero.  But this is not so for closer languages.  If you want to really excel at C or C++, learning a bit of what the developers of those language were trying to abstract will really pay off.    In the context of your question, this means learning a bit of assembly.  The term "pointer" is a somewhat language-specific one, whereas more generally (and when using ASM) the term "address" would be used.  You can't miss how the CPU handles memory and what role addresses play in processing--both all the time, and also in the context of creating highly performant code.  And you can't walk away from even a few simple "Hello world" type ASM apps without feeling quite at home using them.   And no, learning below that will not pay much.  But, if you decide to become a driver optimization guru and do much of your work in ASM, you would be well served by learning all about instruction piplining, microcode and more.   That would be rather architecture-specific knowledge.  Fortunately, the basic stuff you would learn from ASM and be able to apply to C/C++ would not.   I hope I explained myself a bit more clearly :-)   Oh, and I know very nearly nothing about Python, so I can't really comment.  Find out who created it and what they used before and you'll have your answer.
  12. Protect Against Speed hack

    I agree with what's been said: any [particularly indie] game project will have so much real, valuable work to be done, there won't be time to polish everything.  Where the hackability is concerned, if your game gets enough play to warrant someone building hacks, then you are successful and you can address the issue then.   But, also having the tendency to over-engineer things, I really appreciate the attention to use cases and detail.  So, I'll say this: trying to build a game that can't be hacked is a bit like trying to build a house that can't be broken into--it is a real waste of time.   So instead, think about ways to gaurantee your users are using only your binaries. * Game runs * Connects to your server and downloads hashes for all assets * Computes hashes of assets on box and compares * Any file who's hash fails is re-downloaded   Something along these lines is a good place to start.
  13. OK, so... what now?

    +1 on what has been said: HTML and CSS are not programming languages. They are "structure and format" languages (but generally referred to as 'markup').  Programming languages center around flow of control (decisions, looping, data structures), whereas markup center around [static] organization and presentation.   But that doesn't matter.   So you're going to learn programming.  Congratulations!  If you happen to like it, it will be the most rewarding decision you have ever made.  I have taught several programming classes and I can tell you what separates the winners from the losers is love, and little else.  Unfortunately, you don't get to decide if you'll love it, you can only find out.   As for languages... Python sucks, C# rocks.   Why?  Because I don't know the former, but I am expert at the latter (along with Java, C++, and others).   So this is a great introduction into the world of programmers, where you will find that we all discuss technologies with an almost religious zeal (or hatred).  You cannot ask programmers which language is "better" unless you are an absolute genius at filtering out such zeal and finding a nugget of truth.  Even if you are, you might meet your match when a clever zealot simply lists 10 ways one language is better than another, and it is all factually correct save for the fact that it does not mention the 10 ways the other language excels.   I don't know Python, and that's for a reason. I've been a consultant most of my life, and I've never found use for it.  I am comfortable saying it's not as popular as others, and to some degree that matters--language support, online community, availability of tutorials and other help, even things like performance--the most used languages are often the best built and optimized simply because they have more minds on the job.   Having said all that... if my son were a bit older and wanted to learn to program, I would recommend Java. Java dev's make terrific money, you can build anything with it, it runs on almost every platform, and it's a solid, clean language.  If you know Java, C# and C++ are just a hop (for the former) or a leap (for the latter) away, so you can rest knowing your skills are useful even when you're nowehre near Java.   Having said that, if you want to build a game and have decided to use something like Unity, you can't use Java. In this case, C# will be the best bet, and did I mention, the two are so similar you get all the benefits of Java by learning C#, except for the fact that you won't know Java.  Languages are very similar, feature libraries are not.   In the end your choice of first language isn't that important. If you love programming, you will go on to learn others as and when necessary, and life will be good.  I started on TRS 80 model 3 Basic, and although I do nothing like that now, starting there didn't hurt me a bit--save for the fact that when I mention it, it is fairly easy to guess my age :-)   Oh, and ActionScript... once upon a time, in a Flash dev tool far away (pre Flash 5), Macromedia used a completely home-grown, half-baked language.  Eventually they struck upon the idea that since JavaScript (ECMAscript) was taking the web by storm, it would be cool if Flash used this langauge too.  ActionScript was born; it is essentially JavaScript with some additions (and access to a lot of stuff in the Flash document).   It is a "scripting language," not a "programming language."  I often discuss this distinction  with others and it seems it is fuzzy, but I would say the following: * Scripting languages are intended to give the scripter some level of control over a document or environment. * Programming languages are intended to give the programmer control of a machine, either directly or through some intermediate, such as the Jave Virtual Machine.   The former is slow but usually easy to use for it's narrow focus; the latter is fast but generally harder to use.   Now that I've written a book, let me wish you good luck. I hope you love programming!
  14. use of pointers

    To not understand the utility of pointers is to not understand the language.  A much older and wiser engineer than myself once said something that I immediately understood and knew to be true: to be a real black-belt with any technological level, you must know the one beneath it.   To understand how to really use C or C++, you need some Assembly experience.  Not a lot, you don't need to be a pro, but this will show you what the machine is doing and how, and you will suddenly understand everything in C and C++ intuitively--and you'll be damn good at it too!   The good thing in that all modern C/C++ compilers support inline assembly, so you don't need new tools, just google "x86 assembly tutorial" and spend an evening or two doing some ultra-low level coding :-)
  15. Stuck in a rut, need some advice!

    * As your question solicits feedback and not necessarily discussion, I have read the OP and nothing more.   First, I always feel a little sad when I hear people talk about employment as the [only/primary] path forward.  In truth, what you want is a way to support and hopefully enjoy yourself.  For example, one possibility for you, with your background, would be to make and sell mobile apps.  While you are highly unlikely to be successful (just based on the statistics of the Android and iOS markets), you yet may, and in either case you will build new skills.   As for employment, empathize with employers.  All people are different, but employers fall into two general categories:   Those who want contractors As someone who has worked as a consultant most of my life, I can tell you these folks really want to hire someone who JUST finished doing for someone else what they need them to do. They really want the shortest path to getting a problem solved, and that typically revolves entirely around experience. Education rarely matters. Those who want employees These folks have a longer vision and value capability as much as experience.  Although the 90's boom taught employers that heavy investment in employees can be a waste (people jumped ship fast and often in search of higher pay), many still see new-hires as an investment that they hope to nurture. Education also matters more for these folks because it makes you appear to be a more valuable asset, and also makes you elligible for leadership (many companies will not promote beyond some level without some level of college). In the end, when I look for a gig, I never worry what percentage of the bulletts I match in their ad, but only about whether I would enjoy the work and be able to do a respectible job at it.  If necessary, before I send off a resume I will research and play with some technology that I don't know (such as node.js), just so that I have at least a passing familiarity with it by the time I get to an interview.  Of course you need to have enough relevant skill to get them to call you back, but rarely will you have 100% of what they are asking for.   So... I have been lucky enough to never need a gig so bad that I had to take one I didn't want.  This puts me in the terrific position of being able to enjoy my work, and also gives my clients a big bonus in someone who will accel at it (we are always best at what we love).   If you are excited about games, find some way to get into games--or at least related technology.  I agree that you should avoid the game-centric degree; you have more than enough schooling--what you need now is experience.   Oh, and one last thing: some people will tell you that you cannot count stuff you do on your own (i.e., not paid) as "experience."  That's false.  As I said above, all types of employers care mostly about what you can do for them, and nobody cares where you learned to do it.  I have no college degree, and although I have a long history of professional work, the things I am most proud of and talk about most at interviews are all things I did on my own.