Written using Entity-Component-System (ECS) architecture in ClojureScript using pixi.js for rendering.
The latest working version can be found at http://jmmk.github.io/clash-attack-sim/
Work In Progress
Home Page: https://jmmk.github.io/clash-attack-sim/
License: Other
Written using Entity-Component-System (ECS) architecture in ClojureScript using pixi.js for rendering.
The latest working version can be found at http://jmmk.github.io/clash-attack-sim/
Work In Progress
Seems like when adding an enormous number of barbarians, hp doesn't drop as quickly as it should
Currently it finds a target and decides what action to take
CEASE DEVELOPMENT OF THIS GAME
You are infringing upon the copyrights of one Clash of Clans™© and you have been reported to the authorities.
SWAT TEAMS ARE APPROACHING YOUR LOCATION AS WE SPEAK
DONT FUCK WITH US
Currently using modulo of frame-count and an entity's attack-speed, but this makes all entities with the same attack speed attack at the same exact time. Instead, once they get in range, they should set last-attacked to the current frame-count. When frame-count equals last-attacked + attack-speed, attack again and set last-attacked to current frame-count.
This would also allow adding/removing systems dynamically during execution
Right now I set one animation sequence for moving. The animation sequence keyed off state like :moving
, :attacking
, etc.
Chrome 43
http://jmmk.github.io/clash-attack-sim/
With the addition of the attack and health system, performance is getting bad once enough entities are on the stage. Should research and implement basic performance enhancements
Currently archers are implemented as a random chance to spawn on left-click. Instead, there should be a choice between spawning an archer or barbarian.
This should be standardized one way or the other
moving vs attacking would be a component and instead of the system checking the state of a component, it would only check for the presence of a component. The technique is outlined here: http://www.richardlord.net/blog/finite-state-machines-with-ash#more-1064
New entity that shares the hp component of another entity and is positioned at top of it
Each building should have an unspawnable zone that is one tile bigger on all sides.
I should use an actual input queue instead of just a "click" queue. And when I handle each event, I will have more conditions to check
Currently it only allows one click per frame. It should be an array of all actions in a frame
@param [options.roundPixels=false] {boolean} If true Pixi will Math.floor() x/y values when rendering, stopping pixel interpolation.
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.