********
Showcase 
********

This page shows some uses of Pymunk. If you also have done something using 
Pymunk please let me know and I can add it here!   

Games
=====

.. list-table:: 
    :widths: 40 60

    * - .. image:: _static/beneath-the-ice.png
      - `Beneath the Ice <https://pyweek.org/e/chimera22/>`_

        :subscript:`make by Team Chimera (mit-mit, Lucid Design Ar). Retrieved 
        2016-09-25`

        **Winner of PyWeek 22** (Overall Team Entry)

        Beneath the Ice is a submarine exploration game and puzzle solving 
        adventure! Uncover a mysterious pariah who can't let you discover his 
        secrets, who can't let you in! Team Chimera take 3!  

    * - .. image:: _static/invisipin.png
      - `Invisipin <https://pyweek.org/e/Tee-py20/>`_  
        
        :subscript:`made by Tee. Retrieved 2016-01-25`

        **Winner of PyWeek 20** (Overall Individual Entry)
        
        A pachinko-like puzzle game. Play some balls and watch their movement 
        carefully (i.e. collect data) to reconstruct the board!

    * - .. image:: _static/angry-birds-python.png
      - `Angry Birds in Python <https://github.com/estevaofon/angry-birds-python>`_

        :subscript:`made by Estevao Fonseca. Retrieved 2016-10-30`

        Angry Birds game written in python using pygame and pymunk 

    * - .. image:: _static/SubTerrex.png
      - `SubTerrex <http://www.pygame.org/project-SubTerrex-2389-.html>`_  
        
        :subscript:`made by Paul Paterson. Retrieved 2016-01-25`

        A cave exploration game where you explore caves by descending into them 
        on ropes.

Non-Games
=========

.. list-table::
    :widths: 40 60 

    * - .. image:: _static/virtuaplant.png
      - `VirtuaPlant <https://wroot.org/projects/virtuaplant/>`_

        :subscript:`made by Jan Seidl. Retrieved 2018-06-13`

        VirtuaPlant is a Industrial Control Systems simulator which adds a 
        "similar to real-world control logic" to the basic "read/write tags" 
        feature of most PLC simulators. Paired with a game library and 2d 
        physics engine, VirtuaPlant is able to present a GUI simulating the 
        "world view" behind the control system allowing the user to have a 
        vision of the would-be actions behind the control systems.

    * - .. image:: _static/arcade-library.png
      - `The Python Arcade Library <http://arcade.academy/examples/index.html>`_

        :subscript:`made by Paul. Retrieved 2018-03-05`

        Arcade is an easy-to-learn Python library for creating 2D video games. 
        It is not directly tied to Pymunk, but includes a number of examples 
        and helper classes to use Pymunk physics from a Arcade application.
        
    * - .. image:: _static/billiARds.png
      - `billiARds  A Game of Augmented Reality Pool 
        <https://youtu.be/5ft3SDvuhgw>`_

        :subscript:`made by Alex Baikovitz. Retrieved 2017-05-21`

        Alex built billiARds for his 15-112 (Fundamentals of Programming and 
        Computer Science) term project at Carnegie Mellon University.
        Made in Python3 using OpenCV, Pygame, and Pymunk. Users can simply use 
        a pool cue stick and run the program on any ordinary surface.

    * - .. image:: _static/pyphysicssandbox.png
      - `pyPhysicsSandbox <https://github.com/jshaffstall/PyPhysicsSandbox>`_

        :subscript:`made by Jay Shaffstall. Retrieved 2017-01-01`

        pyPhysicsSandbox is a simple wrapper around Pymunk that makes it easy 
        to write code to explore 2D physics simulations. It's intended for use 
        in introductory programming classrooms. 

    * - .. image:: _static/carrom-rl.png
      - `Carrom Simulation <https://github.com/samiranrl/Carrom_rl>`_ 
    
        :subscript:`made by Samiran Roy. Retrieved 2016-10-27`

        An open source Carrom Simulator interface for testing 
        intelligent/learning agents. It provides an interface that allows 
        you to design agents that that play carrom. It is built in python, 
        using pygame + pymunk. This is the course project for 
        CS 747 - Foundations of Intelligent and Learning Agents, taught by 
        Prof. Shivaram Kalyanakrishnan at IIT Bombay.

    * - .. image:: _static/reinforcement-learning-car.png
      - `Self Driving Car <https://github.com/harvitronix/reinforcement-learning-car>`_
        
        :subscript:`made by Matt Harvey. Retrieved 2016-08-07`
        
        A project that trains a virtual car to how to move an object around a 
        screen (drive itself) without running into obstacles using a type of 
        reinforcement learning called Q-Learning.         
    

Papers / Science
================

Pymunk has been used or referenced in a number of scientific papers 

* Yingzhen, Li, and Stephan Mandt. 
  "Disentangled Sequential Autoencoder." 
  In International Conference on Machine Learning, pp. 5656-5665. 2018.

* Melnik, Andrew. 
  "Sensorimotor Processing in the Human Brain and in Cognitive Architectures." 
  (2018).

* Li, Yingzhen, and Stephan Mandt. 
  "A Deep Generative Model for Disentangled Representations of Sequential Data." 
  arXiv preprint arXiv:1803.02991 (2018).

* Hongsuk Yi, Eunsoo Park and Seungil Kim (이홍석, 박은수, and 김승일.)
  "Deep Reinforcement Learning for Autonomous Vehicle Driving" 
  ("자율주행자동차 주행을 위한 심화강화학습.")
  2017 Korea Software Engineering Conference 
  (한국정보과학회 학술발표논문집 (2017): 784-786.)

* Fraccaro, Marco, Simon Kamronn, Ulrich Paquet, and Ole Winther. 
  "A Disentangled Recognition and Nonlinear Dynamics Model for Unsupervised Learning." 
  arXiv preprint arXiv:1710.05741 (2017).

* Kister, Ulrike, Konstantin Klamka, Christian Tominski, and Raimund Dachselt. 
  "GraSp: Combining Spatially‐aware Mobile Devices and a Display Wall for Graph Visualization and Interaction." 
  In Computer Graphics Forum, vol. 36, no. 3, pp. 503-514. 2017.

* Kim, Neil H., Gloria Lee, Nicholas A. Sherer, K. Michael Martini, Nigel Goldenfeld, and Thomas E. Kuhlman. 
  "Real-time transposable element activity in individual live cells." 
  Proceedings of the National Academy of Sciences 113, no. 26 (2016): 7278-7283.

* Baheti, Ashutosh, and Arobinda Gupta. 
  "Non-linear barrier coverage using mobile wireless sensors." 
  In Computers and Communications (ISCC), 2017 IEEE Symposium on, pp. 804-809. IEEE, 2017.

* Espeso, David R., Esteban Martínez-García, Victor De Lorenzo, and Ángel Goñi-Moreno. 
  "Physical forces shape group identity of swimming Pseudomonas putida cells." 
  Frontiers in Microbiology 7 (2016).

* Goni-Moreno, Angel, and Martyn Amos. 
  "DiSCUS: A Simulation Platform for Conjugation Computing." 
  In International Conference on Unconventional Computation and Natural Computation, pp. 181-191. Springer International Publishing, 2015.

* Amos, Martyn, et al. 
  "Bacterial computing with engineered populations." 
  *Phil. Trans. R. Soc. A* 373.2046 (2015): 20140218.

* Crane, Beth, and Stephen Sherratt. 
  "rUNSWift 2D Simulator; Behavioural Simulation Integrated with the rUNSWift Architecture." 
  *UNSW School of Computer Science and Engineering* (2013).

* Miller, Chreston Allen. 
  "Structural model discovery in temporal event data streams."
  Diss. Virginia Polytechnic Institute and State University, 2013.

* Pumar García, César. 
  "Simulación de evolución dirigida de bacteriófagos en poblaciones de bacterias en 2D." 
  (2013).

* Simoes, Manuel, and Caroline GL Cao. 
  "Leonardo: a first step towards an interactive decision aid for port-placement in robotic surgery." 
  *Systems, Man, and Cybernetics (SMC), 2013 IEEE International Conference on.* IEEE, 2013.

* Goni-Moreno, Angel, and Martyn Amos. 
  "Discrete modelling of bacterial conjugation dynamics." *arXiv preprint arXiv:1211.1146* (2012).

* Matthews, Elizabeth A. 
  "ATLAS CHRONICLE: A STORY-DRIVEN SYSTEM TO CREATE STORY-DRIVEN MAPS."
  Diss. Clemson University, 2012.

* Matthews, Elizabeth, and Brian Malloy. 
  "Procedural generation of story-driven maps." 
  *Computer Games (CGAMES), 2011 16th International Conference on.* IEEE, 2011.

* Miller, Chreston, and Francis Quek. 
  "Toward multimodal situated analysis." 
  *Proceedings of the 13th international conference on multimodal interfaces.* ACM, 2011.

* Verdie, Yannick. 
  "Surface gesture & object tracking on tabletop devices."
  Diss. Virginia Polytechnic Institute and State University, 2010.

* Agrawal, Vivek, and Ryan Kerwin. 
  "Dynamic Robot Path Planning Among Crowds in Emergency Situations."

  
List last updated 2018-03-17. If something is missing or wrong, please contact 
me!

.. (list made using "Chicago" style citation)
