Bomberman in html5
v0.6
- map generation is now seeded using David Bau's script (see credits)
- Player no longer spawns on top of a wall. There is still a chance to get stuck, but it's reaaaaaly low.
- Spritesheet is now pre-loaded
v0.5
- introduced camera. Board size is currently 60 * 60 tiles to test camera out
- fixed a bug where space wasn't removed from keyqueue when no bombs were left to place
v0.4.1
- made a background canvas for drawing grass just one time, instead of every time on update. Removed CSS background.
v0.4
- introduced floating texts. Info texts are shown on bonus pickup and death
- player now spawns onto a random tile (reduces the risk of spawning into a wall or no-way-out position)
v0.3
- grass tiles are no longer drawn, background is set with CSS
- player movement is now "animated" meaning that after the key click, player is locked into the animation for 4 updates
- update rate changed from 50 to 25
v0.2
- introduced spritesheet
- player is now the same size as every other tile
- fixed moving check
v0.1
- first release
- ~1000 lines of js (v0.5)
- took me around 2 weeks, after the work development time to create (v0.1)
- everything is written in OOP style, so all the things are objects which have their own properties and methods
- Game update and draw functions are called every 25ms
- Input is handled using queue system. All keystrokes are put into an queue which is handled on the game update. This should give pretty responsive gameplay.
- Sprites are drawn using jCanvas.
- It has no levels, so after blowing all the blocks up there is nothing else to do.
- Map generation is now seeded (as of v0.6)
I ran into a performance problem with client side script. One day I wondered myself that a 10 000 tiles big bomberman map would be awesome. After little testing and playing around with numbers I understood that anything over 100x100 is getting tricky. Even then I need to have background as a "static" layer and just draw the tiles I really need. But with more tiles, arrays just get too big to handle and browsers start lagging and as I couldn't come up with a solution which could be made from client-side, I need to move my 10 000 tile map to a server-side. Plan is to make it so, that client holds 100x100 tiles at the most at any given time. If the player moves on the map, I'll request needed tiles from the server and empty up the array from other end, so it'll still be 100x100. Server will just act as a very big storage, holding all the tiles I've used and generating new ones if needed.
http://projekt406.ee/codeblog/demos/booman/ (latest)
http://projekt406.ee/codeblog/demos/boomanv1/ (first release)
http://projekt406.ee/codeblog/booman
Do whatever you please, but refer to me as an original author :)
All the credits for tiles and the character go to Klex1992 on rpgmakervx.net
Big thanks to <a href="https://github.com/r3ality" title"R3ality's github" target="_blank">R3ality for brainstorming with me and helping with finding ideas and solutions to some problems I ran into.
Thanks to <a href="http://davidbau.com/" title"David Bau" target="_blank">David Bau for providing the javascript Math.random() seeding script.
Thanks to raul72 for the movement improvement.