An isometric game engine written in Canvas. A learning project and not very useful in its present state.
This game engine is useful only as an example of what not to do. Some learning notes:
- Use the entity/component rather than a traditional object oriented approach
- Use NPM and Browserify/Webpack to simplify development and modularity.
- See anotheriso for another incomplete, but less irredeemable engine.
They said "You can't do it!" and I said "I so can!" Then I came up with an awful name and everybody groaned.
The idea behind the project is to implement an isometric tile-based world engine; whether this be used for games, displaying maps or whatever. Features I desire include:
- Data interchange and state (loading/saving)
- Reasonable performance (through background rendering, caching and conservative refreshes
- Tile and sprite level animation (ie animated lots, cars traversing streets.)
- Multiple zoom levels
- Tile "height", slopes etc.
- Object-oriented interface to allow interaction and advanced functionality on a per-tile, per-object basis.
There's a fair emount of work there, so we'll see how far I get.
This is primarily a learning project.
Copyright Ashley Kyd 2010.
This file is part of isoCan.
isoCan is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. isoCan is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with isoCan. If not, see <http://www.gnu.org/licenses/>.