Jump to content
  • Advertisement

Sacaldur

Member
  • Content Count

    57
  • Joined

  • Last visited

Community Reputation

942 Good

About Sacaldur

  • Rank
    Member

Personal Information

  • Interests
    Programming
  1. I just found Art That Moves: Creating Animated Materials with Shader Graph, which might be interesting, but it still lacks the breaking waves you want to have in your game. It might help to think of waves as particles in a circular motion. Waves would break if the amplitude grows without enough water in front of the wave (closer to the beach).
  2. Things you start out with: define, what perspective the player can have. If the player only ever sees the sea from top down, you can keep the "3D" much more simple. A flat angle (being close to the ground) requires you to have actual 3D models, but the player could only see the first few waves. define the distance from the water. Again, the further the player (/the camera) is away from the water, the simpler this can be done. If he's far enough, there would only be little difference between 3D and just textures. Being a bit closer, you could have simple 3D geometry and add the details using textures. define the art style. The more it leans to realistic, the more detailed everything has to be Will these waves be "animated", or will you just render a single point in time? Keep in mind: you're trying to do this for mobile. If you're really only interested in drawing waves and no other gameplay content, then it might not be as much of a problem, but if you want/have to stick to a certain hardware limitation, you should think about the things listed above, since all of them influence the performance.
  3. You're certainly not the only one who tries to make informed decisions as early as possible, or to get done faster without sacraficing quality. There are several things one can do: Building Prototypes of (just) the mechanics that are questioned A/B testing Playtesting (meaning a Game Designer watches players play the game) Research (e. g. for similar games, how they performed, bad design decisions, ...) Limiting the scope (development time, budget, or game content) early on These are not exclusive (you can do several things), and some of these apply at different stages during the games development cycle.
  4. @KarimIO: what @Wyrframe was mentioning was 'your engine might add additional relations between the nodes based on the information in the user edited data'. A simple example would be assigning a certain Mesh to multiple "MeshRenderer" components (if you take Untiy as an example), thus these objects should be taken into consideration for batching while rendering this model -> additional relations -> no tree anymore. (This is just one example.)
  5. The list nodes can in theory be scattered all over the memory. If that's the case, multiple successive accesses to the same list can cause more cache misses, if the distance between the nodes is to far. Arrays on the other hand are always stored in a single block of memory.
  6. Well, your post wasn't helpful at all. Instead of just saying "You got brainwashed by microsoft", one should look at the advantages and disadvantages of a certain feature, and how well it could be integrated into an existing language/system.
  7. @Wyrframe mentioned "set as dynamic", "set as static" etc. Since you probably can't deduce what nodes are translated/rotated/scaled at runtime, you should let the developer/level designer/artist/... decide what's just for organization and what will be adjusted at runtime. You might want to offer special "organizational nodes" that are simple containers with a name but without any special transformation logic to them. These could always be "flattened" out/ignored regarding transformation calculations.
  8. Sacaldur

    C# Path relation lookup

    Since you're comparing the entire path, it's not just folders inside your project that might only differ in capitalization. Take for example /home/Nom/... versus /home/nOm/... Even if you're currently only target Windows, you'll just assume your code to work once you don't look at it anymore. So you do a discovery of the file system, even if it's a limited one. As I wrote earlier, store the depth alongside the (relative) path and you don't have to guess it afterwards anymore. (At least I didn't see anything that prevents you from doing this.)
  9. Sacaldur

    C# Path relation lookup

    It seems like you're discovering the file system (starting in directory X, retrieving all files and folders, and continuing recursively), store the paths, and afterwards try to do things with the path. Instead of only storing the path, you could as well/instead store the resulting priority, and use this value directly. (This of course assumes that the units are defined just by having files in the file system. If the settings contain arbitrary paths, then this wouldn't work, of course.) Besides that, keep in Mind that path equality is case sensitive on some systems and case insensitive on others. Your current code would only work on Windows without problems, and could in theory cause issues on other systems.
  10. As @dmatter pointed out, some features aren't part of the language itself, but rather of the STL (or Boost). Since in other languages (C#, Java, Python, ...), the default library is such an integral part of the language, some language features can completely depend on the existance of this library. An example would be MyStruct? value; wich is equivalent to System.Nullable<MyStruct> value; and thus requires System.Nullable to be present. The short-hand events (meaning you don't implement add or remove explicitly) rely if I'm not mistaken on a List implementation or another data structure to handle += and -= assignments. On the other hand, the explicit syntax (comparable to properties in C#) doesn't depend on any library, because basically only offers an alternate syntax for method calls to add and remove (similar to properties with get and set). On the other hand, one complaint about properties I heard was "this way you can't differentiate between a direct member access and an (implicit) method call just by looking at the call itself". This would apply to events as well.
  • 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!