• Content count

  • Joined

  • Last visited

Community Reputation

247 Neutral

About johdex

  • Rank
  1. Something like XNA on PS3?

    Quote:Original post by Machaira Quote:Original post by ukdeveloper Actually, better solution - something like XNA for the Wii. I shudder to think at how successful that would be given the sheer wide range of people who have one. A large number of units does not mean success. There's millions of people on Xbox Live but Xbox Live Community Games isn't nearly as popular as Live Arcade. Part of the problem is crappy games that are being uploaded. You could expect the same problem if a version of XBLCG was put in place for the Wii. Dozens of Tetris/Breakout/Mario clones aren't going to be a huge hit. There is also the fact that Xbox Live Community Games aren't available for download everywhere Xbox Live Community is. For instance, Swedes can make Xbox Live Community games and get money from the sales, but they can't buy any (yet). Btw, shouldn't the best games be easily accessible, assuming the best games are the popular ones?
  2. Sports simulation

    Hi, I asked a similar question in the game design forum, maybe you can find inspiration there.
  3. Managing games

    Quote:Original post by dashurc One thing to note though, is that if you're planning on creating a Football manager game without a huge team, you won't be able to compete with the commercial products. There are hundreds and hundreds of teams in professional football, and tens of thousands of players. Sticking to a single league is probably do-able though (provided you don't care about getting players' likenesses correct). That's OK, it would be a hobby project for me. I play on ManagerZone, and I feel a bit frustrated by the impossibility to give advanced orders during the game, such as "change to 4-3-3 offensive if losing when less than 15 min left". I have ideas about designing some sort of simple scripting language (automaton-based) to specify this kind of things.
  4. Managing games

    Oluseyi, if I understand you well, the approach you describe falls into my second category (though much more detailed), am I right? Regarding the statistics, I can make those up, as long as they produce believable results. I don't intend to simulate real teams or real players. One problem with the statistical approach, I think, is to visualize the games (in 2d or 3d). ManagerZone does 2d and 3d, HatTrick only does text reports, Championship Manager does simple 3d.
  5. Managing games

    Hi, I'm wondering how games about managing soccer teams are designed. I'm interested in soccer, but the problem is not specific to soccer, any team sport would do (basketball, American football, rugby, handball, hockey...). Examples of such games are Football Manager, Championship Manager on PCs and ManagerZone, Hat Trick on the web. More precisely, I'm interested in the match engine, the part deciding the outcome of games. It seems quite challenging to me: The outcome itself must be realistic, and the game itself must also look believable. The game is typically visible as a text report, a 2d film or a 3d film for the most advanced titles. I can see two approaches: Simulate the match at the level of players (basically write a soccer game with an AI, and let the AI play against itself), or simulate at the level of teams (compare the offensive and defensive strengths of teams, then throw dice). [Edited by - johdex on December 23, 2008 6:21:33 AM]
  6. Simulating recursion

    Maybe you already have, but I would suggest tackling these problems first: - Turn a tail-recursion into a loop - Turn a linear recursion (which is not tail-recursive) into a loop - Turn a non-linear recursion into a loop An example of the first: int int_op(int, int); int aux(int n, int result) { if (n == 1) return result; return aux(n - 1, int_op(n, result)); } An example of the second: std::string rev(std::string s) { if (s.empty()) return ""; return rev(s.substr(1, s.length()-1) + s[0]; } You already have an example of the third problem.
  7. Quote:Original post by Yann L Quote:Original post by johdex It's also something I've heard. People who get over the initial steep learning curve love Blender's shortcuts. Some people also love vi or emacs - but that doesn't make them good. With enough effort, you can get used to pretty much any interface, however ridiculous it might be. The job of good HCI design is to minimize the required effort and make it as painless as possible for the end user. And blender failed epically at that. Actually I'm one of those who use vi(m) and emacs. I would not say I love them, no more than a carpenter loves his hammer. But I'm happy I have had access to emacs for some of the tasks I've had to perform. Macros are one example of things emacs got right over all other text editing applications. Emacs may not have the prettiest GUI, it may not have the gentlest learning curve, but it has features that are crucial to some tasks. Human beings, who are adaptable, can get around all annoying shortcomings and oddities in GUIs. What they can't get around is missing features in software. There are several aspects to HCI, and I believe you are putting too much emphasis on accessibility during first use. When it comes to Blender, I have to admit I have no much experience using it or its competitors. One thing that stroke me though is that all 3d-modelers I have tried (including old versions of 3d studio, maya and lightwave) all insist of using different combinations of mouse clicks and CTRL/SHIFT/ALT key presses to manipulate objects and the view, which does not speak well of these tools in general. Quote: Quote:Original post by johdex Regarding free software (OSS), I think there is at least one thing that's done much better than in proprietary OSes: upgrading applications. You mean that when after updating, the application doesn't run at all anymore, the sound is suddenly broken, other completely unrelated applications refuse to run due to a messed up dependency, or your entire OS is suddendly unbootable ? export SARCASTIC_TONE=1 Surprisingly, no, I mean the complete opposite. I mean clicking on an OK button and getting known security holes fixed, and still have your system working, which is 100% of my experience with Linux. export SARCASTIC_TONE=0 Sure, I've got problems with drivers breaking down sometimes, but nothing I could not handle, and it happens seldom enough that I don't consider that a problem. Grub is nice enough that I can start on a working old kernel, should the new one not work. But I'm biased, I am much more proficient at solving Linux-problems than Windows ones. Windows has its share of update problems too. For instance, when I finally downloaded the service pack 1 for Visual Studio C++ Express Edition 2005 I got this problem. That the link in Trolltech's mail points nowhere did not help, and that the KB knowledge thingy from Microsoft was available only by calling their support on the phone wasn't helpful either. Updates always amount to playing Russian roulette, regardless of the OS. Whether the update works or not is then more a question of exactly which applications and hardware you have, which explains why different people have drastically differing opinions on the respective robustness of update systems. What I was referring to was usability. Getting updates for most of your applications through your Linux distributor is definitely easier than getting them through Microsoft, Apple, Sun, Adobe, Google, Norton, Packard Bell, and nobody (many applications simply have no update mechanism).
  8. Quote:Original post by zedz yes Ive heard some very good things about the blender UI (personally I didnt find it intuitive, but then again I only spent a few minutes with it) It's also something I've heard. People who get over the initial steep learning curve love Blender's shortcuts. It's also easy to criticize Blender's makers' choice of using custom widgets and OpenGL, but at the time Blender was started, there were few alternatives to achieve portability. Agreed, that's irrelevant from the user's point of view, which is the only important point of view when talking about HCI design. I personally think Microsoft is doing pretty well in the HCI-horror department. I have yet to find someone who uses MS Word correctly, e.g. uses a small hierarchy of well organized styles, as opposed to using combinations of local attributes (left margin, bold, italic...). Maybe users are to blame, but the way Word's GUI is organized facilitates that. That applies to Word 2003 and earlier, but Word 2007 seems even worse when it comes to usability. Everyone I know is just very confused due to the way the GUI was thrown on its head in the new version. I have started playing with the form designer in Visual Studio, and I am not pleased. Containers are impossible or very hard to select without going through the tiny listview in the property panel. Containers can't be deleted or cut if they contain things, but that's not explained anywhere (pressing delete or Ctrl-X fails silently). Layout using docking is weird, as the order in which widgets are docked against each other is not the order in which you docked them, but the order in which they were created. That results in widgets ending up hiding under other widgets. I stopped caring about the way applications look when XP came out (just looks consistently horrible, IMO), but I do care about how easy they are to use. Microsoft's applications generally fail this test because their HCI design is too often just plain bad. OSS applications generally fail because they are riddled with bugs (the HCI design does not even come into the picture). Regarding free software (OSS), I think there is at least one thing that's done much better than in proprietary OSes: upgrading applications. Upgrading Microsoft's software is easy enough, but non-Microsoft applications can't take advantage of Windows update and probably won't ever for legal or practical reasons, which is a shame from the user's perspective.
  9. Error while running steam with wine

    Wine may be fine with steamed vegetables and grilled meat or fish, but wine with steam alone is a combination I have never heard of. Cheese (unsteamed, that is) also goes very well with wine. Moreover, desudesu obviously does not know what he's talking about. It is generally the case that the older the wine is, the better it tastes.
  10. Grammar Nazi - Present Perfect Tense

    Quote:Original post by Scint The various tenses of "to see": saw had seen have seen see will see shall see Just for the fun of it, the tenses of "to see" ("voir") in French: vois ai vu voyais avais vu vis eus vu verrai aurai vu voie aie vu visse eusse vu verrais aurais vu There are two tenses missing ("imperatif present", "imperatif passe"), I have left them out because they happen to be identical to two of the forms listed above. That's just for "I" ("je"). There are 5 other persons, with almost no repetition.
  11. Hi, The Mono people are doing interesting work when it comes to improving .NET for use in games. For instance, they are adding support for SIMD instructions in their CLR. I hope Microsoft will follow the move.
  12. You can't call virtual methods of an object being constructed. At the time the constructor of A is called, B has not yet been constructed, and calling its methods is therefore not allowed.
  13. Quote: 4) can anybody think of a way to have the class delete each VALUE if and only if its a pointer? I want to put that in the deconstructor. Currently, im using a wrapper class for each type of resource that needs this particular system, and letting the wrapper class iterate through the results of getAllObjects(). I would rather not need to do this. You could use template specialization (disclaimer: I don't remember the exact syntax for specialization). template<class T> void dealloc(T) { // Default implementation does nothing. } template<> void dealloc(T* ptr) { delete ptr; } Then call dealloc() from your deleteMember() method. That should answer the technical aspect of your question, but from a style point of view, it's not so nice to have code deallocate things allocated somewhere else, especially when it does so for some types but not for others. In addition to that, my suggestion assumes ptr was allocated using new(), which might not always be the case.
  14. Hi, Does anyone know about tutorials on articulated rigid bodies? Articles on rigid bodies are easy to find, but understandable articles about handling groups of rigid bodies connected by joints are harder to come by.
  15. Unity why is C++ still being over-used?

    Just to finish off the pop-corn that was left over... Quote:Original post by all_names_taken Also the use of header files make it possible to abstract away implementation details from the user. It's nice to have this possibility, but being forced to write and maintain headers that are just duplicating parts of your .cpp files is really what decided me to leave C++, despite the lack of equally efficient modern languages when it comes to float-crunching. Quote: Then we have the funny C# syntax "override" instead of typing virtual once in the base class. There is a good reason for "override". If you change the base virtual method, for instance to add a parameter, it may be difficult to (1) remember that you need to update all the overriding methods (2) find all the overriding methods in question. With the "override" keyword, the compiler will remind you about both (1) and (2).