MrCodeSushi

Members
  • Content count

    93
  • Joined

  • Last visited

Community Reputation

1066 Excellent

About MrCodeSushi

  • Rank
    Member
  1. "Anthropologists believe that “modern” humanity appeared about two hundred thousand years ago. Compared to one human life, it may seem old. But in terms of evolutionary cycles, it is in its adolescence and is showing all the characteristics of this, in that it is in search of its identity, is looking for its destiny, is carefree and even reckless, considers itself to be immortal, indulges to excess, defies reason and disregards common sense. This evolutionary stage, with its share of di...
  2. Sharing my 2D platformer demo

    Probably. But i'm not really announcing or promoting a game. More like a sample demo implementation for game programming. The framework developed isn't even for the platformer genre. Its just a generic framework surveying game systems; But it still handled it pretty well i think. Its not even a complete game. Its just a gameplay demo. But the intention was just to share the code used for the demo. Thank you for your feedback though.
  3. Sharing my 2D platformer demo

    Hi Guys,   Just wanted to share a little demo i made for a game programming class i teach in my local university. The class is about exploring game systems and architectures used in developing (2D) games.   I was nearing the end of the course's lecture and i felt a sudden urge to create a concrete example tying all the systems we have covered so far. This way the students will have a better understanding on how these systems interact with one another to form a whole game. Its not much but i think its enough to show its functionality and get their creativity flowing for their game project.    Source and executable is included in the download link below. This was a quick and dirty implementation of the demo so i'm sure there's a ton of bugs and some poor OOP designs and gameplay code but this was just a demo i came up for 2 nights(mostly trying to get the basic collision/physics system to work). I'd like to continue working on this some more but that's the only time i've got.    Enjoy!   Screenshot:  [attachment=19696:platformer screen 2.jpg][attachment=19695:platformer screen.jpg][attachment=19697:Platformer screen 3.jpg]   Link: https://mega.co.nz/#!ClgDQQLB!liGauqpSWu2QjTgRcPf2z1_c17a4wumVk0r06DTMo0A
  4. Thank you for the blessings.
  5. Malice and envy is a very powerful force to destroy your relationship with other people. Bless everyone including your enemies. Appreciate their good-hearted nature or qualities. All your vices including selfishness will dissolve then you will experience these no more but bliss and happiness within yourself. The ultimate love is selflessness; when malice, envy, and selfishness completely disappears, you will only feel divine happiness, joy, light, bliss, and lots of love in seeing others be...
  6. @#$%^&*&^$%%&^*^ Gimbal Lock!!!!
  7. Frustums are frustrating! (pun intended)
  8. Updating constant buffers?

    lol funny i was actually thinking about that when i posted my answer. Then i realized i was sort of implicitly rebinding shader resources every time i bind a new shader in my engine.     Are there any reason or practical usage to create the buffer with the D3D11_MAP_FLAG_DO_NOT_WAIT flag?
  9. Updating constant buffers?

    If you're using the same constant buffer then you don't need to keep on re-binding them after the first bind every time you update the constant buffer since its already bound in the pipeline.
  10. A proper way for help screen?

    i forgot the word anchor so i used the word position locking instead but thanks for bringing that correct word up.
  11. A proper way for help screen?

    In addition to these UI scene data as what NightCreature83 said. The nodes representing a UI element may have other attributes associated to it. Like position locking and position ratios relative to the screen. This can be useful especially if your game runs on different screen sizes as they can just automatically adjust based on these attributes than having an absolute position values.
  12. How is this brilliant Jimstyle guy getting a negative rep? he's just asking honest questions.
  13. Funny I was just working on weak pointers (developing my own version) last night!    Anyway, weak_ptr has a function called expired() which tells you if the data is still valid or not.     But if you want to get the valid data of the weak_ptr using expired() may cause some problems. Take a look at this code: weak_ptr<SomeSystem> gpSomeSysWPtr; void SomeFunc( void ) { if ( gpSomeSysWPtr.expired() == false ) // This takes one cpu instruction { shared_ptr<SomeSystem> pSystem = gpSomeSysWPtr.Lock(); // This takes another instruction // Between the if statement and lock() something could happend that invalidates gpSomeSysWPtr... } } If that was running on a single-threaded system that'll probably be fine. But if that's being reference and edited in multiple threads, who knows what could happen between the if() and lock() ( I haven't really confirmed this but this is my hunch).   To fix the problem you can do this instead: for(int i = 0; i < renderableObjects.size(); i++) { if( (std::shared_ptr<RenderableObject> r = renderableObjects[i].lock()) == false) { renderableObjects.erase(renderableObjects.begin() + i); i--; } } shared_ptr has a cast operator bool that returns true if the shared_ptr is valid or not.
  14. DX11 DX11 - Sending Textures

    I've read somewhere in this forum that constantly binding the texture every frame even if it doesn't change takes some performance hit i think.   In Jason Zink's graphics engine, his graphics pipeline layer has a state monitoring system that defers the actual binding of GPU resources until the time that's actually needed. The graphics pipeline layer allows the cpu code to bind and change as many resources as it wants in the current frame through caching the resources to be bound then evaluating it when its time to draw the mesh. Once the cpu calls DrawIndexed, the state monitoring system checks the cpu bounded resource and the actual resource that is currently bound in the gpu; It only binds the resource to the GPU if the state monitor detects different cached and GPU bound resources and binds those cached resources.
  15. Buffer<uint> reading wrong values

    That would definitely help me a lot; I'll include it in my code. I actually have the Real-Time Rendering Book. I've only read the first few chapters before i laid it off because of work and just totally forgot to get back reading into it. Thanks again for all your help. I really appreciate it.