Advertisement Jump to content
  • Advertisement
    1. Past hour
    2. Hi yeah, the next possible project is a voxel based RTS game, im just wondering if i can use my 'traditional' engine and just draw the arts in voxel form or like there is a need for it to be pure 'voxel' engine but i dont know what it actually means.
    3. Maybe I can help you. Ofcourse I can be caught on some questions but I used to be a thermal analyst (mechanical engineering) for about 9-10 years on projects from telco, automotive lighting, commercial aerospace and non millitary D&S (sounds like oxymoron but D&S is the name of branch).
    4. Yes, I agree with this. But why do I have to signal again? At the end of every frame I put a commandQueue->Signal right after commandQueue->ExecuteCommandLists. This means when I upload work to GPU, there will always be a Signal at the end of it. So why do I have to signal again when I want to clean up. Why can't I just wait for that Signal I put after the ExecuteCommandList? Is it caused by the extra system call thing mentioned on this page? My code is here. Uncomment this in main.cpp to enable debug layer. // debug layer if (!EnableDebugLayer()) { MessageBox(0, L"Failed to enable debug layer", L"Error", MB_OK); return 1; } Uncomment the above two code snippet to see this error.
    5. kseh

      Dungeon Crawler Challenge

      It feels simultaneously like there's plenty of time and no where near enough. But you seem like you're in good shape. Looking forward to seeing the result.
    6. Today
    7. One way to go about it is to code what to do when the user enters a verb in a separate object, a Behavior object. Such a behavior object decides what should be done for a single item. Each item thus has a behavior object for each verb it responds to. If the user types "open chest", the system looks for an 'open' behavior object in the chest item, and runs it if it exists. One Behavior class may always open the item, while another class would first look for a key Item in the inventory, for example. Thus if you give the Chest Item a AlwaysOpenBehavior object, it would always open, while if you give it a OpenWithKeyBehavior object, you will need a key to open the chest item. This means that for every kind of 'open' you need to code a class, but that's unavoidable anyway (somewhere you do have to specify all possible variations that you want to have), but for different items with the same open behavior, you can re-use the same behavior class to make another 'open' object. The next puzzle you'll run into is that you want to have a zillion items, each with a zillion behaviors. I would suggest you store such information in a textfile, so you can easily edit it, At startup, you load the textfile into the program, and build all items with the correct behaviors into your Level/Area.
    8. _Silence_

      Deferred shadowmapping

      On you first post, you wrote: But looking at your shadows you don't look to apply any orthographic projection. It looks like if your light is coming from a point at the long of the blue line, at the top of your screen. Try first to fix this. Ensure that your scene if visible from your light point of view. Your cone has no shadows, this is also very weird. Put some ambient term, this will allow to see better how your shadows are looking. Finally, do you follow any tutorials ?
    9. goodamr

      Numbers Planet: Games and Puzzles

      This is a collection of more than 25 simple and challenging games about numbers and math.It includes the following games:----------------------Math Addition +, Math Multiplication x , Math Division ÷ and Math Subtraction -: Connect 3 or more numbers so that their result is equal to one of the targets.Connect Numbers, Connect Numbers 2048 Style: Match 3 games where you connect 3 or more same numbers.Columns 2048 Style, Columns Addition Style, Columns Erase Style: Match 3 games where you direct the falling columns to make 3 or more same numbers adjacent to each other.1 + 2 = 3, Arithmetic Challenge: Math addition, subtraction, division and multiplication game. Touch the correct answer.Duel 1 + 2 = 3, Arithmetic Duel: Math games where 2 persons are competing on the same device. The score will be counted for the person who touches the correct answer first.Matching Cards Easy Level, Matching Cards Medium Level, Matching Cards Difficult Level: Math matching memory games.Draw Numbers: Match 3 game where you draw the top numbers on the empty bottom blocks, making 3 or more same numbers adjacent to each other.Merge Numbers: Same game where you touch the group of the same numbers.Numbers Battle: destroy all numbers by shooting the correct bullets on each number.Numbers Clock: Shoot numbers on the clock so that their positions are ordered in ascending order.Touch Numbers in Order: touch the numbers in ascending order from 1 to 30 as quickly as possible.Sliding Numbers: Sliding puzzle game to arrange the cards in ascending order.Who jumps? 1 or 2: Touch the right or left half of the screen so that number 1 or 2 can jump without colliding.Falling Blocks: direct falling blocks to complete rows with no spaces.Chess Knight: direct the knight to touch all the squares of the chess board with the least number of movements.Color Arrow: touch screen when the color of the arrow is the same as the color of the opposite side of the circle.Classic Snake: Direct the snake to eat the apple.---------------------------- More games will be added in the near future.If you are left-handed: you can change the position of the buttons to the left of the screen from the settings page.Feel free to tell us your feedback, ideas, suggestions, requests, bugs and rate our game.Enjoy playing !
    10. Kryzon

      Is limbo game 3d or 2d

      Some articulated characters in Limbo are definitely done with sprite meshes (subdivided flat meshes with a transparent textures that can be deformed to animate the character, like using Spine, Moho or Live2D Cubism), plus there's lots of layers and shader effects (lots of blurring, glows). So it's not 3D in terms of camera angles, but it's definitely using 3D technology for rendering. So I'd consider Limbo as 2.5D.
    11. goodamr

      Columns 2048: Match 3 Numbers

      You have to direct the falling columns to make 3 or more same numbers adjacent to each others only horizontally or vertically. Then, their sum will be converted to the nearest number in the series (2, 4, 8, 16, 32, 64, ...), It’s the repeated multiplication of number 2. It’s game over when there is no space for the falling column to land. It’s a beautiful and addicting game especially when the adjacent numbers are falling in a way similar to the falling dominoes. If you are left-handed: you can change the position of the buttons to the left of the screen by touching the hand icon in the main page.
    12. I believe there was a bug in current releases regarding outputting the names of final released objects, except resources. That was fixed relatively recently. The easiest way to know that a given command queue is idle is to signal a fence on it and then wait for that signal to complete. You can either do this on an existing fence with a higher value that you know hasn't been queued yet, or by creating a new fence and signaling it to 1 greater than its initial value.
    13. Hey Everyone, Yup, that's right i'm offering free music composition for your pixel art style game. I was one of the few composers who worked on a game called Dungeon Souls I've mainly worked with Orchestral and Electronic stuff, but recently getting into 8-bit, chip-tune style. If you're looking for some music for your game, my music can be found here: Orchestral - 8-bit - If you have any questions let me know! Regards, Nick
    14. DavinCreed

      Dungeon Crawler Challenge

      I'm late to the game, but I'm going to attempt this challenge. I made a small tile set for it. I also had a few versions of the main character before I settled on something very basic. The first version, I was going to use an asset I got through Humble Bumble, but it didn't fit right. So I tried to modify him enough to make him fit what I wanted, and that didn't work out too well. So I tried making my own from scratch (the bald guy on the right), but that didn't seem to fit very well either and might have taken a long time to create the assets. I even tried making a simple smiley face that would change color and expression based on its health. The version I settled on was pretty basic, but I think still fits well into my vision. I can always improve on it later. So I cranked out most of the animations I'll need. I also made some rat graphics to be the first enemy. My plan is to mostly make my game a lot like the ASCII Rogue I spent a lot of my young years playing. I also had an idea floating around in my head for years about a health system a little different than the usual. It's not an entirely original idea, but I really want to try it out to see if it will work out as a fun game mechanic. The system is geared around injuries and how those injuries affect the body. Loss of blood affects strength, energy, speed, eventually consciousness, and other things. So a cut has more long term issues than the initial damage. It also heals over time. I'm not trying to make it realistic, I just want to provide more consequences and ways to die than the usual hit points depleted, ran out of food and die instantly. I don't know, I hope it works out. I had made a few prototypes in js, the last one was very complex. But for this I decided to boil the concept down it's the most basic elements for testing out the concept. So I made this prototype: It's a lot more basic than my previous prototypes. There are only a few entry points and once it's in place it shouldn't be much work to utilize. One addition I made over all the other prototypes, is that I added in food and water so that the player can die from starvation like in the Rogue game I used to play. I'm making my game in UE4, so now I need to convert it to work inside that. Which is another reason for me to create a simplified version of it, to make it easier to move over. I plan to add toggles to the game to turn off food and/or water needs for the difficulty setting. So now, in less than a month, I need to port the prototype health system, program the items, weapons, armor, and enemies, then create the dungeon generation system. It sounds so easy when I put it like that...
    15. I encountered this problem when releasing D3D12 resources. I didn't use ComPtr so I have to release everything manually. After enabling debug layer, I saw this error: D3D12 ERROR: ID3D12CommandQueue::<final-release>: A Command Queue (0x000002EBE2F3C7A0:'Unnamed ID3D12CommandQueue Object') is being final-released while still in use by the GPU. This is invalid and can lead to application instability. [ EXECUTION ERROR #921: OBJECT_DELETED_WHILE_STILL_IN_USE] I wanted to figure out which queue is it so I enabled debug device and used ReportLiveDeviceObjects trying to identify the queue. But it showed the same error. All my queues had names and ReportLiveDeviceObjects worked on other resources. After googling around, I found this page. It was a similar problem and it seemed it had something to do with finishing the unfinished frames. Before I made any changes, my clean up code looks like this: void Cleanup() { // wait for the gpu to finish all frames for (int i = 0; i < FrameBufferCount; ++i) { frameIndex = i; //fenceValue[i]++; //------------------------------------------> FIRST COMMENTED CODE SNIPPET //commandQueue->Signal(fence[i], fenceValue[i]); //------------> SECOND COMMENTED CODE SNIPPET WaitForPreviousFrame(i); } ////////////////////////////////////////////////////////////////////////////////////////////////////// // FROM HERE ON, CODES HAVE NOTHING TO DO WITH THE QUESTION, THEY ARE HERE FOR THE SAKE OF COMPLETENESS ////////////////////////////////////////////////////////////////////////////////////////////////////// // close the fence event CloseHandle(fenceEvent); // release gpu resources in the scene mRenderer.Release(); mScene.Release(); // imgui stuff ImGui_ImplDX12_Shutdown(); ImGui_ImplWin32_Shutdown(); ImGui::DestroyContext(); SAFE_RELEASE(g_pd3dSrvDescHeap); // direct input stuff DIKeyboard->Unacquire(); DIMouse->Unacquire(); DirectInput->Release(); // other stuff ... } Obviously it didn't work that's why I googled the problem. After seeing what is proposed on that page, I added the first and the second commented code snippet. The problem was immediately solved. The error above completely disappeared. Then I tried to comment the first code snippet out and only use the second code snippet. It also worked. So I am wondering what happened. 1.Why do I have to signal it? Isn't WaitForPreviousFrame enough? 2.What does that answer on that page mean? What does operating system have anything to do with this? For you information, the WaitForPreviousFrame function looks like this: void WaitForPreviousFrame(int frameIndexOverride = -1) { HRESULT hr; // swap the current rtv buffer index so we draw on the correct buffer frameIndex = frameIndexOverride < 0 ? swapChain->GetCurrentBackBufferIndex() : frameIndexOverride; // if the current fence value is still less than "fenceValue", then we know the GPU has not finished executing // the command queue since it has not reached the "commandQueue->Signal(fence, fenceValue)" command if (fence[frameIndex]->GetCompletedValue() < fenceValue[frameIndex]) { // we have the fence create an event which is signaled once the fence's current value is "fenceValue" hr = fence[frameIndex]->SetEventOnCompletion(fenceValue[frameIndex], fenceEvent); if (FAILED(hr)) { Running = false; } // We will wait until the fence has triggered the event that it's current value has reached "fenceValue". once it's value // has reached "fenceValue", we know the command queue has finished executing WaitForSingleObject(fenceEvent, INFINITE); } // increment fenceValue for next frame fenceValue[frameIndex]++; }
    16. Geonamic

      DORU an idea i'm brewing up just need opiniouns

      On desktop, there should be a blue-highlighted "Edit" word right between your post and your signature, but it seems like you have a timer on being able to edit posts because I can't seem to edit my most recent post... I'm not sure how it is on mobile or any other device. I tried the mobile version of this site, and everything seemed so much harder to work.
    17. We've turned the door to the escape pod into an automatic door. When the player enters the collider of the escape pod doors, the doors will open using an animation. Similarly, when the player exits the doors' collider, they will close with a closing animation. Only the player can activate the doors, no other objects. The script for this action is similar to the script that triggers the elevator animations. Another script was made that parents a key card to the player once the player picks the key card up. The key card will stop being a child of the player once the player releases the key card. This enables the key card to travel through different scenes with the player. - Kristen
    18. ProjectTaival

      Project Taival

      Hi, my name is Marco Tinell and I started up as an Indie Game Developer in December 14th, 2018. It has been my dream since I was a child to be able to do games for a living. I have always loved to be able to think freely - no matter how silly some idea might sound at first, I just have to entertain the idea to see if I can find some non-obvious creative value in it. Innovative ideas need analytic thinking, which have helped me tremendously on anything that requires creativity, like creating 3D models to plan out carpentry solutions as a carpenter. My goals for this project are; • Get better at 3D modeling on more various selection of modeling software. • Learn to make presentable music. • Study on how to make animated videos from scratch. • Get to know some basics about several game engines, before choosing the one that I will use. • To improve my storytelling and compilation skills. • Bringing to fruition a marketable end result and registering a Game Development company.
    19. ProjectTaival

      PC Project Taival

      Something about me and my vision for the project: I have been interested at making games since I was a teenager, but never had the courage to even try, due to my personal issues I have encountered in life. But that has changed recently, as during the years of recovery I have gained more confidence in my ability to learn new things and have had extensive experience in Google Sketchup, as the picture above shows. After reading how it can be used in conjunction with Unreal Engine and Unity 3D, I decided to give it a try, no matter how hard it could turn out to be. This project is an attempt to have a new beginning and thus a very important step forward in my life, which makes it all the more important for it to be a success. I'm not seeking triple A quality and try to keep my goals achievable, but at the same time want to try my utmost to bring my vision to life without sacrificing too much visual fidelity. Hideo Kojima and the Metal Gear -series has also been a huge inspiration to me and I think that at least one aspect of Hideo's advice can be used in the Project Taival as well - "Betray your audience". I want to make this game in both story and mechanic wise, to be as unpredictable as possible. I started up as an Indie Game Developer in December 14th, 2018. I have always loved to be able to think freely - no matter how silly some idea might sound at first, I just have to entertain the idea to see if I can find some non-obvious creative value in it. Innovative ideas need analytic thinking, which have helped me tremendously on anything that requires creativity, like creating 3D models to plan out carpentry solutions as a carpenter. To summarize some features of the game, here is a short list of things; - The game will be in First Person perspective. - It is going to be divided in multiple games, so be sure to expect a sequel. - All the final assets are going to be original content or modified from free assets. - Paid assets remains a possibility, depending on the amount of donations and pre-orders. - The game is based on modern days, but the roots of the story are much deeper in time. - 2 layer game world, similar to Silent Hill, but different. My personal goals for this project are; • Get better at 3D modeling on more various selection of modeling software. • Learn to make presentable music. • Study on how to make animated videos from scratch. • Get to know some basics about several game engines, before choosing the one that I will use. • To improve my storytelling and compilation skills. • Bringing to fruition a marketable end result and registering a Game Development company. For all the latest information, you can subscribe to these social media sites; The best kind of free help you can give me, is advice and constructive criticism. I'm always ready to learn more on how to market my creations and first and foremost develop them in the first place. Second best and free kind of help you can give me, is to spread the word anywhere. Thank you for time.
    20. kseh

      GameDev - Dungeon Crawler Challenge - Part 2

      Looking good. I'm curious to see how the rooms work out.
    21. A variety of things worked on over the past week. I've done some work to get the PC able to jump. The idea I'm thinking of is that there'd be palces with breaks in the floor you'd have to jump accross. I'm thinking of tieing that to the equipment weight you're carrying and decreasing the length of the jump, so maybe a bit of planning would be needed. For that to be meaningful though, I really need to work on what kind of equipment will be in the game. As it is now, you die if you jump off the floor into the "swamp". Having the little splash animation from Frogger was kinda handy there. More noticably though I was playing around with the sprites and ended up turning my human into a rectangle with feet. I kinda like the way it looks so I'm thinking of going with it. I'm hoping that the style will allow for simpler equipment and enemy sprites like my "torch" in the screenshot below that looks suspiciously like a simple red rock. The floor tiles also changed a bit and there's a couple tile transitions that need fixing up like the one south of the PC in the screenshot. I had some basic clothes for the human sprite I was using before. Other than the hats, they don't work for the rectangle so I'm pretty much at a place where I have to be spending time working on clothes, armor, weapons, and any other stuff I can hopefully get into the game. Lots of fun to look forward to aligning where sprites join together. The screenshot doesn't really show much of what all I have done. I'm hoping to get a video of some kind put together over the weekend.
    22. @turanszkij is mostly correct. A resource in the COMMON state can be incrementally promoted to multiple read-only states without the need for explicit resource barriers. Such resources will also decay back to COMMON when the associated ExecuteCommandLists operation completes. Therefore, it is true that static textures can be left in the COMMON state indefinitely, never needing resource barriers once they are initialized. However, non-simultaneous-access textures only decay to COMMON if they were written to in a COPY command queue. DIRECT command queues can promote textures from COMMON to COPY_DEST, but these will not decay back to COMMON. This is because DIRECT command queues may perform copy operations as a render op, resulting in compressed texture data that may need to be decompressed to allow read-access, requiring a resource state barrier. If possible, I suggest creating static textures in the COMMON state and use a COPY queue to initialize the data. This way you will never need a resource barrier for these textures. Let me know if you have any additional questions.
    23. U need to call calc_inv_bind_transform( ) once at load time and in this function your bind_local_transform matrix needs to be set to your matrix_transposed (i.e. for each joint). I'm assuming that matrix_transposed is correct when u create it from file read. This way each joint will have a correctly calculated inverse_bind_transform matrix. So now, your entities_blabla.local_transforms should really be called blabla.final_transforms . It is these matrices that u send to the vshader (joint_transforms), they r the model space transforms of your joints which will transform vertices from their bind pose (where no animation is applied) to the desired/current/final animated pose. To calculate these final transforms, u need this: void apply_pose (joint, mat4 parent_m) { mat4 curr_m = parent_m * joint.local_m; // calculates the joint's model space transform foreach (child : joint.children) { apply_pose (child, curr_m); } _blabla.final_transform [joint.index] = joint.inverse_bind_transform * curr_m; } call it: apply_pose (root.joint, glm::mat4 (1)); joint.local_m == your bind_local_transform == your matrix_transposed (all the same thing). However when u create the animator class joint.local_m will be the new (rotation * translation) transform obtained/calculated in the interpolation function. This will be the bone space transform of your joint in relation to its parent. Yes when u force final_transforms to identity matrices, what u see rendered is cowboy in its bind pose when no animation is applied. This apply_pose () function will do the same thing as well without having u to force identity matrices yr self. When no animation is applied and when joint.local_m is set to the matrix that was loaded from file (your matrix_transposed) then apply_pose () will set final_transforms[ ] to identity matrices. The rendering is then the bind pose. Note also that in some case where the bind pose's root joint is a child of another global scene node then final_transforms becomes: Balblab.final_transforms = global_scene_node_m * joint.inverse_bind_m * curr_m; If global_scene_node_m is not in world or model space, then u will have to also invert it: .... = inverse (global_scene_node_m) * joint.inverse_bind_m * curr_m; If I remember well, this video tutorial did not have a global node attaching cowboy. So first try without this global node. U can try all this without the animator class. When u then get to animate poses, u then want a new function to calculate_current_pose ( ) then u want to call apply_pose ( ) again right after it. And this time, joint.local_m should be set to the new R * T transform. I can't remember the exact name for calculate_current_pose () but it's all in the video tutorials 2 or 3. Or just check his accompanying code. That's it. All the best. Peace!
    24. Yesterday
    25. Pedro Alves

      puting data from my charts

      i have to create new post becouse i can´t edit the first the problem is the following I created a graph and now I want to search for data but I can only if i put statict data but i want put with dinamy data I am using angular 7, nodejs and mongodb what i doing wrong how i convert my chart with static data to dinamic data this is my code let TotalSell = function() { var data = { labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], datasets: [{ label: 'My First dataset', fillColor: 'rgba(220,220,220,0.2)', strokeColor: 'rgba(220,220,220,1)', pointColor: 'rgba(220,220,220,1)', pointStrokeColor: '#fff', pointHighlightFill: '#fff', pointHighlightStroke: 'rgba(220,220,220,1)', data: [65, 59, 80, 81, 56, 55, 40, 84, 64, 120, 132, 87] }] }; legendTemplate: '<ul class="tc-chart-js-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].strokeColor%>"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>' }; var ctx = $("#TotalSell").get(0).getContext("2d"); var chart1 = new Chart(ctx).Line(data, options); var legend = chart1.generateLegend(); $('#TotalSellLegend').append(legend); }; <div class="col-sm-6"> <h5 class="over-title margin-bottom-15" style="text-align:center;">Total Sell</h5> <canvas id="TotalSell" class="full-width"></canvas> <div class="margin-top-20"> <div class="inline pull-left"> <div id="TotalSellLegend" class="chart-legend"></div> </div> </div> </div>
    26. Yeah, you've got me curious on a number of things too. I noticed significant improvements when switching to this method, and not just in GC numbers. So now I'm going to have to compare it to single result and/or layermasked methods. And actually the more I think about it, I have currently over 100 ground objects(tiles), and maybe 2 others that "might" get in the way sometimes.. So it's actually backwards, I think layermasking would help(Me) most of I was looking for something other than the ground.. Hahaha!
    27. If your scene has 100 objects, your original code will raycast against those 100 objects, looking for hits, copy the results of up to twenty objects that hit the ray, and then you check if those 20 objects are ground objects. By using layermasking, we first filter out the 100 objects for ground objects. (Of which there might be only one!) Then we do a ray test on those objects. So even if there is no GC difference, there should be a order of magnitude difference, especially as object count and complexity goes up. That and we eliminate the tag check as well. I don't recall if the single hit method returns the closest or not, it would be pretty garbage if it didn't, but I wouldn't be surprised if it didn't, or if it generated more GC that the non-alloc. Though I wonder how much it of a difference there is if compiling to their il2cpp code.
    28. That's why I emphasized that ECS can actually be very simple and minimal while still providing a huge advantage. I think we are thinking and saying mostly the same. I just recommend to give it a try and build the whole gameplay logic in the ECS pattern, since I have made very good experiences with that. At least with my small, simple games where I never had to care about performance or other things where my ultra-low-tech ECS approach might get in the way. P.S.: Dankeschön
    29. Like I stated at the top, some of these are unoptimized examples using local variables. I reuse non-local arrays to keep from generating excess garbage in production code. I started out using normal raycasts(w/o layermasks of course), it's also important to mention that there's really nothing to mask out in most of my use cases. As the ground object is the only thing that can be collided with. Profiling got me to my present methodologies. I shall now venture to test if layermasking reduces the GC as well. As it stands I don't have any GC of measure. I'm also curious if a single result raycast would guarantee the closest hit as my more resource intensive casts are not straight up and down and often return multiple ground hits that are never in a predictable order... More tests, perhaps the topic of my next blog.
    30. I mean that you no longer need to check for multiple hits, therefore don't need to use the Physics.Raycast that returns multiple hits, which should theoretically invoke much less garbage collection than yours,since no array is required.
    31. You can likely find some experienced/proven freelancers on this site if you post an entry in the classifieds. Given the phrasing of the question, I'm assuming you have the capital to finance such outsourcing. Insofar as partnering with a publisher, or development house, we're talking some serious muscle, or capital, and/or the right prototypes/ideas (which you may have, don't know). In such a case I wouldn't be of much help
    32. Yes you are right (copy-paste mistake). For some reason I cant edit the original post so I'm going to post the code here: Fragment Shader #version 330 core out vec4 Color; in vec2 TexCoord; uniform sampler2D diffuse; void main() { Color = texture(diffuse, TexCoord); }
    33. Hello guys, It was always my dream to create a little game engine (or rather a graphics engine) for fun. I know it's a huge load of work, but that's the challenge. It would be great, if anyone wants to join me in this quest. Programming language doesn't really matter (except for python and javascript.), I prefer C++. I am currently finishing my bachelors degree and have done graphics stuff in the past.
    34. Babaliaris, the fragment shader u posted looks like the vertex shader u posted :-)
    35. If you mean about the vertex specification, you can check it at the constructor of the Renderer class . I don't think I have any vertex data wrong in there. Also I would like to mention that A LOT of people who run Nvidia run my code and everything was rendering fine. But on my computer (AMD GPU) does this. Someone in an older post told me that "Some OpneGL Implementations are more forgiven that others and 99% when a glitch like this appears it's your fault, not the driver's." As much as I want to believe him, I cant' find what else I might be doing wrong.
    36. Vincent Chase

      Deferred shadowmapping

      I was right as it comes to world space position. It was wrong because of this line: float2 cpos = (pixelCoord + 0.5f) * aspectRatio; First of all pixelCoord is already in [0,1] range so adding 0.5 to it made no sense. After changing it to: float2 cpos = pixelCoord; world position is fine. The shadow map still looks broken though. Do you have any further hints on this? I don't like this self shadowing thing:
    37. I really need an experienced game development company to help me with my project that is getting a bit too long to make. Please tell me which companies were the easiest for you to work with 🙃
    38. How many code, it seems to me somewhere there is a problem in the creation of an object - values are incorrectly transmitted. Well, thank you, I openly say that I do not understand, why put a minus?
    39. Sharik

      Weird depth buffer values

      Show your result, curious!
    40. I just signed up and, you know, after seeing this game, I was not disappointed, it is funny!;)
    41. Hello Everyone, Clan N is a beatemup game which combines the classic arcades gameplay with today's modern brawlers. With an ancient far east theme, you'll get challenged across 7 different levels with many different enemies, mid/end level bosses and casual mini games integrated into main gameplay. Features A fast paced beatemup which combines the classic arcades gameplay with today's modern brawlers. A main story with 7 levels divided into more than 50 sections. Levels contain casual minigames which are tightly integrated into the main story and can be played separately as well. Can be played as local or online coop with up to 4 players. A slick and clean pixel based graphics with accompanying far east inspired music and sfx. ScreenShots More information WebSite : Reveal Trailer : Steam : Let me know any questions you may have and happy gaming!
    42. No, even that would be better then camera->move(false, false, false, true); Because even with intellisense it communicates nothing when skimming the code.
    43. jakovo

      Weird depth buffer values

      Ah, I see... yeah, you're right... I had 0.1 / 40000. I don't know why it was set to that, but yeah... changed it and it worked properly too. Thanks!
    44. LoL. Usually when I use enums I'm doing it old style (a bunch of #define statements, not the c++ enum type) bet you would scream more seeing that 😂
    45. I don't have time to look over that huge code dump, but in your main.cpp, the HandleInput... That camera->move() function made me scream then sob. Please, for the love of all that is programming use an enum! enum class movement_direction: unit8_t { forward, back, left, right }; type deal. I'll try and come back later today to look the rest of your code over and see if I can spot anything.
    46. Hi all, I am currently playing around with making a 2D underwater survival game (pet project, not too serious) but I need someone I can sit with for like an hour or so, to help me flesh out some reasonable mechanics for the behavior of liquids and gases in relation to gravity, pressure, etc. (Sorry guys I totally failed science class and have no intention of studying it now). There obviously has to be a balance between what I'm willing to code for and realism and then assistance with understanding some mechanics and how their formulas, etc would work. Some additional info, I am making the game in javascript (web browser) and dont plan on using any physics related engines or libraries. Also my first interests (as a starting point) for development lie in managing water vs oxygen vs immobile material in terms of gravity, weight, flow and pressure, both individually and against each other. The game will naturally use a basic 2D block/grid system similar to what you would see in a game like oxygen not included. If a voice chat not going to be so practical, then here are some of my starting questions: Water has weight and is therefore pulled down by gravity, I know this. I have also heard that water does not compress well, so I probably don't have to worry about deeper water having a higher density due to large amounts of water weight above it. So assuming some constant or formula for gravity and water weight, if you have one tile filled with water, and nothing underneath it, it all falls straight down (not caring much about atmospheric interference). But if you have solid mass underneath, then the water should probably fill tiles to the sides instead. Im guessing a good way of doing this will be to multiply your chosen flow rate by the difference between the fuller tile and the more empty tile or something like that in order to calculate change over time? There should probably also be something else at play here, as the liquid tile falling straight down would be very fast surely vs the 'flowing' into a neighboring tile or am I wrong? Another consideration is how do you handle the concept whereby I believe the water would flow downwards (gravity) first before attempting to flow to neighboring tiles (or am I just being naive here)? Also does gas or high pressure gas have any noticeable effect on any of the 'flow rates'?
    47. Thank you both for your answers! Indeed, as Rutin understood it, there is no need to have both cameras active at once, only one of them. (Although that would be another cool option to consider...!) The point is to have not only a main character but also a second one that plays a parallel role in the story --and some of their actions affect the story in different ways. This particular relationship is a mix of game mechanics and story, and it was difficult imagining one without the other, so I wanted to make sure I had some freedom. Anyway, thank you again. That was my first post, hopefully I'll see you again around here. 🙂
    48. Caused me to laugh at first, now I it's more closer to tears This is where I parse the matrix and after this I do the above calculate_inverse_bind_transform method. std::string matrix_data = el->FirstChildElement("matrix")->GetText();; std::vector<float> f = split_string(matrix_data); float tmp_data[16]; for(int i = 0; i < f.size(); i++) { tmp_data[i] =; } glm::mat4 matrix = glm::make_mat4x4(tmp_data); glm::mat4 matrix_transposed = glm::transpose(matrix); if(is_root) { // correct matrix blender use Z as up-axis we use Y glm::mat4 up_axis_correcion = glm::mat4(1.0f); up_axis_correcion = glm::rotate(up_axis_correcion, glm::radians(-90.0f), glm::vec3(1,0,0)); matrix_transposed = matrix_transposed * up_axis_correcion; } I then send it to the shader like this: glm::mat4 projection_view_matrix = projection * view; shader_use(entities[i].shader_id); shader_setMat4(entities[i].shader_id, "projection_view_matrix", projection_view_matrix); for(int j = 0; j < 16; j++) { std::string name = "joint_transforms[" + std::to_string(j) + "]"; shader_setMat4(entities[i].shader_id, name, entities[i].model.meshes[0].local_transforms[j]); } void shader_setMat4(unsigned int shader_id, const std::string &name, const glm::mat4 &mat) { glUniformMatrix4fv(glGetUniformLocation(shader_id, name.c_str()), 1, GL_FALSE, &mat[0][0]); } I tried to make all matrices the identity matrix and send those to the shader, it then renders correctly, not sure if that proves that it has to be the matrices or that the weights or bones can still be wrong?
    49. I got hung up by it for longer than I should have when I first started using multiple cameras, just didn't click right away that I was multiplying the rendering load...
    50. I assumed the OP is just swapping from one character to the next, not rendering multiple camera views at once, maybe I misunderstood the post. If the OP is wanting more than one camera view to render out then some form of optimization might be required depending on the target specs, and what is being outputted. There will be no performance issue if you're just changing cameras from one area to another but maintaining a single 'active' camera view. Thanks for pointing that out!
  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. 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!