hh10k

Member
  • Content count

    410
  • Joined

  • Last visited

Community Reputation

589 Good

About hh10k

  • Rank
    Member
  1. Silly Lua question

    someClass:doSomething() is the same as calling someClass.doSomething(someClass) The : just passes the table as the first parameter to the function, which is useful for doing an object-oriented style of programming.
  2. List your steam games

    I have 11 distinct games in my Steam list, which are either Valve games or indie games like Braid, Aquaria, WoG or Darwinia. The other 7 things listed there are add-ons/episodes or SDKs. I would buy more AAA games through Steam, but it's still cheaper for CDWOW to mail me a game box to Australia from the other side of the world, rather than pay the price the publishers set for a download.
  3. Anyone hate what they do? [For a living]

    I started with the dream of making games, but after going the indie route for a bit I realised that I don't actually like the games industry. I'm much happier making games as a hobby. Right now I'm a research assistant at a university, and I'm really enjoying the environment. I also get to play with more interesting things than I normally would in a business-oriented company. As for which path to take, I've only ever been interested in programming, so I've never needed to chose between that and something like a music. I would say you need to dedicate yourself to one thing to be truly successful at it, and only you can say which one you really have the drive for... although I would say you'd need to do something extra special to achieve 'rock star' status. Programming is a great tool, and it can be applied to many different fields. 4 years is not a long time in the grand scheme of things.
  4. Why should I use XML?

    I like XML because you can find an importer and exporter for almost every language. If I create an XML file in .NET, I know I can easily read it again from a PHP script. File parsers are extremely boring to write and maintain. Also, I would consider XML as a mostly-human readable format, because (properly named) elements and attributes are somewhat self documenting. In an ideal world all file formats would come with proper documentation, but in reality that doesn't happen. You can also tweak files with a text editor without having to write an entire editor.
  5. Linking Problems

    Although MD and MDd requires you to package the Visual C++ runtime with your application, it's a better option than statically linking with MT or MTd. A statically linked runtime in each executable and DLL results in a lot of duplication, and you will have problems when you try to pass things between them, like FILE*s. To get rid of those warnings, your best bet is to download the source for SDL (and its associated dependencies) and build them yourself with a consistent set of build options (and consistent compiler). MD for the release build, and MDd for the debug build. It's easier if the debug versions of a library have some form of postfix like '_debug' so you know what you're linking against. It may seem like a lot of effort at first, but once you get used to it it will save you many headaches in the future :) Don't add a library to the ignore list unless you really have to. It's more of a hack for libraries which you don't have the source code for.
  6. What Do I Need For Flash?

    You can find a free ActionScript compiler in the Flex 3 SDK. I would recommend the FlashDevelop IDE to get you started a lot faster. However I've only used Flash for simple image and SVG graphics, so I'm not aware of any free apps on the same level as Adobe's commercial software for fancy scripted animation.
  7. C# Question

    All parsing of the file needs to be done in it's own thread (likely started using ThreadPool.QueueUserWorkItem), but remember that all Windows Forms calls need to be done in the application's main thread. If you need to update a progress bar, call Control.Invoke or Control.BeginInvoke on that bar from the file processing thread. You'll probably also want to use Invoke to update your Form after the loading finishes.
  8. I would assume that it's redundant. The first thing 'is' would need to do is get the type of x, and this would involve a null check.
  9. Valve's survey is great for the gamer segment of the market, but you might also like to check out the Unity Web Player stats for something that might be closer to the indie market.
  10. HELP on 1333Mhz runing on 400Mhz

    What does your motherboard support? I would check the manual, since it may not support anything over 400, or it may be forced to run slower under certain conditions.
  11. Collision tests and creeping time

    Quote:Original post by Brain me Rendering as fast as possible at a fixed update rate is pointless. If you render a scene and nothing has changed since the last scene, what's the point of re-rendering? As I said, you render interpolated positions and rotations between updates. Everything looks very smooth, but the stable simulation with a fixed time-step makes things much easier.
  12. Collision tests and creeping time

    The solution to your problem is making sure that the game physics and logic are updated at a fixed rate (like 30 or 60 fps), independent from the rendering which will happen as fast as possible. When rendering faster than the game is updating, you usually update one frame ahead and then render the interpolated positions between the previous and next frames. I don't have a favourite article about this, but I think this one might explain things in more detail.
  13. Why are two passes not an option? You would either need a *lot* of rendering or some very old graphics cards for this to be an issue with an RTS.
  14. QT goes LGPL !! Weeeee :D

    I've gone with wxWidgets in the past, because I see no point in learning any library that I couldn't potentially use in a commercial (closed-source) product. Now it's definitely a good thing that Qt is LGPL, but I kinda feel like it's too late for me. All my GUI work is now either in WinForms, or else implemented using a scripting language in a game. I never want to go back to doing GUIs in C++.
  15. Can't use the varible two times?

    The problem with userVal*3.14/(userVal*666), is that it the same as (userVal/userVal)*(3.14/666), which is just 3.14/666. Unless userVal is 0, which means you'll cause a divide-by-zero and get NaN back. Also 'formula' is only an unsigned int, so the floating point part of that expression will be discarded and you'll just get 0 every time.