GithubHelp home page GithubHelp logo

volatilephysics's People

Contributors

ashoulson avatar s-yablonskiy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

volatilephysics's Issues

Unity examples not working at all.

Hi, I was about to test the library using Unity 4.7.0.

Unfortunately the scenes are empty.

Also Activating VOLATILE_UNITY creates numerous bugs and stops the project from compiling.

Is there a stable version I could use to do some testing?

Continuous Collision Detection

Certainly not viable for 1.0, but possible later on

Would probably require switching from SAT to GJK for detecting polygon collisions

Why not storing snapshots of the entire engine's state?

Hi, I just had a quick look at your library, Maybe I missed something, but would it be possible to rollback the entire simulation, change a few things it and replay it again?

I'm not sure I got the idea, there are new changes in you history code, but why don't you create a snapshot of the entire physics state for each frame with a rollover system (reusing previous states when the max frames have been stored)? Would it be a bad system? It could allow a few optimisations (copied from frame to frame).
You could do this and save a lot of room by storing only the history of dynamic and kinematic objects (movable by hand, not tested against statics and other kinematics) and avoid storing the story of pure static objects.

Does this make sense?

About dynamic-dynamic synchronization.

Don't quite understand what dynamic-dynamic means, would you please explain it in detail?

Is it possible that VolatilePhysics used on a mobile 1vs1 RTS game? Suppose we have 50 vs 50 game objects(soldiers) for each of the player.

Thanks.

Star of David collision bug

Two overlapping polygons with no interpenetrating vertices can clip through each other without resolution. Chipmunk solves this in cpCollision.c, so it's worth looking at.

clipping

QueryCircle not working quite right

Hey there,

I just started using Volatile to do some basic collision checking for a 2D MMO I'm working on. I may be doing things incorrectly because I'm not too sure about the ins and outs of this library. I will try to explain how I'm doing things the best that I can.

I'm using Unity for my game client and PhotonServer / PhotonWire for my server application. I have my 2D world built in a Unity scene and have the tile collider data (which are just points because all tiles in my world are 1x1 squares) being saved to a json file that is readable / copy-able by the server application. I have successfully been able to create the game's world colliders and put them into a VoltBody, and have the server check if a player is going where they should not be able to go before moving them to their requested position. The world's body position is set to 0,0 because the points in the json data are relative to the scene's 0,0.

Now comes my problem with QueryCircle. I am working on some simple combat (player clicks mouse, sends request to server to "attack", server uses QueryCircle to check if there are any attack-able monsters and continues with the game logic of doing damage, etc.). However, it isn't returning any bodies at all.

I have set up a filter to ignore bodies that it shouldn't be checking (anything that isn't "attack-able") that I have confirmed is working. The problem seems to come with the fact that when I set the position of the monster's VoltBody, the worldAxes widths get set to something like -640, which kinda makes sense because the monster's world position is around 640,640. I've debugged the VoltCode through the QueryCircle call and noticed that when it calls Collision.FindAxisMaxPenetration, it fails because of the worldAxes widths.

I'm kinda clueless as to what could be the issue, and I wouldn't be surprised if it's because of the way I have things set up or I'm doing something incorrectly. If you could help me out with this, I'd greatly appreciate it.

Another note: When the monster is created on my server, it makes a shape using voltWorld.CreatePolygonBodySpace with vertices making a square (0,0 - 0,1 - 1,1 - 1, 0). Then, I use voltBody.CreateDynamicBody passing in the world position of the monster and the shape. The width is getting set to -640 somewhere when it translates the body's world position. I'm also using voltBody.Set to update the body's position, but at the moment the monster I am using is stationary. Thanks again.

EDIT: I've confirmed that a CircleCast works, just not QueryCircle. I need QueryCircle though because I want to allow the player to hit multiple monsters at once.

TODO: Collision Layers/Tags

Not a very high priority since you'll probably want to collide with all the static objects. Would be useful for things like projectiles though maybe.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.