Giter Site home page Giter Site logo

imclab / impactplusplus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from collinhover/impactplusplus

0.0 2.0 0.0 8.56 MB

Impact++ is a collection of additions to ImpactJS with full featured physics, dynamic lighting, UI, abilities, and more.

Home Page: http://collinhover.github.com/impactplusplus

License: MIT License

impactplusplus's Introduction

Impact++ (r6)

###DOCS / DEMO

####Overview

Expanding the ImpactJS engine by over x10 so you can kick-start your game project into a full featured experience for the web (and mobile!).

Impact++ is stable for ImpactJS v1.20 - v1.23

####Features

  • Extended capability of ImpactJS's default classes to improve collisions, animations,...
  • ig.CONFIG data driven configuration to allow you to change parameters without rebuilding or modifying the library
  • ig.GameExtended game with layers, easy pausing, improved debugger,...
  • ig.EntityExtended entities with lots of extra helper functions, opt-in performance, inheritance friendly animations,...
  • ig.pathfinding efficient, garbage collector free pathfinding able to avoid entities and let you draw pathfinding maps in the editor
  • ig.InputPoint input with multi-touch and gestures that works the same for mouse or touch
  • ig.Camera camera for screen control, smooth target transitions, atmospheric overlays,...
  • ig.UIElement a whole list of ui element entities to make text, buttons, overlays,...
  • ig.Ability abilities that are entirely modular, have a built in casting system, upgrades,...
  • ig.EntityLight lighting in real-time with shadows, dynamic alpha and/or color,...
  • ig.Character abstract character class with options for moving, jumping, climbing,...
  • ig.Creature abstract creature class with simple AI to find targets, move to, attack, use abilities, flee...
  • ig.Player abstract player class with built in interaction and input handling,...
  • ig.Tutorial abstract tutorial class to help you show your players how to do things
  • ig.Spawner abstract spawner class with pooling for better performance
  • ig.Particle abstract particle class with fading in and/or out, random velocities,...
  • ig.EntityTrigger easy to use set of triggers for complex event driven behavior
  • ig.EntityCheckpoint checkpoint for automatic player respawning on death
  • ig.utils huge list of utility functions for vectors, drawing, intersections, math, tiles,...
  • and too much more to reasonably list here!

####Download Download Zip Download Zip

##Getting Started ####First Steps

  1. Download using one of the "Download" links and extract the files.
  2. Copy the impactplusplus/lib/plusplus folder into your new or existing ImpactJS project lib directory.
  3. Either copy the impactplusplus/lib/weltmeister/config.js into your projet's lib/weltmeister directory...
  4. Or, if you have a custom Weltmeister config:
    • add 'lib/plusplus/entities/*.js' to the entityFiles setting
    • change the collisionTiles.path setting to 'lib/weltmeister/collisiontiles_plusplus_64.png'
  5. Make sure you're comfortable with the ImpactJS Documentation
  6. Load up the Impact++ Jump N' Run demo (see below) to review the basics
  7. Dive into the Impact++ Documentation

####Demo: Jump N' Run Check out the Jump N' Run demo for an overview of getting started with Impact++, located in the 'examples/jumpnrun' directory. Don't forget to copy the ImpactJS engine and Weltmeister files into the demo directory!

####Demo: SUPER COLLIDER! Check out the SUPER COLLIDER demo for an overview of how to use almost every single feature in Impact++, located in the 'examples/supercollider' directory. Don't forget to copy the ImpactJS engine and Weltmeister files into the demo directory!

##FAQ ####Ejecta, Cocoonjs, etc? Impact++ has been built from day one to be portable / wrappable to iOS, Android, Win8, etc. Tests are ongoing, but the library does nothing that should need special handling when porting or wrapping your game code for distribution as a mobile app. Please let us know if you find any issues!

####Custom Settings // edit the user config file at 'plusplus/config-user.js' // then you can set values // for any of the properties that appear in ig.CONFIG // and they will automatically be merged // over the base settings ig.CONFIG_USER = { // for example, one thing you'll probably want to set right away // is your own logo (in base64) for the loader LOADER_LOGO_SRC_MAIN: 'data:image/png;base64,...' };

####Design Philosophy

  • Modularity - code should be reusable whenever possible
  • Parametrize - projects should be able to change settings without modifying the library
  • Be agnostic - do not rely on device or browser specific functionality
  • Consistency - the codebase should look like a cohesive whole
  • Document - the codebase should be reasonably documented

####Contributing We'd love it if you want to help make Impact++ better, so if you're interested take a look at CONTRIBUTING.

####License Impact++ is licensed under the MIT license. For full license and information, see LICENSE.

##Changelog Check out the Releases.

impactplusplus's People

Contributors

bdaenen avatar collinhover avatar nakanaa avatar racingcow avatar

Watchers

 avatar  avatar

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.