All Activity

This stream auto-updates     

  1. Past hour
  2. Cache Coherency and Object Update

    Indeed. With my approach (and the ECS approach), there would also be no inheritance hierarchy, and components would be pure data.
  3. test walk

    Hey not bad! Not sure what type of feed back you're looking for but I can try and provide some constructive criticism if you're open to it. Focus on your main key frames i.e., contact and passing for both the right and left side. The stronger your keys the better the animation will look. The walk just feels stiff. Without knowing anything about the character like her attitude, reason for being, etc. It's hard to gauge what you intended the walk to convey. So take my comments from the POV of a casual human walk. To get around the stiffness you'll need more rhythm in the hips, i.e., slight twist depending on what leg is in play and proper dips and rises (squash and stretch). Once you are happy with the main keys and they are solid. You can focus on really putting some personality into the walk in your in-betweens and break down keys. The main keys will continue to carry the animation at this point. Just can't stress enough how important it is to tighten up the main key poses. Ya gotta really sell each pose for contact and passing as it should/will drastically improve the animation....the human eye catches everything. Good luck and good job so far
  4. Cache Coherency and Object Update

    I don't think that would work in the current component system I have set up. Currently my hierarchy is like this : CEntityComponent (base class of all components) - CSceneComponent (base class of all components with a local/world transform and bounds) - CDrawableComponent ( base class for all components that should be registered with the renderer) - CSkeletalMeshComponent ... etc.. It seems that your approach is for systems that have one "CTransformComponent" . In my engine, a static mesh can be attached to a skeletal mesh , these two items would be in completely different systems, making your approach impossible.
  5. Cache Coherency and Object Update

    Well, for starters, this assumes that you keep your components in some kind of contiguous sparse array, where the components' "physical indices" don't need to be the same as their "logical indices" (ie. their entity identifiers), hereafter referred to as a "component container." The brute force way you could do that would be to have two entirely separate, hardcoded component containers. When you update the components, you'd run the same update loop on both containers, one right after the other. This is a bit off the top of my head, but suppose you could keep them in the same array, but just arrange the elements such that parents always come before children, and the rest of the ordering doesn't matter? So (for example), you might have the first 5 components be parent/childless components, and the next 3 be child components, and keep a "physical" index to the first child component. Re-parenting a component would just mean swapping components around. You make one of the parent components a child component by swapping the new child with the last parent, then decrementing the physical index to the first child component. You unparent a child component by swapping the child component with the first child, then incrementing the physical index to the first child component. This way, the parents and children still live in contiguous memory and you still have O(1) parent/unparent operations. Of course, this requires that your components be stored in contiguous memory even when there are deleted components, that they be able to be swapped in memory, and that you never take pointers to components.
  6. Looking for vents/strong opinions on In-game payments

    The only hell I ever had with payments is receiving them. Paying for something is so dam easy over the net you can do it by accident, receiving payments involves a huge amount of paperwork and setup. Isn't this what EnjinCoin is just going to be. I mean Facebook has some of the best 3rd party tools around and anyone that has ever used it will tell you it's as buggy as hell. I mean look at Facebook and Unity. With the Unity 2017 upgrade and Facebook Unity SDK 7.10 you loose a lot of the functions you had before because both updated and made changes. So most users prefer to use a older Unity and a older Facebook SDK and a older JDK and a Older openSSL. How is EnjinCoin going to avoid this? Allow people a way to create accounts for others. I often help out small indie developers and often these people have no idea how to setup adverts and sales in there games. Helping them with it is a huge pain because I often have to wait for them to create the necessary accounts and I can't do it for them. Debugging tools. I can't tell how many times I have setup payments in a game not knowing if it's going to work when published or not. So some way to fake user accounts and payments would be nice.
  7. Cache Coherency and Object Update

    Could you give me an example of partitioning components? I don't think I understand what you mean by it.
  8. Cache Coherency and Object Update

    Sounds like a partitioning would be a better option than sorting, then. More lightweight than sorting AND you can do it in a way that clearly shows in the debugger which components are parents and which are children.
  9. Cache Coherency and Object Update

    I think it's mostly based on transform information. For example, let say you have a gun attached to a character at point X . The gun requires the animation of the character to be finished before it updates it's own transformation. Or maybe you have a "master" "slave" animation component, where the animation component just copies the transform information from the master component. I think mostly because it would require a resorting for every time you attach and detach an object, it seems somewhat cumbersome.
  10. Cache Coherency and Object Update

    My first question would be, why do you need parent before child updating at the component level in the first place? What's the use case for that? Remember, a "component" is ideally a bundle of state that, in the most common operation over that state, is contiguous in memory. Can you rethink your decomposition to avoid the issue? My second question would be, why can't you just sort the component array to enforce the update order? Or partition it, then update the partition with parents before the partition before children?
  11. Yesterday
  12. Cache Coherency and Object Update

    I feel like the only maddening aspect I have about is that I can't seem to find a way to maintain the required entity update order (i.e update parent before child) , that is easily achievable in a entity component model , In that method I would just have an entity put it's parent as it's dependencies , and the component's would put it's owning entity as a dependency, and it's done. With system wide updating, it seems impossible in my mind to maintain this.
  13. Epic has made the first Preview build of Unreal Engine 4.18 available through the Epic Games launcher. Developers can now experiment with volumetric lightmaps, enhanced static skylight directionality, major clothing tool upgrades, the revamped Physics Asset Editor and Media Framework 3.0. Improvements have also been made to support for both Google's ARCore and Apple's ARKit. The desktop forward renderer on iOS, used in the Wingnut AR demo at WWDC 2017, is now available as well. A full list is available on the UE forums. View full story
  14. Epic has made the first Preview build of Unreal Engine 4.18 available through the Epic Games launcher. Developers can now experiment with volumetric lightmaps, enhanced static skylight directionality, major clothing tool upgrades, the revamped Physics Asset Editor and Media Framework 3.0. Improvements have also been made to support for both Google's ARCore and Apple's ARKit. The desktop forward renderer on iOS, used in the Wingnut AR demo at WWDC 2017, is now available as well. A full list is available on the UE forums.
  15. Hi, I would like to have an opinion on what I can improve and change in my first published game. https://play.google.com/store/apps/details?id=com.restart.bouncy The game was made on Unity3D. Thank you.
  16. In-game payments implementation PITA/hell

    yeah they leave out specifics but we bitch about specifics of engines and so on all the time. The strongest opinions though are where things have already gone south and someone's abandoned something in disgust and sworn "never again", those are the ones I'm looking for the most. Ive experienced quite a few that made me quit browser games in disgust right at the point of monetization espec for things like offers, those make good stories too.
  17. Image Processing Server

    PDNTSPA. Physical, Data, Network, Transport, Session, Presentation, Application. Those are the standard layers of network communications. UDP and TCP are the typical Transport layer choices, although other protocols exist over IP (the Network layer). The Transport layer is the layer raw sockets live in. HTTP is all the way out on the Application level. So are SOAP and REST. So are protocols like FTP, BitTorrent, and many others. They do ultimately use TCP as the transport protocol, and so use Sockets to do it. But that's down the stack a bit. If you really want to you can write your own communications system at the transport layer. It is time consuming, but can be done. Many games do this, and sometimes there are good reasons to do it, particularly since many games need to build their protocols around the Session layer, such as keeping a bunch of users synced together as a play-group, possibly tunneling and using forwarding techniques to keep the group together between games. But in this case, I don't see any compelling reasons to work at the socket level. There are many existing protocols and tools that do all that work for you. You'll be transferring enormous blocks of data, and that will dwarf any transport-layer choice. Use the tool of your choice to transfer a long-running series of data transfers. Don't reinvent the wheel for this.
  18. Would it be a problem to create in HLSL ~50 uninitialized arrays of ~300000 cells each and then use them for my algorithm(what I currently do in C++(and I had stack overflows problems because of large arrays)). It is something internal to the shader. Shader will create the arrays in the beginning, will use them and not need them anymore. Not taking data for the arrays from the outside world, not giving back data from the arrays to the outside world either. Nothing shared. My question is not very specific, it is about memory consumption considerations when writing shaders in general, because my algorithm still has to be polished. I will let the writing of HLSL for when I have the algorithm totally finished and working(because I expect writing HLSL to be just as unpleasant as GLSL). Still it is useful for me to know beforehand what problems to consider.
  19. Just a word of warning - a lot of people will (rightly) feel hesitant to badmouth services they actively work with, because disparagement is frowned upon and potentially very damaging to relationships. Technical criticism may fly a little bit, but you're still asking people to openly talk bad about business partners.
  20. Hey guys, I'm writing an article on behalf of a client, EnjinCoin (enjincoin.io) about the current hell of payments. Both technical (which I'm asking about here) and on the business end and I'm asking for opinions or past experienced What are some of the worst payments solutions/implementations you guys have to deal with? Looking for strong opinions. I've heard google play is a PITA and isnt a onestop shop. What are some good examples as well as bad? what are some things you wish you had or would happen? and yeah I'm also a developer so feel free to get into the weeds on code, API's etc on the rants. I used to be more active in gamedev myself and this is part of a long mulltistep plan to earning/self financing my way back lol. Can discuss here without the details but would also love 1-3 on the record statements if I can get them. Have already gotten some complimentary EnjinCoins okayed as thanks for anyone's time in participating, the specifics we've yet to agree on. For anything on the record, but not so public you can also email me at munly@vanbex.com
  21. UDK Volumetric light beam

    Wow thanks a lot, they never said anything about tangent space. Will try it out when I get home.
  22. Hey guys, I'm writing an article on behalf of a client, EnjinCoin (enjincoin.io) about the current hell of payments. Both technical and on the business end (which I'm asking about here) and I'm asking for opinions or past experienced Some examples might be * Getting stuck with some horrid plugin or external interface that you have to use, no real API that you can create your own controls or skin around * Chargeback hell * Long delays in processing or getting refunds on behalf of customer * Anything pain points or features you wish current things do, but dont do or do horribly. * Offer and video ad/interstitial ad rants are good too. I know most of wish we had a better alternative (EnjinCoin potentially could be that) What do you guys think are the best go-to's for payments right now? or best practices Also I used to be more active in gamedev myself and this is part of a long mulltistep plan to earning/self financing my way back lol. Can discuss here without the details but would also love 1-3 on the record statements if I can get them. Have already gotten some complimentary EnjinCoins okayed as thanks for anyone's time in participating, the specifics we've yet to agree on. For anything on the record, but not so public you can also email me at munly@vanbex.com
  23. CRYENGINE has released their latest version with support for Vulkan, Substance integration, and more. Learn more from their announcement and check out the highlights below. Substance Integration CRYENGINE uses Substance internally in their workflow and have released a direct integration. Vulkan API A beta version of the Vulkan renderer to accompany the DX12 implementation. Vulkan is a cross-platform 3D graphics and compute API that enables developers to have high-performance real-time 3D graphics applications with balanced CPU/GPU usage. Entity Components CRYENGINE has addressed a longstanding issue with game code managing entities within the level. The Entity Component System adds a modular and intuitive method to construct games. And More View the full release details at the CRYENGINE announcement here.
  24. CRYENGINE has released their latest version with support for Vulkan, Substance integration, and more. Learn more from their announcement and check out the highlights below. Substance Integration CRYENGINE uses Substance internally in their workflow and have released a direct integration. Vulkan API A beta version of the Vulkan renderer to accompany the DX12 implementation. Vulkan is a cross-platform 3D graphics and compute API that enables developers to have high-performance real-time 3D graphics applications with balanced CPU/GPU usage. Entity Components CRYENGINE has addressed a longstanding issue with game code managing entities within the level. The Entity Component System adds a modular and intuitive method to construct games. And More View the full release details at the CRYENGINE announcement here. View full story
  25. Image Processing Server

    Thanks for the replies. I did a little more research and was curious where the socket APIs fit in. Those seem to be built on top of transport protocols, or are sockets still considered too low-level? I like that sockets are mostly portable API, as we may use Linux. HTTP sounds simple and that it could work. I found this MS Rest API https://msdn.microsoft.com/en-us/library/jj950081.aspx and they even have an example of pushing a chunk of data to the server, which is pretty much what I need. I have a question though for HTTP. Can the server push data to a specific client, or must the client put in a request to get the image processing output? So basically, I'm leaning towards sockets (TCP/IP) or HTTP, as they seem like the simplest for what I need to do. Would one be significantly faster that the other? Or is HTTP likely using sockets under the hood?
  26. Cache Coherency and Object Update

    If you're doing ECS "properly" (if such a thing can be said to be possible, given the disagreement over what ECS actually means) then you aren't updating each entity every frame, because an "entity" is just a binding mechanism that identifies groups of components. The most common operation should be updating homogeneous lists of components all at once, with operations that touch multiple components being comparatively "rare." Actually accomplishing this can indeed be "maddening" if you aren't used to thinking in those terms and don't have gameplay that's well-suited to that kind of decomposition. Of course, I would like to point out that you can use non-dogmatic, data-oriented "outboard composition" without locking yourself into dogmatic ECS...
  27. Now that iOS 11 has been officially released, there are several things you must do to prepare iOS apps for submission to Apple. Also, the upcoming iPhone X creates some unique challenges when creating a user interface, so we’ve added some useful new APIs to help you adjust your UI. Icons Starting with iOS 11, Apple now requires that you include an Icon-1024.png file in your app package. However, current Corona-built apps cannot find that file correctly using the CFBundleIconFiles table. Thus, to make this work today and going forward, you must switch from using static icons to using the modern Images.xcassets package. Starting with daily build 2017.3144, you can easily implement the Images.xcassets method — simply consult our Managing Xcode Assets guide for instructions. Safe areas The iPhone X creates a unique challenge for app developers. Between rounded corners and the sensor housing protruding into the screen, developers need a way to know where they can safely place critical UI elements so that they are fully visible and accessible to users. Toward this end, Apple has provided this helpful guide outlining what you need to do. In short, you need to fill the entire screen, including areas outside the “safe area” (the darker region bounded with the red line in the illustration). Also note that the iPhone X has an extra-tall aspect ratio of 2.165:1 — surpassing even the 2:1 aspect ratio of the Samsung S8 — so for a Corona content area size of 320×480, you will need to fill a total area of 360×693 for the iPhone X screen and iPad screens. Even more importantly, your app should not place important UI elements like buttons, scores, navigation elements, etc. outside of the “safe area” on the screen. In truth, the “safe area” is not a new concept with the iPhone X — for instance, TVs have overscan areas and some mobile devices utilize status bars and soft button rows where you shouldn’t be placing UI elements. To address this, starting with daily build 2017.3135, we added several new properties and a new function which you can use to determine the safe zone on the screen. These additions to the display library include: display.getSafeAreaInsets() display.safeScreenOriginX display.safeScreenOriginY display.safeActualContentWidth display.safeActualContentHeight Please click through to the documentation for examples on how to use these. Conclusion In addition to the above features, we are preparing a new iPhone X skin for the Corona Simulator, to be released soon. In the meantime, you can start preparing your apps for the iPhone X, test them in the Xcode Simulator, and submit them to Apple using the iOS 11 SDK. View the full article
  1. Load more activity