• Content count

  • Joined

  • Last visited

  • Days Won


TheChubu last won the day on September 30

TheChubu had the most liked content!

Community Reputation

9459 Excellent

About TheChubu

  • Rank

Personal Information

  • Interests
  1. 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 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.
  2. Distance between 2 points

    Here, check this out
  3. 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.
  4. How to protect yourself and your game?

    Any kind of business endeavor works like that. You implicitly depend on that all the people involved aren't insane. That it wont turn out that the "John Williams from DC" artist guy you contracted is actually Juan Carlos Lee, who lives in Mongolia taking care of sheeps, and has been selling what whatever he was making for you to multiple people at the same time behind your back for two years. Or that the sound effect gal you hired isn't actually just stealing other people's sounds and slightly tweaking them when you ask her to do so because they don't sound appropriate for your game. Everything is a gamble. You can just make some efforts to make your fall softer if it comes to it.
  5. Creating a custom window UI on windows10

    I'm looking at what you linked but I have no idea what I am looking at.
  6. How to protect yourself and your game?

    Geez, the point was that you can't do that much. You can make them sign stuff, you could try your luck filling DMCA requests to the sites where they uploaded your stuff, but there are no guarantees. If you contract someone who lives on a dirt house in the outskirts of Cairo, good luck trying to enforce your contract clauses there. The best thing you can do is to try to research who you contract. People with long portfolios and a extensive list of published things will be a safer bet, but they wont be cheap. You could try to luck out with a newbie that looks that has talent, but you can't guarantee he/she wont screw you over.
  7. 2D PreLoad of texture in vb6

    For VB6 and D3D8? Yeah, just do the following: Don't.
  8. Converting My Flash Games To HTML5

    Eh, if you search for any of them you find out that Swiffy is from Google, Shumway is from Mozilla, and Haxe is a whole language/platform started in 2005 with a couple current popular game development frameworks (OpenFL, HaxeFlixel, etc). So I dunno where you got the idea any of them aren't "legit". Also as what to use. Shumway doesn't converts anything apparently, it's just a SWF renderer. Swiffy was a converter web service that Google shut down in 2016 (closed source). And with anything else well, you'll have to reimplement your stuff in another technology. Haxe can compile to ActionScript, maybe it can go the other way around? That's what I figured it out after 3min of Googling those names, I suggest you try the same.
  9. Material Design in Games?

    Games usually have UIs that match the game theme. Material design might not work well for a steampunk game, or a farm game, and so on. For instance, Deus Ex has its whole UI built around triangles, gold, black and white. You put material design on it and it looks very out of place. You grab something like a medieval fantasy game and you get these ornamented borders on menus, metal or wooden surfaces, etc. The only example I can think of right now of non-orthodox "game theme matches UI theme" is Skyrim. It's menus are quite modern with transparent surfaces, sharp borders and highlights, kinda material'y if you wish. Still you can see details here and there with the ornamentation I described (line drawing mostly). That UI doesn't screams "medieval fantasy" precisely, but look at ornamented borders. It's like "modern" medieval fantasy. It was really interesting for me when Skyrim came out. Look at Deus Ex Mankind Divided's Looks futuristic, preserving the gold, black and white colors of the overall theme of the game (hell, in Human Revolution they had a friggin golden post process throughout the whole game). Diablo 2's UI You get these very ornamented gold/silver metal thingies everywhere. In short, I don't think you'll find examples of material design in game UIs unless you see cartoony games, ie, something that has a tone that would match the usual material design colors and shapes.
  10. Eh... Before looking for engines and stuff: You can't make that game. That's not your property.
  11. That. Exactly. Nothing more fun than attaching an InputComponent to a random cube and control it with the keyboard lol
  12. Hm... I think I'd do the following. Have a BaseStats component that has, I dunno, fields like meleeAttack, magicAttack, fireDefense, meleeDefense, that kind of thing. A Modifiers component, with the same fields, except these are cumulative, and it has a modifiers list inside. The list of modifiers is a list of functions that receive the original stats (or the entity altogether), and the Modifiers component itself. Each function computes the modifier (using the BaseStats component as reference, or the entire entity and fetching other components as needed) and stores it in the destination component, which is our Modifiers component. class Modifiers { float meleeAttack; float magicAttack; int luck; // etc List<Consumer<BaseStats, Modifiers>> modifiers; } class BaseStats { float meleeAttack; float magicAttack; int luck; } var cmp = new Modifiers(); // Say, artifact that absorbs 20% melee attack and turns it into magic attack cmp.modifiers.add((base, dst) -> { dst.meleeAttack += base.meleeAttack * -0.2; dst.magicAttack += base.meleeAttack * 0.2; }); // And say we also have a charm that increases our luck. cmp.modifiersList.add((base, dst) -> { dst.luck += 1; }); // Adding the component to the entity. modifiers.add(entityId, cmp); // In the modifiers system. for(var e : entities) { var mods = modifiers.get(e); var base = baseStats.get(e); // Clear last tick's computed modifiers. mods.reset(); // Compute new ones. for(var mod : mods.modifiers) { mod(base, mods); } } /* * Now either have a FinalStats component that has the final values pre computed, * or do baseStats + modifiers each time you want to use any stat. */
  13. OpenGL Low framerate during first seconds

    Are you running in fullscreen at 4k or something? Say, on my Windows 7 desktop I get around 100Mb of GPU memory used constantly, the rest is available. So if you have anything else running that hogs VRAM, close it (games, videos, chrome, whatever). See how much your application is actually taking. Try running it in a 800x600 window.
  14. Yeah it isnt, but this has nothing to do with ECS. In a "proper" engine you have spatial structures that have all physical entities inside it with their collision bodies (that can be as simple as a box, or a bunch of other primitives attached together). This is often handled by the physics engine, you can check out Bullet for instance (if you're doing a 3D game) or Box2D (if you're doing a 2D game) to see how they work and how they're used... Or you could go down the path of trying to implement your own spatial structures, in which case you'll never finish anything. Your call. Anyway, these structures can do neat things like you pass it some primitive, and it tells you all the stuff that collides with it. In this particular case, what you'd do is to issue a query into that spatial structure, our primitive being an infinite ray (which would require for us to check the distance later) or a line segment (from the player up to the bullet's range), pointing in the direction the player is firing. The physics engine/spatial structure will tell you what entities did you hit. With that information, you could check if those entities have a health component, and if any of they do, decrease it. Because in "pure" ECS, components have no logic. You implement it in the systems. That player class with a "process input" method? That'd go into an InputSystem that processes entities with Player components (and **only** those). I suggest you google for "ecs library" and see what it turns up. No sense in reinventing all of this when you can draw inspiration from tons of ECS libs that have been spawned.