Jump to content

Phodex Games

  • Content Count

  • Joined

  • Last visited

Everything posted by Phodex Games

  1. Massive price drop on the anima animation system check it out!

    Hope to bring the other modules soon. Was pretty ill lately and had a lot to do with my new game.

    1. Josh


      4.6 will start directing users to the Marketplace, so this should get more eyes on it then.

  2. The next module of the phodex framework is out now! The "Anima Animation System" provides you with essential functionallity such as function calling at any frame, starting and stopping animations and playing them on different bones.

    Get it now: https://www.leadwerks.com/community/files/file/239-anima-the-clever-animation-system/

  3. I actually build a something like this for my own UI system, using the theora library and some old code I found in the forums. I wanted to put it to the marketplace actually, but it does not play audio yet, so you would need to play the audio externally with Sound:Play(). Also as far as I remember the quality was not that good, but maybe it was just because of the video conversion to ogg. If there is a demand I may consider working on this again and bring it to the marketplace as part of the phodex framework
  4. Ok so I found a workaround for the issue. It actually works pretty good so far, still its not ideal, and I just tested it for a single non-prefab object with no parent, but it is at least something. A Physics:Refresh() function maybe would be a good idea? But thats just my unprofessional opinion. function Script:Start() self.startPos = self.entity:GetPosition(true) end function Script:UpdateWorld() if self.moved then --Move the object one frame after I gave it mass then remove the mass and set it back to scene collision self.entity:SetPosition(self.startPos.x + 15, self.startPos.y, self.startPos.z, true) self:SetMoveMode(false) end if keyHit.K then self:SetMoveMode(true) self.moved = true end end function Script:SetMoveMode(state) if state then self.entity:SetCollisionType(Collision.Prop) self.entity:SetMass(10) else self.entity:SetCollisionType(Collision.Scene) self.entity:SetMass(0) end end Future will show if this will also work for my more complexe scene... EDIT: @mdgunn Just saw your reply. Yeah my sentence was a little weird. I meant that with this method, all of my objects will have dynamic physics, and objects (like wodden planks) I place on the roof of a room will fall to the ground when mass is enabled. However as you can see above I found a solution, at least for the moment.
  5. Version 1.0.0

    Introduction: Do you feel the animation capabilities of Leadwerks are not powerful enough for your needs? You finally want to be able to call functions at any frame of your animation to create the gameplay logic you have in mind? Then Anima - The Clever Animation System is for you! It not only supplies you with the mentioned function calling, it also provides you with many use- and powerful commands Leadwerks is missing! How It Works: Everything is explained in detail in the documentation you can find below (also included when purchasing Anima) Anima - Installation & Usage.pdf Key Features: About The Phodex Framework: The Phodex Framework is a set of helpful tools and systems created to make working with Leadwerks more powerful and easier to handle. The Phodex Framework was also used to develop "Bladequest: The First Chapter", which I recently released on Steam. I thought now that my systems have proven to work, it is time to share them with you. I will release more parts of the Phodex Framework in the future so stay tuned! _______________________________________________________________________________________________________________________________________ Follow my blog so stay up to date! Questions or problems? Directly write me here or at contact.phodex@gmail.com!


  6. Ah yeah the new cube I created in your scene had 0 mass actually. It does actually work with mass > 0. The problem is if I set mass to my scene object then it sometimes just falls through the ground (which by the way is why I did not set a mass), or it behaves like a dynamic physics object, which I not want, I maybe have some wodden planks at the ceiling and don't want them to fall on the ground ^^. Well I have different room layouts & different prebuild furnishing sets. A few rooms are preloaded and then everytime you exit a room an new one gets loaded and placed at the right position. This works in the first place, but I experienced that after a certain number of rooms, the collison of some objects are broken (so far just the furnishing objects, not the room itself were affected). Could you explain this a little more? As explained about arent my objects flying around with mass enabled? How would you created the scene floor and not make him move? By the way, thanks for you help its actually one of the last things I need to get done before I can release it...
  7. I downloaded your files. First it worked, but when I created a new cube and changed it to +15 it did again not work. I now also experienced, when changing back to +5 with another cube that just the front of the box had physics and I can walk inside the cube from the sides. Play around with different pos values (like +5 +15 +25) and you will see the physics break again...
  8. Well ok I guess you are right. I just meant I need like 5 minutes to setup a scene like this. I know you are busy and I appreciate you take the time... I attached a test project. Just open the start.map. If you press "K" the box moves and you can walk through the box. Now the question is how to move it without breaking the physics. TestLevel.zip
  9. Well to see the problem I am explain I would need to upload my whole project, which is relatively large. If I have time I can try reproducing the error in a smaller setup and upload it here. But as the tests with the box results in the same behavior (disabled physics when setting position after an entity is spawned) I though it is actually the same error as with my more complex scene... Sorry I don't understand why the setup I and mdgunn described is not enough to examine the problem... I mean the question still remains, how to change an objects position with static scene phyiscs after its placed in scene. I see no solution yet. I understand that it has to do with the physics engine not updating the new position of the object, but what to do against it?
  10. Yeah this explains why, in my actual setup, the physics breaks when the prefab is loaded the second time and placed in the scene. At one point I release a room and load another one. When a prefab is loaded in the scene the second time and position is changed physics are broke. You are talking about "continuously" calling this, but I am actually not. I just call it once after a prefab is loaded.
  11. That actually works, BUT the weird is if I change the first SetPosition to self.startPos.x + 5 instead of +1 it does not work 🤔. However the physics are alright if set back to start position...
  12. That is exactly what I need... Yeah I tried that, the physics shapes are in the right place.
  13. Yeah I first thought Prefabs are the problem as well, BUT thats why I set up the test scene with a normally placed box with same conditions as my prefab objects (Scene physics and 0 mass). This is a summary of what I have tested and what happend, again this is a normal object placed in the editor. No Prefab. I think if I find a solution for moving this object I can use the same for my prefabs: SetPosition breaks the collision of the object Move breaks the collision of the object if used twice Joint:Kinematic does not work for static physics objects (I also think it makes no sense to use a joint for a static object...) I know Prefabs are a little weird sometimes, but currently its about a normal object, although I use prefabs in my actual situation. I wonder this problem didn't occur for sombody else yet, it think changing an objects position should be used every now and then... The weird is that in my actual setup the physics just break for models, but not for csg brushes, under different circumstances however, which are a little hard to explain right now, the csg brushes physics broke aswell.
  14. Thanks for the code, it actually works, but that is not what I actually want. This slowly moves the object in place. I just want to spawn a new object and set its position. And I also don't want to have a object with mass, or dynamic physics. I simply want to change the position of a static object (scene physics and 0 mass). Imagine something like this: function Script:SpawnObject() --the object has scene physics and 0 mass self.obj = Prefab:Load("Prefabs/Object.pfb") self.obj:SetPosition(x,y,z) end The above code sometimes breaks the newly spawned objects physics as mentioned earlier. Using a joint does not seem to be an option. I dont want my object to slowly move towards its spawn position. I could provide a test proejct, but the behavior can be reproduced so easily. Just take a csg brush, scene physics on, 0 mass. Now try to change its position & test the collision with a player controller.
  15. It somehow does not. This is what I have: This is what the attached code: function Script:Start() self.joint = Joint:Kinematic(1, 1, 1, self.entity) end function Script:UpdateWorld() if keyHit.K then self.joint:SetTargetPosition(300, 2, 0, 1) end end It does not even move slightly, but even if. I just want to set the position of a static scene object. Why should I need to use a joint for that, I would expect set position to work for a static physics object. I really need this to work, otherwise you can just randomly walk through objects...
  16. Hi Leadwerkers ⚙️, today I have a cool announcement to make. In the past two years I was working on the Phodex Framework, which is a set of helpful tools, utilities and systems, created to unleash Leadwerk's true power and potential, to be able to create the games I had in mind. Now, that I have released my first Leadwerks game Bladequest: The First Chapter and the Phodex Framework has proven its worth in practice, I thought it is time to share some parts of the framework, especially those I think everyone could make use of. I step by step will release different components of the framework, some of them are free, some of them paid. The best is, the first component, the very powerful and flexible Event System is already available for free. If used correctly, it can massively improve the structure of your code and also offers you the opportunity, to build your own powerful systems upon it. For the future I also plan to produce some video tutorials to explain everything more detailed. For now you can read the documentation, that comes with each component. The following components are planned to be released in the future: 🔹 Advanced Animation Manager 🔹 Advanced Debugging Functions 🔹 Easy Raycaster System 🔹 Helper Functions 🔹 Input Manager 🔹 Object Orientation for LUA 🔹 Save & Load System Together, those systems will massively improve your Leadwerks experience. I can't imagine working without them anymore and am sure you will feel them same once you use them. As always stay cool and have a nice day Markus from Phodex Games
  17. Yeah I just tried that because it did not work. Hmm I still can't get it work. What am I doing wrong? function Script:Start() self.joint = Joint:Kinematic(1, 1, 1, self.entity) self.joint:SetTargetPosition(300, 2, 0, 1) end Shouldn't this code change the position of my object? Could you give me an example code how to move a physics object with this? And does the object need a mass or specific collision setting?
  18. The Event System is now available. It was VERY helpful for me and changed the way I built my (Lua) code architecture. Check it out here: 


    1. Rick


      Nice. I'm a big supporter of the event paradigm! Glad to see others are as well.

    2. mdgunn


      Yeah, many thanks!

  19. I am planning to release some parts of the phodex framework, which are useful utilities and system I created over the time. I am sure they will be valueable for some of you. The first piece, the Event System, is already submitted and awaiting approval. You can follow my blog, if you want to get notified once it is available.

    1. mdgunn


      Sounds fantastic.  Many thanks!

  20. Ok I wonder how to use this for my purpose now. I tried this code but my object does not move at all: function Script:Start() self.joint = Joint:Kinematic(0, 0, 0, self.entity) self.joint:EnableMotor() end function Script:UpdateWorld() if keyHit.K then self.joint:SetTargetPosition(150, 2, 0, 0) end end I don't really need continually change of an physics object. I am currently building a random dungeon generator and the systems loads in prefabs and sets them in place to generate a new room. All objects have Scene physics with no mass (And I think the joint does not work with 0 mass, does it?). I experienced that in some rooms some objects have no physics anymore (seems to be random). So the set position command is only used once after the prefab is loaded. The example shown here with the box was just to examine the behavior. So I need a solution how I can move my rooms & furnishings without losing the physics...
  21. I can't find this in the documentation and it does not work, at least not with lua.
  22. Ok so I am just testing this. You can easily recreate this yourself. I created a csg box with following settings: And attached this script to it: (Its using my key manager so don't wonder) First my player collides with the csg box but after the SetPosition command I can walk through. I will try to work around the issue and examine this behavior. If I find a solution I will post it here. EDIT 1: This does not happen when the object is set to prop physics AND has a mass (prop with 0 mass has the same behavior as scene). With scene physics & mass the object falls through the ground. But I NEED to move a scene object with static physics... EDIT 2: I though Move was at least working, but if all this is not weird enough now if I use Move more then one time the physics get disabled again. EDIT 3: So the idea now was to first set the entities mass to something greater than 0 and then change it back to 0. If other to expect this did not work, something more weird is need to be done to make this work. The code below did actually work and I can now set the physics object position, but because the mass reset to 0 happens one update later the object can move a tiny bit through physics (I could decrease this to a minimum by using a minimal mass). function Script:UpdateWorld() if self.posChanged then self.entity:SetMass(0) end if keyHit.K then self.entity:SetMass(10) self.entity:SetPosition(15, 2, 0) self.posChanged = true end end
  23. Version 1.0.0


    Introduction: Having trouble communicating between scripts? Tired of creating references to make scripts globally work together? Then Eventor, which is part of the Phodex Framework, is what you have searched for. Add it to your project for FREE and unleash the power of Lua, with this poweful code design pattern! How It Works: With Eventor, different sources can subscribe to an event. Whenever the event gets called, all subscribers get notified and a function, you can define, gets called. This is very helpful in many cases. You could for example create an event which gets called every time an enemy starts combat, to notify surrounding allies to help him. You can send his position as an argument, so only allies within range will get active. Key Features: About The Phodex Framework: The Phodex Framework is a set of helpful tools and systems created to make working with Leadwerks more powerful and easier to handle. The Phodex Framework was also used to develop "Bladequest: The First Chapter", which I recently released on Steam. I thought now that my systems have proven to work, it is time to share them with you. I will release more parts of the Phodex Framework in the future so stay tuned! ________________________________________________________________________________________________________________________________________________ Follow my blog so stay up to date! For questions directly write me here or at contact.phodex@gmail.com!


  24. Could be difficult to share, but you can easily achieve the same error I guess when creating a simple box with physics, make it a prefab, load it and set the position of it on button press. Then you just need something to test the collsion (e.g FPS Player). At the start the physics should work but if you change the position you should be able to walk through the box. But sometimes the error does not occur so you may not be able to reproduce it. I currently will finish some other aspects of my project and will come back later to this bug. Hope to gather some information here. I will try some stuff when I have time and maybe share a setup where the problem appears, however thanks for you answer.
  25. So I think this is a bug. When I load a prefab with physics on, it works in the first place and my player can collide with the object (Collision set to scene and physics to rigid body). If I change the position however the physics is disabled and I can walk through the object. Changing the position again did sometimes turn the physics on again. This is some of the weird behavior I every now and then encounter with Leadwerks :(, especially with Prefabs. This did not happen when using the "Move" function instead of SetPosition. How could I fix this? I need to change the positon of an physics object during runtime...
  • Create New...