Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

1630 Excellent

About Nyaanyaa

  • Rank
  1. Fluid intelligence (logical thinking, analytical thinking, pattern recognition, etc.; a factor of general intelligence) has been consistently proven to remain relatively stable throughout adult life, so improving it through practice would be—I'm afraid—sisyphean.   If programming skill is to be entirely an acquirable skill that can be improved through training, then it must be distinct from fluid intelligence.   Programming performance then depends on programming skill and fluid intelligence.   If we thus factor out fluid intelligence, what remains as programming skill is (1) knowledge of theory (i.e., understanding how different factors work together in different situations etc., this includes understanding gained from experience), (2) knowledge of facts (e.g., syntax; this includes facts learned from experience), (3) reading speed and comprehension*, (4) writing (i.e., typing) speed and accuracy.   *included by popular demand :P   I believe if you re-read my posts with this understanding, and understanding of the terminology I use, you will understand my position.   It is not something I deliberately practiced to be good at, but was simply born with. My conclusion was not just “jumped” to, but directly drawn from Kolb's theory. I shared my personal experience merely as an example; another example would be a person who feels very uncomfortable when learning by doing, but very comfortable when learning reflectively. This person would likely be far more motivated to learn by reading a book, and perhaps even give up when forced to learn too much by doing. But once sufficient knowledge and understanding has been acquired, the person might be keen to get to work, and perform very well; whereas when attempting to learn by doing during that time despite feeling discomfort, the person might perform significantly worse after the same amount of time.   Perhaps it is even true that those who learn by doing become the best programmers, but that does not mean every person learns programming best by doing.
  2. I have studied David Kolb's model under Richard Boyatzis, Professor of Organizational Behavior at Case Western Reserve University (which is also where Kolb works).   There are essentially three components to programming: theory, syntax, typing. The better your theoretical understanding, the more syntax you know, and the faster you can type without errors; the better you can program.   I am directly comparing gaining a theoretical understanding and learning the syntax of programming to gaining a theoretical understanding and learning the syntax of addition and subtraction.     Let me share a personal anecdote then. I have consistently outperformed every other student in math class in every school I have visited. “Gaining experience” solving problems that I could already consistently solve correctly (and in a fraction of the time others needed) from the very beginning did practically nothing for me. By reading on however I could expand my theoretical knowledge, and thus expand the variety of problems I could solve accurately and fast.   A general statement that doing x is always best to learn y (for cognitive skills) is failure to acknowledge the diversity of human cognition. It is perhaps true of some or even many people, but certainly not of all.
  3. Which one were you thinking of in particular? And how does it account for the fact that actual programming (not merely knowing the syntax of a programming language) is a combination of creativity, applied experience, and problem solving, much of which I'd argue actually cannot be developed to a useful level by reading alone? I don't think you can learn inventiveness from a book. Like sailing, playing an instrument, and scale modelling, it's a skill that has to be developed by actually using that skill even if the foundations can come from a book. I would be quite impressed if you found somebody who learned to a ride a bicycle only from a book - as in, they read said book, got on a bicycle, and rode off without falling once or having balance problems.   It is curious that you replied only 14 minutes after I made my post. Did you have ample time to thoroughly read the 205-page document referenced in your quote from Wikipedia to get a deep and educated overview and understanding of the field, or did you perhaps quote the first sentence on the Wikipedia article that in your lack of understanding seemed to confirm your already preconceived opinion? Take any of the 71 identified learning styles theories you want, they all explain that there are different learning styles—that's kind of the point.   You are directly comparing cognitive skill to motor skill. I do not think you are aware of the fallaciousness of your argument.   If you actually read my post, I said nowhere that doing was not necessary; but good luck explaining to an extremely gifted child who understands addition and subtraction from a simple description in ten seconds flat why s/he needs to “do” whatever you think s/he needs to do in order to learn something s/he has already learned.
  4. My claim is grounded in theory, your evidence is anecdotal.
  5. Nyaanyaa

    [PHP] Miss & Critical Hit Chance formulas

    It also adds uncertainty that affects decision making. Like do I use this sword with 4 base damage; or do I use this axe with 3 base damage, and a 40% chance to deal critical damage? If we say a critical hit deals twice as much damage, the axe would effectively deal 4.2 damage per hit, but the sword would be more reliable. But player excitement is certainly a big reason for implementing critical hits. They tend to come with big numbers and satisfying sound effects, too. This reinforces the behavior (i.e., attacking enemies). In psychology, this is called a variable ratio schedule of reinforcement. It's similar to using accuracy/evasion instead of making every hit connect.   Edit: Interestingly, Persona 4 (PS2) uses lookup tables in some way. You can test this using an emulator like PCSX2. Save the game state at the beginning of a battle, then fight for a few turns. Load the game state from the beginning of the battle, and do the same actions in the same order. You will see the exact same numbers, misses, critical hits, AI behavior ... Try another order of commands, load the game state and repeat, and it will be the exact same.
  6. As a whole, sure you have to write code. But as far as learning is concerned, people have different learning styles. Some people learn much more rapidly by reading than doing.
  7. Nyaanyaa

    Inventory management -grid vs list

    You can have effectively the same system in a list-based inventory, representing the dimensions with numbers (e.g., height: 1, width: 2); the items would be auto-sorted on a grid under the hood with no visual representation of the grid ever given to the player, except for numbers indicating the remaining space. The usability of that is questionable (someone somewhere can probably come up with a game where that would be cool), but the utility is certainly there. Even manual sorting could be done that way.   Understanding the distinction between utility and usability is important. Once you know exactly the core tasks you want your system to perform, you can build your UI around it; that's designing with vision. If you don't know what tasks you want your system to perform, you don't know what you're building a UI for. The information AlecS provided is not enough to make any real recommendations for his game, and it would need to go through user testing either way.
  8. I don't know why no one has pointed this out just yet. Knowing how to program and knowing how to make a game are two completely different things. Learning how to program does not teach you how to design a game, just as learning how to write sheet music does not teach you how to compose and orchestrate a song. While important, programming is only one small part of making video games.   My friend Tomonobu Itagaki, when asked this, always emphasizes that programming is only a small part, and to study gambling, board games, tennis, jet skiing, and so on. In his words, to make games in the virtual world you must first understand games in the real world. So I'm passing his advice along. :)   When you have a deep understanding of game design; you will, for example, understand how fundamentally similar Backgammon and Ninja Gaiden (Xbox) are, or see the similarities between Poker and Fighting games, and so on.
  9. Nyaanyaa

    Inventory management -grid vs list

    “Utility refers to the ability of the product to perform a task or tasks. The more tasks the product is designed to perform, the more utility it has.” Source: https://msdn.microsoft.com/en-us/library/windows/desktop/ff728829%28v=vs.85%29.aspx   Both interfaces can potentially perform the exact same tasks: Show items and their parameters (including required inventory space), equip items, use items, etc. So potential utility is indeed 100% similar.       All these points are about usability, not utility; and none of these points are rules set in stone. I can make a list with images, in which you need to select an item to view its properties (in fact, Final Fantasy XI has such a UI). I can make a grid that shows all of an item's stats without the need to mouse over it, but no image of the item itself at all. I can make a seemingly infinitely extending grid that can require lots of scrolling (e.g., Baldur's Gate: Dark Alliance and Champions of Norrath games for PS2). Any task that can be achieved through “grid inventory tetris” could similarly be achieved through a list.   Usability of grid and list inventory interfaces are not similar, but utility is. At least according to the definition of utility that I use.
  10. Nyaanyaa

    Inventory management -grid vs list

    I fixed that list for you. The utility of both systems is 100% similar. You can have auto-sort and such things in both systems. The usability of both is 100% game-specific. Design your gameplay first before you worry about the visual representation. Once you 100% know your gameplay, design your GUI and test, test, test, test, test, test, test, test, [...], test, test, test.   I don't know what GUI will work best for your game, and neither do you, nor anyone else here. But once you have decided on your gameplay and did 100+ user tests, you will have a pretty good idea.
  11. Nyaanyaa

    [PHP] Miss & Critical Hit Chance formulas

    Hello Draven,     Acc = Attacker's Accuracy Eva = Defender's Evasion fAcc = effective Accuracy (i.e., the chance of Attacker to hit Defender)   Converting Acc and Eva into percentages is superfluous. What matters is that fAcc falls between 0 and 1 (i.e., 0% and 100%). A simple formula Acc/(Acc+Eva) will for example always give a number between 0 and 1. If you use another formula like (Acc-Eva)*x where the result can be below 0 or above 1, you can simply determine that fAcc is 0 or 1 respectively if the result falls out of range.   You can similarly determine the solution set for fAcc to be between 0.25 and .95 for example (i.e., the minimum hit chance is 25%, the maximum hit chance is 95%).   I'm not a programmer, but that should be something as simple as if fAcc<0, then fAcc=0 and if fAcc>1, then fAcc=1.   Look at how other games solve fAcc for some inspiration, such as on http://finalfantasy.wikia.com/wiki/Accuracy.     A Speed stat like that does not solve the problem at hand.     Cheers, Chris
  12. Nyaanyaa

    Need an engine

    Most efficient process:   (1) Create your own cards using scissors, paper, and a pen. Use dice to select stats randomly (e.g., 1 is Attack, 2 is Defense, etc.). (2) Play test. (3) Improve design. (4) Repeat steps 2 and 3 until satisfied. (5) Go into production with an already very strong core design, and your game engine of choice. (6) Continue play testing and improving your design while you build your video game.   The key here is that you can iterate much faster using paper and pen. You can also buy some blank card sets and write on them. Once you have a strong design, production will be straightforward (mostly).   Edit: Engine does not really matter. Practically any engine will do the job.
  13. Nyaanyaa

    Cynder Dragon

      Harsh, but true. This dragon's forelegs give no structural support. In this position, unless Cynder has really strong calves, hamstrings and hips, and a strong back and neck, s/he would simply fall over. Unless perhaps Cynder's forearms, triceps and chest are also super strong? It certainly looks like quite a workout to stay in this position.
  14. Nyaanyaa

    So what do you guys think is holding me back?

    It's not either or; it's both. You do want to know how to get the most out of your libraries, but you can also only take cheap libraries so far. As far as orchestra libraries go, Sampletank 3 SE is more on the entry level. There's just a huge difference between a 6.5GB orchestra library, and a library that requires 26GB for the violins alone—or between a library that costs $99 for the full orchestra, and a library that costs $399 for the violins alone, to put it in another perspective. If you want realism, the sooner you start to use such high level libraries, the sooner you get to practice using them. They also tend to sound better out of the box compared to cheaper alternatives, so that's another benefit. :)   There isn't much to add to what CCH Audio said. Focus on the fundamentals: levels, pan, EQ, compression, reverb. This is not where a good mix starts, though. Understand this production flow:   Composition -> Orchestration -> Recording -> Mixing -> Mastering   A good mix begins with the composition itself. The better your composition, orchestration, and recording; the less you will need to fix in the mix. You may be aware of that, but I think it's always good to have a reminder.   You also used like a pan effect on one or two tracks that I thought distracted more than anything else.     Again for emphasis: Music is an emotional experience. Composition is drawing the emotional curve (tension, release, etc.) of your song. Orchestration is enhancing the emotional curve with instrument choices, adding harmonies, and so on. Recording/performing is interpreting the emotional curve and bringing it all to life. Mixing is making the emotional curve perfectly clear and possibly enhancing it with some effects. Mastering is the last check to see if the emotional curve is perfectly clear and everything is as it should be.   This is probably the best advice I can give. Composition in this context I consider more or less what you would play if you played your song with one hand on the piano (in most cases that's the melody).   What we are both saying is that your orchestration is not 100% doing that (in some songs taking away from it even), your recording/performance can be improved to bring it better to life—with better programming and more realistic samples (perhaps live recording?)—and you can make everything still more clear in your mix.   When you start to really focus on the emotional curve in your music, I think you can really see yourself where you can improve this or improve that. You definitely have far more potential than you are currently showing. You can easily charge the kind of rates you're looking for, but you have a lot more potential than that.
  15. Nyaanyaa

    Learning Game Design... how?

    First, look beyond video games. Study gambling, board games, tennis, jet skiing, and so on. If you want to create games in the virtual world, you first have to understand games in the real world.   Second, you can create many games easily with paper and pen. You can draw on paper and create a board game; you can cut paper to create a card game; you can write rules and create a RPG, or even a Fighting Game; and so on. Making changes to your game with paper and pen is also super fast. This is the fastest iteration process for game design, having to program etc. will only slow you down. Once you have a playable game made with paper and pen; test, test, test, and test it more—user testing is super important in game development—then make changes as necessary.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!