All Projects → kikito → passion

kikito / passion

Licence: BSD-3-Clause license
An object-oriented LÖVE game engine

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to passion

code-gov-style
Deprecated - Style for code.gov including buttons, banners, and cards
Stars: ✭ 12 (-65.71%)
Mutual labels:  deprecated, archived
contentstats
DEPRECATED – See how many entries have been created for channels and structures in your Craft CMS website.
Stars: ✭ 29 (-17.14%)
Mutual labels:  deprecated, archived
react-virtual-keyboard
Use jQuery Virtual Keyboard in react.js
Stars: ✭ 44 (+25.71%)
Mutual labels:  deprecated, archived
ionic-3D-card-carousel
DEPRECATED Sample project that shows an experimental 3D card carousel in Ionic.
Stars: ✭ 29 (-17.14%)
Mutual labels:  deprecated, archived
django-snow
ServiceNow Ticket Management App for Django based projects
Stars: ✭ 16 (-54.29%)
Mutual labels:  deprecated, unmaintained
Angular2 Adminlte
DEPRECATED An Angular 4 version of the AdminLTE theme
Stars: ✭ 239 (+582.86%)
Mutual labels:  deprecated, archived
XpringKit
XpringKit provides a Swift SDK for interacting with Xpring Protocols (XRP/PayID/ILP). This library is deprecated.
Stars: ✭ 23 (-34.29%)
Mutual labels:  deprecated, archived
Cudlr
⛔️ [DEPRECATED] Console for Unity Debugging and Logging Remotely
Stars: ✭ 167 (+377.14%)
Mutual labels:  deprecated, unmaintained
jest-badges-readme
Creates a group of coverage badges from Jest into your README
Stars: ✭ 30 (-14.29%)
Mutual labels:  deprecated, archived
cartesian ros control
DEPRECATED: A set of packages to bring Cartesian control functionality to the ROS-control framework.
Stars: ✭ 33 (-5.71%)
Mutual labels:  deprecated, archived
Sphero Ios Sdk
🚫 DEPRECATED: Sphero™ is the amazing robotic ball ( sphero.com ) created by Orbotix, this is the repository for the iOS SDK for Sphero™. Visit dev site for more information:
Stars: ✭ 232 (+562.86%)
Mutual labels:  deprecated, archived
DeepDIVA
⛔️ DEPRECATED <Python Framework for Reproducible Deep Learning Experiments>
Stars: ✭ 32 (-8.57%)
Mutual labels:  deprecated, archived
Terraintoolsamples
Unity has archived the TerrainToolSamples repository. For future development, please use the Terrain Tools package.
Stars: ✭ 195 (+457.14%)
Mutual labels:  deprecated, archived
picosdk-python-examples
DEPRECATED - An example Python application and examples for PicoScope® oscilloscope products.
Stars: ✭ 21 (-40%)
Mutual labels:  deprecated, archived
Sketch Toolbox
DEPRECATED: A plugin manager for Sketch.app
Stars: ✭ 2,159 (+6068.57%)
Mutual labels:  deprecated, archived
microsoft-teams-faqplusplus-app
DEPRECATED - This repository contains a deprecated version of the FAQ Plus app template. Please see the README file for more details and a link to the new repository
Stars: ✭ 47 (+34.29%)
Mutual labels:  deprecated, archived
Go Web3
Ethereum Go Client [obsolete]
Stars: ✭ 120 (+242.86%)
Mutual labels:  deprecated, archived
Sphero Android Sdk
🚫 DEPRECATED REPO: Sphero™ is the amazing robotic ball ( gosphero.com ), this is the repository for the Android SDK for Sphero™. Visit dev site for more information:
Stars: ✭ 160 (+357.14%)
Mutual labels:  deprecated, archived
Sphero-Win-SDK
🚫 DEPRECATED: Sphero SDK for Win 8.1+ using RFCOMM
Stars: ✭ 36 (+2.86%)
Mutual labels:  deprecated, archived
summit2016-RankingPredict
Deprecated, No more maintained - Deprecated, no longer maintained
Stars: ✭ 34 (-2.86%)
Mutual labels:  deprecated, archived

PÄSSION

An Object-oriented game engine for LÖVE

Deprecated and unmaintained

This project is deprecated and unmaintained. Some of its original ideas have been exported to their own separate projects.

Main features

  • Object orientation provided through MiddleClass & MindState
  • Modularized on several packages, accesible through the passion module (i.e. passion.graphics)
  • There is one recommended Actor class (passion.Actor) as well as a physics-enabled Actor class (passion.physics.Actor).

Module list

passion

He heart of the system. Contains basic initialization routines, as well as callback implementations.
It also includes several helper functions (such as passion.apply, passion.invoke or passion.dumpTable)

passion.Actor

Not a package per se, but a class. Your “game objects” (enemies, bullets, the player, even score displays) should ultimately be a subclass of passion.Actor. Very rarely you will ned to subclass from Object itself (or StatefulObject).

passion.Actor packages a ton of functionality. The most interesting is:

  • You don’t have to store your actors on a global variable. PÄSSION stores a reference to all actors created.
  • It has an :update(dt) method. PÄSSION calls it automatically on every actor once the actors are created.
  • It as a :draw() method, as well as a drawOrder() method. PÄSSION calls it automatically on every call.
  • There are built-in parent-child methods, as well as methods for managing children.
  • A class method called “apply” allows you to parse all the actors of one class (subclasses included). For example, Bullets:apply(‘check’, player) will call the method bullet:check(player) on all instances of Bullets (or subclasses of Bullet).
  • Timer-related functions (see below)
  • Freezing and invisibility – related methods and states. You can make an actor frozen but visible, invisible but not frozen, or frozen and visible. This is controlled via state stacking.
  • Other convenience methods such as set/getPosition, set/getCenter, etc.

passion.physics

Provides two main features:

  • a way of independently refreshing the physics word (passion.physics.update) so that the game is a bit more impervious to window moving.
  • a subclass of passion.Actor (passion.physics.Actor) that is physics-aware. It is essentially an Actor attached to a Body.

passion.graphics

Handles several graphical operations not provided by raw LÖVE. Notably, rounded-corner rectangles, image loading (through passion.graphics.getImage) and simplified quad management (quads “remember” the images they are attached to)

passion.audio

The main two functions on this module are passion.audio.getSource and passsion.audio.play. The former loads a resource, similarly to what love.audio.loadSource does. However, this function “caches” resources, so a resource is not loaded twice. It also accepts a second parameter that allows playing the same source several times, simultaneously – as long as it is played using passion.audio.play instead of love.audio.play.

passion.fonts

Contains only one function, passion.fonts.getFont. Loads fonts with caching – this means that the same font isn’t loaded twice – the second time the font is “remembered” and returned.

passion.timers

Contains several timing-related functions.

  • passion.timer.after executes a function after a certain amount of time has passed. The execution happens only once.
  • passion.timer.every executes a function periodically.
    Both functions require passion.timer.update(dt) to be executed periodically (this is normally automatically in passion.update(dt))

The functions also return instances of the timers they create. These timers can be stored and manipulated. For instance, they can be “reset” (so their remaining time changes) as well as destroyed (so they will not trigger any action).

It is worth noting that passion.Actor has a simplified version of these functionalities (passion.Actor.after and passion.Actor.every) that allow the execution of methods via names as well as via anonimous functions (i.e. actor:after(3, ‘destroy’) )

passion.gui

An incomplete but functional gui library. It contains panels, labels and buttons for now.

passion.ai

This is a very heterogeneous module where I plan to add several AI-related functionalities. For now it has a very nice QuadTree. In the future I plan to add other stuff like A* algorithms.

passion.oop

Not a module per se. More like a set of functionalities needed for passion to work correctly. It includes MiddleClass and MindState as well as a messaging facility known as Beholder. Beholder is the way PÄSSION has of handling events (such as keypresses or mousereleases). It can also work as a generic messanging system.

passion.colors

Defines a list of useful color names.

passion.fixes

This is the only module that modifies the love library. It only modifies recognized bugs when possible. It does not add new functionality. It is expected to rapidly change with every LÖVE version.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].