• Content count

  • Joined

  • Last visited

Community Reputation

100 Neutral

About Surg

  • Rank
  1. Quote:Original post by cignox1 Quote:Original post by solinent I always thought that proper OOP design uses composition and inheritance in different places (inhertance for specifying "is a type of" and composition for "has a"). Thenk think to it in terms of 'attributes': your object has the attribute to own a physical behaviour and has the attribute to be renderable. These sort of guidelines are ambiguous and can be molded to fit into eachother. The problem with this is that it entangles the two when they shouldn't be brought together in such a way. Component design, I think, utilizes the most basic OOP principle of reuse more in their simplicity. The last post showed this well in it's entity class with sub objects as components.
  2. Quote:Original post by solinent I always thought that proper OOP design uses composition and inheritance in different places (inhertance for specifying "is a type of" and composition for "has a"). It is; the common problem is deciding on whether something contains another thing or it contains another thing. One common example is game objects, are all objects a type of object or are they all the same only containing different components? In my opinion and experience the more flexible approach is to say it contains components as it creates a greater level of reuse. Although not always useful inheritance is very useful for subsystems and other things that offer different functionality for the same inputs without having to co-exist. I use inheritance for my rendering subsystem which allows for switching between OpenGL, Direct3d, or any other renderer able to supply outputs for the inputs the interface defines.
  3. ^I All of those charts exclude "free" games and are irrelevent to this arguement. Sure, many of the 50 mil are copies but the number of uniqe user most likely crushes Wow(MS is free). To say a game who's population is mostly american could beat the combined asian MMO population is preety unrealistic.
  4. FPS limiting

    Your problem is your game movement depends on what FPS it's running at, it should depend on the time between updates. This article should help you
  5. [SDL] State Driven

    You could have a loop that handles messages and if it gets a window closed message, set the variable linked to isWindowClosed() to true.
  6. Quote:Original post by daviangel Quote:Original post by Cherez I would recommend simply majoring in Computer Science. Most colleges offer a wide range of classes. Take a bit of everything before you try to specialize, and then you'll be knowledgeable enough to decide for yourself. :) Yeah personally I'd recommend majoring in math if you main purpose is to build a custom game engine since there is a lot of math involved if you want to build one from scratch. Well, there is a lot of math, but it's not all, or even mainly math. I'd recomend CS or something similar. If you're good at self teaching, go for something broad and teach yourself the low-level specifics.
  7. C++ or C#?

    Quote:Original post by SimonForsman as it is , performance wise C# is at roughly the same level as the java server vm, which places it slightly behind modern C and C++ compilers, however this assumes that the C and C++ compilers optimizes for the target platform. for a dev its easy to make a C++ program run faster on his own computer than an equivalent C# program since the dev can recompile the program and optimize it for his hardware. This is also true for most opensource applications, however for closed source projects you might actually get better performance by using JIT compilation since that would allow your end-user to easily optimize the executable for his own hardware. (with java and C# this is done automatically the first time the user runs the software), the .NET JIT compiler keeps improving, performance gets better and better, and one important aspect of that is: YOU don't have to do anything when a better runtime gets released. with C++ you would need to buy a new compiler, re-build the project and release a new version. and finally the most important factor: managed languages save alot of time, are easier to use, etc, thus you can spend more time optimizing your algoritms. (the algoritms you use is what makes the real difference between a fast and slow application). some AAA games today even use interpreted scripting languages quite heavily (python for example) even though they are reasonably slow. WHY ? Simply because its easy and flexible and you don't need every last bit of performance when the game is limited by the GPU anyway. as for the OP:s question. if you write everything in C# you might end up using 5-10% more cpu time than you would if you wrote everything in perfectly optimized C++, for a game like liero or soldat that could translate to 4500fps instead of 5000fps :) for a graphically advanced game you'd probably be GPU bound so it wouldn't matter at all. for heavy physics etc you could always use a native unmanaged physics engine and thus that wouldn't matter either. Thus just use C# , C++ is great for writing device drivers, physics engines, a program to find large prime numbers, etc, for actual game logic its mostly an unnecessary hassle. if you are really worried about performance you can have a look at this: it contains some tips and instructions for how to write faster managed code using .NET. quite many of those hints are valid for unmanaged code aswell though. the key hints are: keep memory footprints small to ensure that as much real data as possible fits into the cache. (being forced to wait for a memory load is extremely expensive). Reflection is slooooooow. (its also very useful though) I could offer a counter point for each of your points, and someone could offer one for each of mine, so and so forth.
  8. C++ or C#?

    When I said "Are you trying to start a battle" I was talking about how saying things like that without explaining yourself often start battles. Oh, and look what happened.
  9. C++ or C#?

    Quote:Original post by Promit Quote:Original post by Kixdemp I prefer C# by a million times, C++ is too complicated, but how would the performance be affected if I do it in C#?Performance would probably be (significantly?) better in C#. Are you TRYING to start a battle?
  10. Question a grizzled and not yet bitter veteran

    A large project can be written by one person, you'd still need graphics and sounds and other things like that, but one person could do all the programing. If they're qualified. But, since your asking and a beginner, it'll be near impossible. But hey, try if you want, failures are a great way to learn. If you're going to try, make some smaller games that test out single features(graphics, networking, sound, etc.) then put it all together. Just remeber, you can always rewrite and re-work things, and don't be afraid of trying new things/failure.
  11. Quote:Original post by Thevenin In my experience, its easier to write, maintain, and debug a MMORPG written in C# then it is to write, maintain, and debug a MMORPG written in Procedural-C. The OP was wasking about C# and C++, not C# and C. Anyway, from my experience, the differences betweeen C++ and C# are not as big as most people make them out to be. One isn't always faster, one isn't always easier to work with. Since you already have a base in C++ I'd say keep going with that and learn other langauges on the side. It's great to know more than two langauges and once you learn your first, the rest are a lot easier.
  12. Question on Line Numbers V C++ 6.0

    Quote:Original post by bakery2k1 I don't know whether VS2005 uses the .net framework itself. If you mean "Will the programs I create using VS2005 require the .net framework?" the answer is "No, not if you don't want them to". The IDE uses .net 2.0
  13. C++ or C#

    Quote:Original post by Anonymous Poster use C++ unless you are really scared of pointers and dont trust yourself managing memory. He already decided, No one should post anymore... this'll become a C++ vs. C# topic fast.
  14. Quote:Original post by morx How about Visual Studio 2005 Standard Edition instead? Get it free from Microsoft here: This is not a scam. I watched three webcasts and had my kit in about 1 week! The offer changed, now it's a Profesional 90-day trial
  15. You could also make a MUD first so you get all the networking experience without the having to know graphics programing well. Otherwise, I'd reorder that list 1) See if I 1-2 players can enter the game & move around !!! @_@ 2) Try to create the CHAT system 3) Make a simple flat 3D map with simple blocks and try to move around 4) Create my player Databases = hp, mp, etc. (simple stuff...SQL ???) 5) Make the game Interface / GUI / HUD 6) See if my stats change if attacked, etc.