• Advertisement


  • Content count

  • Joined

  • Last visited

Community Reputation

9475 Excellent

About TheChubu

  • Rank

Personal Information

  • Interests
  1. Data Driven Item component system?

    If you want, you can check out my ECS 'framework' https://github.com/dustContributor/dustArtemis/tree/entity-filter ('master' branch is kinda out of date, ought to merge 'entity-filter' some day...) In my ECS, entities are just integer ids, "steps" in the simulation can process entities that match certain component signatures (via entity filters), and components are just attached or de-attached as you please, the framework can re-filter the entities that changed and pass them to the interested steps. That way you avoid long chains of "if(entity.hasComponent(Health.class) && entity.hasComponent(Enemy.class))" and so on. It doesn't incorporates a way to serialize stuff, that's on the user's shoulders (specially since no one has a definitive idea on how to serialize game data, depends on the game).
  2. Vulkan Vulkan on MacOS

    This is quite cool. Hopefully will make Feral's job easier with their ports.
  3. Game I'm making is not fun

    Killing things doesnt seems fun in that video. I'd add flashy things. Like kill combo messages, or powerups for killing X amount of zombies in less than Y amount of time. With a sort of deep narrator voice and a flashy message on the screen. The combo thing is something you can keep track off. How many x5 kill combos, x10, x25, x50, and some absurd x100 combo. Also the countdown for the next wave? That also could be narrated with some screen feedback like "THREE! TWO! ONE!" That kind of thing. Zombies dropping stuff like coins or something to buy better gear. You know, things to keep the intensity going, to keep the player running and killing stuff. Look at this, it might give you some ideas:
  4. Geezus dude just make a new account and move on. That's how Reddit works and it's one of the things they do to keep one of the biggest internet communities in the planet going. End of the story.
  5. AFAIK engines dont pay that much attention to editor's performance. Runtime performance (as in for the end-user) on the other hand is a big problem. For the editor they just throw hardware at it, since it's cheaper to buy beefy workstations than to dedicate months of man-hours to tune everything. Somewhere in this talk this stuff is talked about, cant recall exactly when, might give you some pointers:
  6. C# Basic C# quiz

    Are these candidates expected to know C#? Is this a position that requires some experience in C#? Otherwise some of the questions simply cant be answered by someone who knows other languages but not C#, like the IEnumerable's Count one, or the one with a generic and abstract class.
  7. OpenGL So I made a styling language for OpenGL Apps

    To be fair the situation of UI libs for Java that can be used in games is pretty annoying right now. You have stuff like TWL, which sounds cool and all but it has its own renderer, based on GL 1.1 of all things, and you'd have to code one for it if you ever want to use it on say, a core GL context or Vulkan. Of course, if you use core GL or Vulkan, it is going to be a total pain because the whole lib has the ideas of vertex3f, color3f and friends very ingrained in it, which doesn't maps at all to a modern solution. There is NiftyGUI, which is, again, pretty cool and all but again, it insists on rendering itself, which causes problems integrating it into an existing pipeline, since all state tracking you make goes out of the window when you pass the wheel to NiftyGUI. On the good side, it does has a core GL backend. But as you can see the whole concept of "UI rendering itself" is not good. You have various backends in NiftyGUI: Compat ones, core ones, LWJGL ones, JOGL ones, etc. And thats the rendering part, there is also input handling, which it is also a pain to incorporate into an existing pipeline (and IIRC it tries to do sound too, it's big and messy). LWJGL did, in my opinion, the most sane thing and incorporated bindings for Nuklear, which it can be quite a pain in the ass since it is an immediate UI lib (which gets pretty annoying when doing more complex UIs) and the only documentation is in the source code, and it flat out stops after you scrolled through 1/4 of it. On the other hand, the big, big plus of Nuklear is that it knows jack shit of what you're running on. You can use GL, Vulkan, D3D, some abstraction layer like GLFW or SDL for input, or just polling win32 events, it doesn't matters. It provides a tiny API in which you pass input events to it, and it generates memory chunks with vertices to draw for you, that you send to your rendering pipeline however and whenever you want. Integration becomes **super** easy this way. You can draw right away immediate style, or VAO/VBO core style, or deffer for later, or whatever. Your call. So in my opinion, if you offer something that can be easily integrated like Nuklear, and and the same time being easier to use (since it'd be entirely Java side), you could have an audience for this stuff. EDIT: As a side note, using any of the standard libs like Swing or JavaFX with a GL app is also a pain in the butt because the implementations usually depend on big ass non portable hacks to make it work, like the render target hijacking method in JavaFX, or the mandatory compat profile GLCanvas for SWT. And performance just plain sucks in these cases.
  8. C++ Random number issue

    I'm guessing what you want is this: static std::uniform_int_distribution<int> u(1, 6); // Seed the engine only *once* static std::default_random_engine e(time(0)); int roll = (u(e)); return roll; ie, you want to initialize the engine with a seed **once**. And let it generate random values from there. Might be wrong syntax for that though, I don't know if std::default_random_engine has a constructor where you can pass it a seed value. Someone with more C++ experience can tell you how to do that properly. EDIT: Nvm, it's fine. The seed in that case will be the current time of the system. So it should vary enough across playthroughs to be useful. If you take out the seed, what happens is that the generator gets initialized with a default seed every single time, and these random number generators are deterministic. ie, if you seed it with the same number, they'll produce the same sequence of values. That's pretty useful because it allows you to reproduce them if you keep around the seed that originated them.
  9. Need guidance for first game

    In my not-so-experienced-in-finishing-2d-game-projects opinion, Unreal Engine is overkill for what you're doing. Game Maker Studio 2 sounds like a good idea. You could try out free/open source 2D game engines before though: Godot Engine https://godotengine.org/ Torque2D https://www.garagegames.com/products/torque-2d CoronaSDK https://coronalabs.com/ Cocos2D-x http://www.cocos2d-x.org/
  10. Said every regular idea guy ever.
  11. Is Phil Fish a Jerk?

    Eh, I'd have done exactly the same with my 15min of fame. Get invited to a con, and tell a japanese dev their games suck. Now I'll have to think of something else...
  12. Culling cone frustum

    Have you searched for cone-box, cone-sphere and cone-plane intersection? Those ought to be enough to code some culling. It's a regular cone, the hard part of the usual frustum is that it has tons of planes, so you need to do intersection with each, but a cone is a more basic shape so there are equations to test directly for it.
  13. xaudio obviously isn't multi platform, if that's what you're asking. It works on Xbox (afaik), Windows, and that's it. You could try https://www.fmod.com/ with an indie licence. Anyway, whatever audio lib you use, it'll probably work on top of the native audio layer of the OS. Say, OpenAL Soft will work on top of ALSA/PulseAudio on Linux, WASAPI/DirectSound (or whatever else they have) on Windows, and so on. So if you go below OpenAL level, you get into platform specific code.
  14. Mobile Game Studio XP = "lndustry"?

    Mobile market is a huge part of the video game industry right now (biggest maybe?), so I'd say yeah, it is.
  • Advertisement