ongamex92

Members
  • Content count

    565
  • Joined

  • Last visited

Community Reputation

3260 Excellent

About ongamex92

  • Rank
    blqkkk

Personal Information

  • Interests
    Programming

Recent Profile Visitors

14149 profile views
  1. World of WarCraft, I still play it, but extremely casually, like max 3 hours a week, which is not enough for a mmo. Each time a new expansion gets released I take a few days off work just to play WoW,
  2. Bullet - btGhostObject

    I cannot spot directly the mistake you've got, it should work I guess... However a few weeks ago I had a problem with ghost objects with Collision Shapes that had scaling. It really did not work. After fighting a few battles, I've switched to btCollisionWorld::ContactResultCallback (see contactTest in btCollisionWorld or btDynamicsWorld for details). It works better for me and the rigid body used for triggering doesn't need to be in the dynamicsWorld for this to work.
  3. Congratulations! I hope you earn for at least a few more games with that one
  4. You could use scissor: https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glScissor.xml Basically with scissors you can define a single rectangle in screen space, and everything that is outside of it does not get rendered. The idea is, when you render things that should be visible only in a window, or a list box area, you set the scissor rect to be position and sized so it covers the whole visible area.
  5. Basically this is a repost of my blog https://ongamex.github.io/c++/2017-09-28-cpp.reflections/ In short this is a simple C++ reflection system, that enables you to store and later access, a description of the data types that you're using. The features that I really wanted out of it were fast built times and custom tagging. You can directly see the minimal example here https://github.com/ongamex/blog.reflections
  6. Is Sublime Text a valid option for C++ development?

    As said above, easy debugging is the feature that you want to go after. Especially when you are learning. Being able to break the program, see the current state is the No.1 tool that will shorten the learning curve the most. That's why I recommend Visual Studio Community Edition, it has the best debugger integration. And do not worry about not learning how to call the compiler/linker manually, it is a trivial thing, and when you need if you need it you can always look it up, it's not a big deal. So again, go after the debugger.
  7. Level editing for 3D platformer

    Thanks a lot for the input! I've put this issue on halt, but I'll probably do the tiles thing.
  8. This is basically a duplicate of what I've wrote on my recently created blog (https://ongamex.github.io/maya/mel/2017-09-08-Maya2DAnim/). In order to do 2D animation in Maya, you have to import the images, assign them to material, then assign those materials to planes, and those planes must be properly sized with correct UVs, in order not to stretch the images. Doing this by hand is extremely annoying, so I wrote this script // <?php This is actually mel script, I'm just using the syntax highlight for php ^_^ // This scripts creates a planes and assignes to them materails // that use 2D textures for their colors. Useful quickly importing 2D // things for animation. proc string obtainFilename(string $path) { $filepart = match( "[^/\\]*$", $path ); string $buffer[]; tokenize $filepart "." $buffer; return $buffer[0]; } proc textureTo2DPlane(string $textureFileName) { $filename = obtainFilename($textureFileName); // Create the texture and a 2D placement for it. $textureFile = `shadingNode -asTexture -isColorManaged file -name ("file_"+$filename)`; $texturePlacement2D = `shadingNode -asUtility place2dTexture`; connectAttr -f ($texturePlacement2D+".coverage") ($textureFile+".coverage"); setAttr -type "string" ($textureFile+".fileTextureName") $textureFileName; // Create the material and attach the file as an input color. $material = `shadingNode -asShader lambert -name ("mtl_" + $filename)`; connectAttr -f ($textureFile+".outColor") ($material+".color"); connectAttr -f ($textureFile+".outTransparency") ($material+".transparency"); // Obtain the size of the texture. float $size[2] = `getAttr ($textureFile+".outSize")`; // " -axis 0 0 1" will make the "plane" in XY plane, facing Z. // "sx" and "sy" control the amount of segments in each plane. $mesh = `polyPlane -w ($size[0]) -h ($size[1]) -sx 1 -sy 1 -axis 0 0 1 -name ($filename)`; // Now apply the newly created material. // TODO: Check if we could do this without selecting. // TODO: Should I create a default shading group? select $mesh; hyperShade -assign ($material); } proc promptForFiles() { string $filenames[] = `fileDialog2 -fileMode 4 -caption "Import Image"`; HypershadeWindow; for($i = 0; $i < size($filenames); $i++) { textureTo2DPlane($filenames[$i]); } } promptForFiles(); You can execute it directly in the "script editor", or create a shelf button that executes it. I hope you find it useful
  9. Level editing for 3D platformer

    Last bump ;( Any help/suggestions are still appreciated
  10. I'm currently creating a level editor for myself. My game has a lot in common with 3D jump'n'run plaftomer games. Basically I imagine my level being structured very similarly to this : https://www.youtube.com/watch?v=xCk0T-0Z3cU&t=21m30s 1st approach - a way to do this, is with some parameter based shapes : boxes, cylinders, slopes, stairs, ect. that are "skinnable" eg. I can specify a theme that will be used to texture them. Examples could be: forest, city, snow, cloud, ect. I actually did some prototyping(see the screenshot) of that and it works just fine, especially well for the physics, since the collision shapes are well defined (a convex hull for the slope, 3 boxes for 3 stairs ect.). The thing that concerns me is the texturing. I'm not exactly sure how to do it. Basically I want my objects to be scalable, while textures maintain their size relatively constant in world space, and (if possible) make the texturing seamless across primitives, basically if I snap one primitive to another I want them to feel like 1 shape. 2nd approach - to have a set of predefined tiles, that are already textured and create shapes out of these tiles. This sounds good, But I really do not know how to approach this. Additionally if every tile has it's own collision shape for the physics the physics simulation will get pretty slow (I'm using bullet physics). Do you have any tips how should I approach this? 3rd approach - Well your experience here All suggestions are wellcome
  11. Break of game development

    Maybe you're not happy with the things that you're writing. I remember a few weeks ago you've posted a 1 header library for some OS dependent stuff (windows/threading/fileIO/...). And I'm sorry if I put you down, even if it is a tiny bit, with my comments, that wasn't my intention at all. Otherwise if you weren't happy writing these kind of things you maybe should do it some other way. A while ago I had a "pride", that really prevented my to do the thing I want, just because couldn't swallow the fact and I didn't wrote everything. Maybe I still have this problem (and I'm certain that for some things I still do), but I'n my case I really did not want to use any 3rd party libraries for my game @home. I really wanted to write a rendering API(a warpper around D3D GL ect.) - and I did I really wanted to write a shading language(that gets translated to HLSL/GLSL) and I did I really do not like SDL and i wanted to write a window abstaction API - and I did I do this at home after work and it was and still is very time consuming. I surely learned a lot while writing these, and I'm kind of happy with the right now, but during that period I had that pride fight. After that I needed a UI for game in game editing stuff, and I really wanted to write a UI library. After a few days I kindof managed to swallow my pride, and just use Dear ImGui. I like that the library is there and easy to set up, but I do not like the API and I do not like the coding style, but I kind of convinced myself because other on the interned proved to me that the lib is stable and sufficient, so I swallow my pride and started using it, and kind of lying to me that one day I will write one. The next thing in the same fashion as the UI, was the physics and collision. at 1st I wrote something that wasn't physics based at all (it was that thing that the player is a sphere/ellipsoid and you slide it against a triangle soup) but it wasn't that flexible. So I started looking at how to write a physics engine. again I had a fight with myself and I agreed with my otherself that I should use bullet physics - yes it has bugs, yes the API is kind of strange, but I had to keep the work going, after all I wasn't sure if my game is suitable for physics, and I had to test it as soon as possible. (I will write a physics thing one day). The next thing is the level editor, now about that... well I kind of wrote one, It isn't completed yet I believe that I can make it pretty usable. I'm kind of justifying it with ; "I want my game to have a level editor for the players" "I can make tools that help me edit the world faster". So this is kind of justified and I have to admit it is really fun, I'm really interested in DCC. I'm not sure if I communicated my point, but in my head I've got two persons I call them (for this example, because I know you are familiar with these people): - The Muratori guy - that guy is usually angry (at least this is my image for him...) and want to write everything by himself - The reasonable inexperienced wanna be a gamedev - who just wants to see a game going. The true "me" where I;m subconsciously happy, Is somewhere in between, but I'm not sure where, because I forced my mind to bend around some ideas, that some of them are mine, some of them are taken directly form someone else that I think (or all other people think) are smart. I'm kindof finding my way out of this situation, but it took me a lot of pride swallowing(and it still takes some...) to make me happy with the things I do. Maybe in your case it is not the physics engine, the UI or the level editor, maybe it is something else. If this is not the reason why you're unhappy, I wish you to find the real reason why and overcome it!
  12. Looks very cool! I'll check it out!
  13. Day 1 - Do not use physics engines for platformers

    I'm in progress with the same thing, but in 3D. For the slopes(and actually all walkable surfaces) I use the 90 degrees rotated normal of the ground for the waking direction, that way the "walking" velocities are always perpendicular to the ground. Additionally I disable the gravity when the player is grounded. I'm still not happy with my implementation, I will write when I do it correctly.