dannyko / gpdk Goto Github PK
View Code? Open in Web Editor NEWGAMEPREZ Developer Kit
License: Other
GAMEPREZ Developer Kit
License: Other
update code to support polygon-polygon interactions.
check bounding box first before looping over path segments connected to nodes inside bounding box intersection
Wall ball v.2 will use the gpdk. This will also include documentation that will serve as a tutorial guide for developers looking to get starting using the gpdk.
i'm wondering if there's any advantage or usefulness of using the D3 "force" layout for any of our effects or gamedev protoypes or physics?
explore removing underscore, library and d3.timer from global physics engine
this bug was introduced after adding Vec class and refactoring code to use Vec in force, collision, reaction, and element etc.
symptom: at higher levels drones fly off in weird directions.
Rectangle class with collision/reaction cases
e.g. use code from Udacity quiz solution showing Rect collision detection - low priority update (use Polygon for now)
adjust dimensions of game to window size; for now, use SVG transforms. later, add canvas support...
Makefile to compile example game(s) coffeescript into js
(for generating production code from .coffee files)
global physics timer will allow us to reduce the total number of collision detections being executed, improving computational efficiency.
collision detection and numerical integration are not state variables and so don't really belong inside of the element class.
maybe its time to add an physics/modules/integration.coffee class providing different numerical integration algorithms and interfaces for their parameters etc.
try using the Howler.js library, thanks to @fnsport2 for the link
rewrite spacepong using the gpdk
add test folder and put physics test aka "eye candy" example number 1
speed up collision detection to reduce the number of elements checked after each positionupdate.
e.g. using d3 geom.quadtree
images not working yet but getting closer, refactored code a bit i.e. polygon.rotate() and added polygon.set_path etc.
I just learned about garbage collection overhead due to object creation / memory churn in JS and how it affects peformance in HTML5 games in particular, even simple things like splice, pop, and literals like {} create new objects... any time the "new" keyword is used, a new object is being created. We need to "pre allocate" or reuse objects as much as possible.
Since we don't want to go too extreme on minimizing garbage collection, my plan is to start with a dynamic allocation + reuse approach, where new objects are only created if an unused one is not available in the dynamic "pool" and once an object is "done" it goes in the "pool" rather than getting "destroyed" or collected by the GC.
That way, there won't need to be any static pre-allocation, but at the same time, we should be able to avoid creating any new objects if there is one that can be easily reused.
We can use the profiler to work from the top-down on the most expensive GC related churn issues first.
see:
and
https://www.scirra.com/blog/76/how-to-write-low-garbage-real-time-javascript
plus
https://github.com/martinwells/gamecore.js
as well as
http://beej.us/blog/data/object-pool/
and also
since only the parameters change we can refactor Force into a Module instead of an Object and create a new, lighter-weight ForceParam Object to manage the different types of parameters. Each element will store instances of ForceParam in a force_param array rather than instances of Force in a force array.
need a module to handle loading of assets before running game
adjust physics timestep to account for variable framerates e.g.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.