Jump to content
  • Advertisement

swiftcoder

Senior Moderator
  • Content count

    9998
  • Joined

  • Last visited

  • Days Won

    3

swiftcoder last won the day on March 16

swiftcoder had the most liked content!

Community Reputation

18828 Excellent

About swiftcoder

  • Rank
    Moderator - Game Programming

Social

  • Twitter
    0x21376B00
  • Github
    swiftcoder
  • Steam
    swiftcoder

Recent Profile Visitors

110782 profile views
  1. swiftcoder

    Writing portable Vulkan

    I guess some things never change
  2. Folks continue to tell me that Vulkan is a viable general-purpose replacement for OpenGL, and with the impending demise of OpenGL on Mac/iOS, I figured it's time to take the plunge... On the surface this looks like going back to the pain of old-school AMD/NVidia/Intel OpenGL driver hell. What I'm trying to get a grasp of is where the major portability pitfalls are up front, and what my hardware test matrix is going to be like... ~~ The validation layers seem useful. Do they work sufficiently well that a program which validates is guaranteed to at least run on another vendor's drivers (setting aside performance differences)? I assume I'm going to need to abstract across the various queue configurations? i.e. single queue on Intel, graphics+transfer on NVidia, graphics+compute+transfer on AMD? That seems fairly straightforward to wrap with a framegraph and bake the framegraph down to the available queues. Memory allocation seems like it's going to be a pain. Obviously theres some big memory scaling knobs like render target resolution, enabling/disabling post-process effects, asset resolution, etc. But at some point someone has to play tetris into the available memory on a particular GPU, and I don't really want to shove that off into manual configuration. Any pointers for techniques to deal with this in a sane manner? Any other major pitfalls I'm liable to run into when trying to write Vulkan code to run across multiple vendors/hardware targets? ~~ As for test matrix, I assume I'm going to need to test one each of recent AMD/NVidia/Intel, plus MoltenVK for Apple. Are the differences between subsequent architectures large enough that I need to test multiple different generations of cards from the same vendor? How bad is the driver situation in the android chipset space?
  3. My (educated) guess is that a fast-paced 1st person platformer will be immediately nausea-inducing in ~80% of your potential audience. But I'm not aware of a lot of public research on the topic, so your best bet may be to mock up a quick example of the type of motion in Unity, and test it on your family and (soon to be former) friends Third person platformers seem to be a lot better, albeit with some careful constraints on rapid camera movement. All of the 1st person platformers I have tried in VR are designed to e really, really, glacially slow.
  4. swiftcoder

    Week of Awesome VI - 2018?

    It's quite a lot of work to run - I helped out with judging a couple of times, and even with most judges looking at only a fraction of the entries, it is a big time commitment. I've also reached a point in my life where I can't find sufficient time to actually enter a week-long competition. Last time I attempted this I managed to carve out a mere two evenings to work on my entry I have a feeling that either shorter or longer competition timescales work better for a lot of folks at my stage of life - it's much easier to carve out 24/48 hours for a game jam, or work on something a couple of evenings/week for 2-3 months.
  5. swiftcoder

    C++ Common Runtime

    That isn't strictly the case in the modern day. Clang explicitly complies C/C++ down to a portable intermediate psuedo-"assembly language", which can either be interpreted, or more commonly, passed to a backend for native code generation. GCC uses Gimple to similar effect. Most other compilers that I am aware of internals of, operate on a similar model (although the IR format isn't typically publicly documented). Hell, these days one quite often cross-compiles C/C++ to WebASM (Unity and Unreal's web players both work this way). WebASM is typically executed in the browser, but folks have implemented native execution on a wide variety of hardware...
  6. swiftcoder

    C++ Common Runtime

    Apple effectively does this today. They started requiring you to submit LLVM IR alongside your compiled application a little while back, which allows them to recompile/re-optimise the binary whenever they release a device with a new chip/architecture (or even just develop new IR optimisation passes). No need to run the compilation on the client if the app store backend can run it once for each model of client hardware...
  7. swiftcoder

    I can lock my own threads

    I seem to remember this being (at least somewhat) intentional. @khawk may have turned that on for GDNet+?
  8. swiftcoder

    How to avoid bugs

    Bug mitigation is mostly about using the right tools, and developing sufficient discipline. Strongly-typed programming languages help, unit testing, contract-based programming, fuzz testing... lots of techniques available depending on your exact needs. But before you worry about any of that, you need to learn how to program. Don't put cart before the horse.
  9. swiftcoder

    Big Data

    Please don't cross-post the same thing to multiple forums. Feel free to continue the discussion on your other copy of this topic.
  10. swiftcoder

    Why Are There Fewer Sci-Fi RPGs Than Fantasy Ones?

    Could sci-fi possibly have any more rules than DnD? Jeminsin has an entertaining rant on the topic. But seriously, high fantasy is just very familiar to Western audiences, which makes it a very safe bet for Western publishers. By contrast, very little high fantasy comes out of Japan (or goes in, for that matter).
  11. swiftcoder

    Why Are There Fewer Sci-Fi RPGs Than Fantasy Ones?

    Note that the accepted definition of "hard scifi" deals almost exclusively with scientific accuracy, which I don't think is quite what you are going for here. Ok, yeah, there are definitely more high fantasy Western CRPGs than sci-fi. I think that's sort of a historical side-effect of everyone in that space perpetually cloning variations on Dungeons and Dragons / Tolkien.
  12. swiftcoder

    Why Are There Fewer Sci-Fi RPGs Than Fantasy Ones?

    I'm not sure this is actually the case. There are a *lot* of sci-fi RPGs out there, but I think your next point is important. Sci-fi covers a lot of ground. RPG also covers a lot of ground. You are arbitrarily cutting out a pretty big chunk of both with this qualification, and I'm wondering what else is being excluded subconsciously? The are plenty of AAA titles that pretty clearly qualify for the title "sci-fi RPG": the Bioware games (KOTOR, Mass Effect), Borderlands, XCOM, Deus X, Destiny, and so on. But there are a lot that are more subjective. Would we count Bioshock? What about Eve online? Beyond Good and Evil? Spore? Dead Space? Transistor? Final Fantasy? All of the above have the RPG elements, all of them have a sci-fi theme. But I'm not sure they'd all land on a list of "sci-fi RPGs"...
  13. The game mechanics aren't entirely clear after watching the trailer, but that's to be expected for an RPG of some complexity. I am curious whether this will appeal to folks outside of the hardcore RPG audience - most dungeon crawlers I play these days are action RPGs, with significantly less complexity visible on the surface.
  14. swiftcoder

    Dynamic or Static Environment

    That's an interesting question. World of Warcraft's Cataclysm expansion is probably the poster-child for this sort of thing, seeing as they re-modeled the terrain of significant portions of both main continents, merged/split several zones, and even moved some racial starting areas to entirely different zones. I don't know that it makes any real difference in the long run. Because the content in an MMO of such age has grown massively, they've also sped up leveling to the point that no one is actually experiencing the full starting zones as they would have earlier in the games development - you can level in a couple of days through content that would have taken weeks or even months at launch.
  15. swiftcoder

    UDP Confusion c++ sockets

    Are you stopping writing as soon as the return value of write() is either less than the size you requested, or -1 with errno set to EAGAIN / EWOULDBLOCK?
  • Advertisement
×

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!