Jump to content
  • Advertisement

Anthony Serrano

  • Content Count

  • Joined

  • Last visited

Community Reputation

3307 Excellent

About Anthony Serrano

  • Rank
    Advanced Member

Personal Information

  • Role
    Pixel Artist
  • Interests

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Anthony Serrano

    How to avoid open-world grind?

    I think he means, more properly, the gameplay loop.
  2. Anthony Serrano

    Need to figure out a formula

    What makes you believe there's a formula at all? It's not at all uncommon for games, especially of that era, to just have a table of stat value by level, with the values in the table decided by designer whim as much as anything else..
  3. Anthony Serrano

    Large Tilemap Storage

    You're stressing about a number of tiles that a Super Nintendo can handle...
  4. Anthony Serrano

    Real weapons in free open source game

    First off, whether you work is commercial or not is largely inconsequential as far as fair use is concerned. Infringement is infringement, regardless of if you're making money off it and regardless of if you want to make money off it. Second, fair use only applies to copyright - it is totally irrelevant to patent and trademark, which are the relevant IP protections here. (The names would be covered by trademark; the physical appearance of the weapon would be covered by design patents.) tl;dr don't use real products in your game unless you can afford to investigate the legal status of the various IPs involved or risk the legal consequences.
  5. Anthony Serrano

    Fill CPU cache with NOPs

    Not just that, it's a lot of NOPs implemented via 4 layers of nested preprocessor directives that expand to slightly over a megabyte - of course it's going to take a noticeable amount of time to compile.
  6. Anthony Serrano

    Fill CPU cache with NOPs

    Not quite... that "128 NOPs" macro actually contains only 118 NOPs, so it winds up falling short by 20 KB.
  7. Anthony Serrano

    Ideal themes for my fighting game

    No, there is no misunderstanding. The genre label "fighting game" typically refers specifically to that second group you mention, though often excluding realistic boxing/wrestling/MMA games. Projectile attacks in this genre go back at least as far as the original Street Fighter in 1987, and in most games in the genre you can generally expect roughly half the cast to posses them. Characters with actual firearms go back to 1995's Ultimate Mortal Kombat 3 if not earlier. Such weapons generally hit at full-screen range and fire projectiles that travel too fast to react to. Pointing out that firearms generally do not do realistic damage in fighting games does not mean much, because neither do most other attacks in those games (nor do any of these attacks do realistic damage in most games), and anyway you didn't originally say the were unrealistic in fighting games, you said they were incompatible with them.
  8. Anthony Serrano

    Ideal themes for my fighting game

    Ranged combat has been a staple of the genre pretty much from the very beginning, and fighting game characters using actual ranged weapons have been around since the mid-1990s.
  9. Anthony Serrano

    How a Game get permission to use Licensed Music

    "Legal" and "ethical" are not synonyms. An act can definitely be unethical, and still be legal, or even legally mandated - history provides plentiful examples of this.
  10. Anthony Serrano

    Daily Bonus Logic

    It actually varies from game to game. Some games do reset your daily login bonus progress if you miss a day, but most that I've seen actually don't. A more common incentive to keep people logging in to have a specific set of login bonuses only available for a limited time.
  11. Anthony Serrano

    double accuracy in C++

    It's not even a matter of design, it's an inherent property of representing fractions with a finite number of digits. A rational non-integer number can only be accurately represented with a finite number of digits if all the prime factors of the denominator are also prime factors of the radix; otherwise, it requires an infinitely repeating digit sequence.
  12. Anthony Serrano

    Avoid branch instructions

    Just for the record, this though experiment is built on a false premise. Branch prediction is necessitated the presence of a deep instruction pipeline - that "serious overhead" is caused by having to flush and refill the entire pipeline after a mispredicted branch. Those CPUs don't have deep pipelines, and many don't have pipelines at all, so oftentimes the only branch penalty is a cycle or two to calculate the branch target address. There are architectures that have conditional load/store instructions, which allow you to move data conditionally without branching. If such instructions are present, it's trivial for a compiler to implement the ternary operator using them (provided of course that the possible results are not themselves function calls). Some more conventionally-branching structures can be recognized by the compiler as doing the same thing and thus also implemented using conditional moves, but some (like the first snippet in the OP) cannot be recognized as such by a compiler and will be implemented using standard flow control mechanisms instead.
  13. First things first: endianness only affects multi-byte values. The x86/x64 instruction stream is primarily single bytes - generally only things like immediate operands and offsets are multi-byte values. Now lets take a closer look at the instruction stream. The first instruction is 66 89 c8 The first byte, 66, is an operand-size override. Here it indicates the the next instruction will use 16-bit operands instead of 32-bit. The next byte, 89, is the instruction opcode. This one indicates a MOV instruction that moves data from one register to another register or to memory. The final byte, C8, is the ModR/M byte, which encodes additional information about the operands. The top two bits (11b) combined with the bottom three bits (000b) indicate the the register/memory operand (which is the destination for this instruction) is the AX register, and bits 3-6 (001b) indicate that the register-only operand (the source here) is CX. Note that these bytes have to come in this specific order; this is required for the CPU's instruction decoder to actually be able to decode the instruction stream. The next instruction is e8 00 00 00 00 The first byte, E8, is the opcode. E8 is a near relative CALL. It's operand is a 32-bit signed offset relative to the first byte of the next instruction. Since the target IS the next instruction, it's just 00000000. The final instruction is 66 89 c2 which is almost identical to the first one, the only difference being the ModR/M byte. C2 instead of C8 means that the destination is the DX register, and the source is AX. The only multi-byte value here, and thus the only thing that endianness is relevant for, is the 32-bit offset for the call instruction, though in this case the offset is the same either way. The final instruction stream is 66 89 C8 E8 00 00 00 00 66 89 C2 If, for the sake of demonstration, the target of the CALL was 4000 (00000FA0h) bytes after the next instruction, the CALL would look like this instead: E8 A0 0F 00 00
  14. Anthony Serrano

    How much longer can Trump/Trumpism last?

    This is demonstrably false. The whole point of "we don't want to pay for it" is to get rid of abortion through indirect methods, because the older, more direct method of banning or restricting it with legislation has gotten significantly less successful. Learn our history, because we as a nation have done WAY more than throw stones, countless times over the last two centuries. I am a 14th generation American - My European ancestors first arrived in 1608 (my native ancestors obviously arrived far earlier). The US is my country. You most definitely do not respect my "right to have the country I want." The right by-and-large doesn't even respect my state's right to govern itself as it sees fit.
  15. The entire point of grinding as an RPG mechanic is as a means for the player to control the effective difficulty of the game by building up experience and/or equipment to the point where the player feels ready to take on the next challenge. Thus, you should be very careful when designing systems in RPGs to discourage or punish grinding. The most common method of doing this is via exponential XP curves and item prices - the player can, at any point, grind as high as they want, but beyond a certain point, it becomes extremely inefficient to do so. The last thing you want to have happen is for the grind-difficulty relationship to flip, such that the game becomes harder and harder as you grind more - this means that the player who wants a more challenging game is the one forced to grind for it. This is bad for two reasons: first, the player who wants a challenge is forced to play more and more unchallenging content as their skill improves; and second, the player who feels unready to advance in the game is left with no recourse beyond just starting over. If you absolutely insist on discouraging grinding, just don't even make it an option.
  • 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!