Jump to content
  • Advertisement


Senior Moderator
  • Content Count

  • Joined

  • Last visited

  • Days Won


swiftcoder last won the day on September 19 2018

swiftcoder had the most liked content!

Community Reputation

18930 Excellent

About swiftcoder

  • Rank
    Moderator - Game Programming

Personal Information

  • Website
  • Role
    Game Designer
  • Interests


  • Twitter
  • Github
  • Steam

Recent Profile Visitors

113960 profile views
  1. swiftcoder

    Has C# replaced C++?

    Wow. I haven't seen a 7-page-deep language debate since... at least a site redesign ago Potentially controversial opinion: C# chiefly competes with Java and Objective-C, not C++. While you can certainly use it to replace many uses of C++, it's been more heavily marketed into the Enterprise and mobile app spaces (and in both spaces, it's pretty successful). Unity has caused a big uptick in the use of (a somewhat weird flavour of) C# for gamedev, but I don't see it gaining a lot of other traction outside of tools development in the games space. If you are looking for languages capable of unseating C++ from the niches where it's currently pretty dominant (gamedev, some embedded programming, a lot of high-performance networking and compute), I'd say about the only game in town right now is Rust. But it's too early to tell if it's going to make a big dent outside of mission-critical software.
  2. swiftcoder

    the Best way to Share a Project

    GitHub allows you to collaborate even on private repos. Go into the repository settings, and you'll be able to add other folks by their github account. I believe the free offering limits you to three people per repo.
  3. That's a 75 exabyte image, by the way. In practice very few prints go even into the max size of a TGA file - print costs scale even faster than memory costs, making it economically problematic to print even multi-gigabyte images at full resolution.
  4. According to the official numbers, it works out to just 1 pixel per inch. Which is still pretty ridiculous, given how big it is.
  5. In the real world, billboards aren't printed at 300 ppi.
  6. swiftcoder

    Adler32 vs CRC32 for Asset ID

    Using hashes for asset IDs is conceptually a bit weird. Most hash functions don't go out of their way to prevent collisions, and most algorithms that use hashes are designed to be able to resolve collisions (typically by comparing the actual unhashed data). You may be better off using a hash function that actually increases the odds of collisions, so that you test the collision recovery procedure on a regular basis. Otherwise you risk ending up in the position of having to implement recovery after you discover that things have gone horribly wrong... and that's always good fun
  7. swiftcoder

    Creating Sphere with GL_TRIANGLE_STRIP

    I submit that an icosphere is not particularly tricky to generate algorithmically. Once you have hardcoded the indexing of the base icosohedron, subdivision is fairly straightforward. To put my money where my mouth is, here's a straightforward implementation ripped from a current project (feel free to use/adapt if you like). I'd also say to the OP, that triangle strips aren't really a worthwhile optimisation here. It's quite tricky to generate a sliced sphere in a single triangle strip (typically requiring the introduction of degenerate triangles), so at best you'll save a (very small) amount of memory, and at worst you end up rendering using multiple strips which means multiple draw calls... and that's more expensive than just using a triangle list instead.
  8. swiftcoder

    Weird lighting when translating object

    You need to re-normalise the normal vector in the fragment shader. The interpolation between adjacent normal vectors that occurs between the vertex and fragment stages changes the length of the normal vector.
  9. swiftcoder

    Is references to other products allowed?

    Insomniac and Microsoft also have the benefit of in-house legal teams, which puts them on a somewhat different footing to an indie developer. They can have experienced IP lawyers perform a risk analysis on those references, and they have already factored a certain overhead for legal costs into their budgeting.
  10. swiftcoder

    Is references to other products allowed?

    Glancing at DinoRun's hat wiki, I'd be pretty hard-put to tell that was a Mario hat if someone didn't tell me - it's a tiny image of a pretty generic hat, that just happens to be red with a white dot (not even an 'M'). I'd imagine they are relying on that being ambiguous enough that Nintendo won't bother to send them a cease-and-desist. Keep in mind that you can run afoul of both copyrights laws and trademark laws in this sort of thing, and they are quite different. If you plan to include references to famous video game characters in your game, you should talk to a lawyer first.
  11. swiftcoder

    Software for designing a 2D world map?

    Something like Tiled comes to mind?
  12. swiftcoder

    Find the outline points of an object

    As GoliathForge says, this is a lot easier if you subdivide the polygons wherever T-junctions exist (i.e. wherever a shorter edge is overlaid on a longer edge).
  13. swiftcoder

    Find the outline points of an object

    I'd typically define it as "all points bordering empty space", by which definition every single point in your first image is part of the outline. Is this the definition you intend? The easiest way to accomplish this is to think in terms of edges instead of points. Any edge which belongs to two polygons is an interior edge, any edge which belongs to only one polygon is an exterior edge. The set of points in the outline is the set of points belonging to exterior edges.
  14. swiftcoder

    Slopes and Curved Floors in Platformer

    Typically you would do this by casting a ray downwards from the character's feet, testing that ray against all objects in the scene, and using the intersection point and the intersection normal vector to calculate whether the character stops or slides. If you have a lot of line segments/curves to deal with, you probably want to use a spatial partitioning structure (for example, a quad tree) to avoid casting the ray against every object in the scene.
  15. Anyone know of a handy reference for the max norm (l^infinity norm) distance calculations for the usual primitive shapes (sphere, box, torus, cone, pyramid, etc)? The SIGGRAPH talk "Learning from failure" about the tech in Dreams mentions the max norm producing better signed distance fields (particularly with respect to octree generation) than the standard euclidean distance everyone uses. Simple shapes are fine to derive by hand, but the seminal paper is making my eyes glaze. Ideally, some enterprising soul would have already derived a bunch of these, along the lines of Ingo Quilez' distance functions reference. Edit: for those following along, shadertoy has a derivation for an ellipsoid, along with an interesting discussion of how to perform rotations in max norm context.
  • 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!