This is a continuation from the previous [post](https://steemit.com/gamedev/@tensaix2j/tutorial-part-3-how-to-create-a-html5-game-using-tiled-map-editor) ... # Part 4: HTML5 Canvas and Javascript  Today i m going to show you how to use HTML5 canvas and Javascript to render images and animations. Let's open any text editor of your choice and start writing some Javascript. We are going to need 2 files : 1. index.html 2. dogewarrior.js ## Using HTML5 Canvas In your html file, we only need to source our javascript file and a simple canvas tag as such: index.html: <script src="dogewarrior.js"></script> <canvas id="cv"></canvas> You can add other HTML and CSS styling later. For now, we only need a canvas. Now let's create some basic code structure in our javascript file. dogewarrior.js: function DogeWarrior() { this.init = function() { } } document.addEventListener("DOMContentLoaded", function() { var dw = new DogeWarrior(); dw.init(); }); Basically what this does is that when the Document is loaded, an object of DogeWarrior will be instantiated and the instance will invoke its init method. We ll add more methods as we progress along. To paint picture on the Canvas, we ll need to use the canvas's context and some basic draw calls.. Let's add the following into our init method this.canvas = document.getElementById("cv"); this.canvas.style.backgroundColor = "#000000"; this.canvas.width = 1200 ; this.canvas.height = 800 ; this.ctxt = this.canvas.getContext('2d'); We ll adjust the canvas width and height based on window size later. For now, just fix it to 1200 x 800. Now we can use this.ctxt to paint sprites into the canvas. But before that, we first need to load the images. ## Loading Resources We can use the src() method of Image object to load the sprite sheet, however, we need to ensure that all the required images have already been loaded before we can start running our game loop. To do this, we ll add event listeners for our loading processes. We can display a simple text showing % of resources loaded by painting text onto the canvas. function DogeWarrior() { this.init = function() { this.canvas = document.getElementById("cv"); this.canvas.style.backgroundColor = "#222222"; this.canvas.width = 1200 ; this.canvas.height = 800 ; this.ctxt = this.canvas.getContext('2d'); this.resource_loaded = 0; this.total_resource = 2; this.load_resources(); } this.load_resources = function(){ var dw = this; this.sprite_mainchar_body = new Image(); this.sprite_mainchar_body.src = 'images/dogewarrior_body.png'; this.sprite_mainchar_body.addEventListener('load', function() { dw.on_load_completed(); }, false); this.sprite_mainchar_head = new Image(); this.sprite_mainchar_head.src = "images/dogewarrior_head.png"; this.sprite_mainchar_head.addEventListener('load', function() { dw.on_load_completed(); }, false); } this.on_load_completed = function() { var dw = this; this.resource_loaded += 1; this.update_loading_screen(); if ( this.resource_loaded == this.total_resource ) { console.log("Loading Completed"); } } this.update_loading_screen = function() { var percent_complete = ( this.resource_loaded * 100.0 / this.total_resource).toFixed(2); this.ctxt.clearRect( 0,0, this.canvas.width , this.canvas.height ); this.ctxt.fillStyle = "white"; this.ctxt.font = "14px Comic Sans MS"; var msg = "Loading Resources . " + percent_complete + "% loaded"; this.ctxt.fillText( msg , this.canvas.width / 2 - msg.length * 6 / 2 , this.canvas.height /2 ); } } ## Test-Running with Mongoose Simple Web Server. To test run the game, you can download a simple web server(168kb) [here](https://cesanta.com/binary.html) . [ ](https://cesanta.com/binary.html) Just put the executable in your directory, double click it and the web server will serve the content from the current directory. Open your browser and go to url http://localhost:8080/index.html to view your page. My directory structure looks something like this: index.html dogewarrior.js images |_ dogewarrior_head.png |_ dogewarrior_body.png ## Creating a simple Game Loop A game loop runs continuously during gameplay. Each turn of the loop, it processes user input without blocking, updates the game state, and renders the game. It tracks the passage of time to control the rate of gameplay.  src: gameprogrammingpatterns.com There are 2 ways you can create a game loop. You can use **SetTimeout/SetInterval** or you can use **requestAnimationFrame** The advantages of using **requestAnimationFrame** over **setTimeout** is explained [here](https://stackoverflow.com/documentation/html5-canvas/4822/animation/16985/use-requestanimationframe-not-setinterval-for-animation-loops#t=201608020001464252569) , so we'll use **requestAnimationFrame** First, we are going to create on_timer function as such this.on_timer = function() { // Update // this.on_update(); // Draw this.on_draw(); var dw = this; window.requestAnimationFrame( function() { dw.on_timer(); }); } also, add dw.on_timer() after loading completed in on_load_completed this.on_load_completed = function() { var dw = this; this.resource_loaded += 1; this.update_loading_screen(); if ( this.resource_loaded == this.total_resource ) { console.log("Loading Completed"); dw.on_timer(); } } ## Render Game State into Canvas We are going to create our on_draw() method first that gets called n times every second. this.on_draw = function() { // Clear the canvas this.ctxt.clearRect( 0,0, this.canvas.width , this.canvas.height ); // Draw Main Characters this.ctxt.drawImage( this.sprite_mainchar_body , this.player.width * this.player.framex , this.player.height * this.player.framey , this.player.width , this.player.height , this.player.x - this.camera.x, this.player.y - this.camera.y, this.player.width , this.player.height ); this.ctxt.drawImage( this.sprite_mainchar_head , this.player.width_head * this.player.framex_head, this.player.height_head * this.player.framey_head, this.player.width_head, this.player.height_head, this.player.x - this.camera.x + this.player.head_offsetx , this.player.y - this.camera.y + this.player.head_offsety , this.player.width_head, this.player.height_head, ); } We'll also need a player object and a camera object. We'll use simple hash object {} for this purpose. In your on_init, add the following: this.player = {}; this.player.x = 0; this.player.y = 0; this.player.width = 120; this.player.height = 120; this.player.framex = 0; this.player.framey = 0; this.player.width_head = 40; this.player.height_head = 40; this.player.framex_head = 0; this.player.framey_head = 0; this.player.head_offsetx = 39; this.player.head_offsety = 17; this.camera = {}; this.camera.x = 0; this.camera.y = 0; ok, by now, when you view your index.html, you should get something that looks like this:  Alright, that's all for today, we'll continue with putting background, adding controls and more in the next episode #### To be Continued ...
author | tensaix2j |
---|---|
permlink | tutorial-part-4-how-to-create-a-html5-game-using-tiled-map-editor-js-and-canvas |
category | gamedev |
json_metadata | {"tags":["gamedev","tutorial","art","javascript","programming"],"image":["http://i.imgur.com/uMnnkvH.png","http://imgur.com/CoJZV5O.png","http://gameprogrammingpatterns.com/images/game-loop-fixed.png","http://imgur.com/E1YIeD5.png"],"links":["https://steemit.com/gamedev/@tensaix2j/tutorial-part-3-how-to-create-a-html5-game-using-tiled-map-editor","https://cesanta.com/binary.html","http://localhost:8080/index.html","https://stackoverflow.com/documentation/html5-canvas/4822/animation/16985/use-requestanimationframe-not-setinterval-for-animation-loops#t=201608020001464252569"],"app":"steemit/0.1","format":"markdown"} |
created | 2017-07-16 02:33:54 |
last_update | 2017-07-16 15:32:03 |
depth | 0 |
children | 6 |
last_payout | 2017-07-23 02:33:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 141.645 HBD |
curator_payout_value | 47.012 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 7,680 |
author_reputation | 5,077,426,415,725 |
root_title | "[Tutorial] Part 4 : How to create a HTML5 game using Tiled Map Editor, JS and Canvas" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 8,629,134 |
net_rshares | 39,932,586,047,860 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
wackou | 0 | 730,392,153,916 | 4.05% | ||
anu | 0 | 257,883,462,200 | 22.5% | ||
pharesim | 0 | 103,789,472,911 | 0.36% | ||
kushed | 0 | 806,428,610,980 | 45% | ||
ihashfury | 0 | 4,386,455,123 | 3.51% | ||
rossco99 | 0 | 137,255,754,303 | 13.5% | ||
xeroc | 0 | 324,574,593,309 | 13.5% | ||
steem-id | 0 | 95,842,371,539 | 13.5% | ||
gandalf | 0 | 93,257,162,613 | 9% | ||
blakemiles84 | 0 | 67,777,491,471 | 13.5% | ||
theshell | 0 | 38,214,659,278 | 13.5% | ||
midnas-howler | 0 | 326,342,286,014 | 45% | ||
samether | 0 | 1,994,367,262 | 13.5% | ||
michaelx | 0 | 24,009,780,758 | 13.5% | ||
anwenbaumeister | 0 | 1,628,533,071,508 | 45% | ||
albertogm | 0 | 8,845,086,998 | 13.5% | ||
xdark21 | 0 | 574,391,154 | 45% | ||
angusleung100 | 0 | 1,420,454,772 | 100% | ||
isteemit | 0 | 48,277,560,483 | 22.5% | ||
roelandp | 0 | 74,899,637,306 | 1.35% | ||
nerdlab | 0 | 2,772,273,403 | 45% | ||
diana.catherine | 0 | 3,740,071,023 | 4.5% | ||
raymondspeaks | 0 | 11,388,111,642 | 45% | ||
fundurian | 0 | 87,144,193,870 | 100% | ||
phenom | 0 | 16,361,645,788 | 13.5% | ||
blueorgy | 0 | 3,775,683,817 | 0.03% | ||
ubg | 0 | 202,213,663 | 1% | ||
bitcoiner | 0 | 9,867,286,849 | 13.5% | ||
ben.zimmerman | 0 | 14,250,760,919 | 22.5% | ||
mondeja | 0 | 1,557,592,193 | 45% | ||
arconite | 0 | 2,374,664,970 | 9% | ||
fatboy | 0 | 640,080,505,241 | 45% | ||
tensaix2j | 0 | 200,839,428 | 100% | ||
gomeravibz | 0 | 16,895,367,326 | 8.1% | ||
letc | 0 | 304,289,245 | 2.7% | ||
toxichan | 0 | 12,785,927,029 | 45% | ||
brendio | 0 | 70,654,258,376 | 10.8% | ||
randyclemens | 0 | 11,849,774,569 | 45% | ||
cmorton | 0 | 2,378,820,903 | 5.4% | ||
hilarski | 0 | 62,076,041,367 | 45% | ||
nulliusinverba | 0 | 2,369,944,915 | 13.5% | ||
sammie | 0 | 2,722,388,035 | 45% | ||
randomli | 0 | 4,110,385,547 | 45% | ||
dan-bn | 0 | 65,321,487,198 | 13.5% | ||
ebargains | 0 | 17,382,209,627 | 45% | ||
allyouneedtoknow | 0 | 8,559,760,952 | 27% | ||
tracemayer | 0 | 6,794,391,159 | 13.5% | ||
develcuy | 0 | 2,403,993,136 | 9% | ||
steemedia | 0 | 4,749,367,241 | 45% | ||
meerkat | 0 | 210,480,308,054 | 45% | ||
zoee | 0 | 2,236,187,488 | 45% | ||
curie | 0 | 3,479,190,361,422 | 45% | ||
cebymaster | 0 | 11,720,823,374 | 45% | ||
ninkhisibir | 0 | 4,511,397,131 | 45% | ||
hendrikdegrote | 0 | 28,724,323,646,136 | 45% | ||
simonjay | 0 | 21,893,764,400 | 20% | ||
br-real | 0 | 183,206,493,066 | 100% | ||
black-eye | 0 | 117,359,456 | 100% | ||
sstefan | 0 | 15,471,083,506 | 18% | ||
decebal2dac | 0 | 16,302,420,582 | 45% | ||
garvofe | 0 | 821,424,840 | 4.05% | ||
djvidov | 0 | 4,908,148,629 | 10% | ||
cotidiana | 0 | 5,343,474,359 | 45% | ||
sellergenius | 0 | 1,874,921,454 | 45% | ||
beeskee | 0 | 10,097,438,253 | 45% | ||
m4wllt | 0 | 3,360,695,360 | 45% | ||
cheah | 0 | 20,800,488,676 | 45% | ||
marcosespes1 | 0 | 5,254,097,782 | 45% | ||
heymattsokol | 0 | 26,258,751,557 | 45% | ||
cgame | 0 | 794,288,871 | 4.5% | ||
ejemai | 0 | 1,209,482,058 | 100% | ||
ammadkhalid | 0 | 3,343,708,861 | 45% | ||
dunia | 0 | 799,163,284,927 | 45% | ||
krizia | 0 | 9,069,224,108 | 45% | ||
torkot | 0 | 2,370,712,372 | 13.5% | ||
libertylol | 0 | 2,606,329,509 | 45% | ||
mursin | 0 | 431,310,430 | 100% | ||
vadbars | 0 | 1,969,602,743 | 100% | ||
mckenziegary | 0 | 14,061,208,132 | 45% | ||
inna-yatsuk | 0 | 5,154,464,198 | 100% | ||
caweyant | 0 | 14,319,066,670 | 45% | ||
almvide | 0 | 6,629,183,390 | 27% | ||
mhaimo | 0 | 83,085,604 | 4.5% | ||
awesomianist | 0 | 3,029,607,166 | 9% | ||
ilvacca | 0 | 3,182,452,982 | 22.5% | ||
synapse | 0 | 3,431,863,165 | 100% | ||
cheekytequila | 0 | 3,881,466,391 | 100% | ||
scrooger | 0 | 15,520,939,586 | 22.5% | ||
joviandres | 0 | 5,118,596,114 | 100% | ||
nrajesh | 0 | 1,370,780,866 | 4.5% | ||
indiantraveller | 0 | 293,351,975 | 4.5% | ||
gabystories | 0 | 3,329,502,391 | 45% | ||
cryptastic | 0 | 13,166,456,407 | 13.5% | ||
headliner | 0 | 15,379,455,396 | 100% | ||
bp423 | 0 | 5,746,588,638 | 45% | ||
followbtcnews | 0 | 2,785,372,003 | 4.5% | ||
gigafart | 0 | 179,073,728,687 | 4.5% | ||
bitrocker2020 | 0 | 4,668,039,918 | 9% | ||
leomichael | 0 | 13,257,280,107 | 4% | ||
stegaru | 0 | 5,393,842,644 | 100% | ||
jrej | 0 | 11,665,687,122 | 100% | ||
costopher | 0 | 2,415,443,689 | 27% | ||
jga | 0 | 3,528,363,840 | 100% | ||
hqmafa420 | 0 | 6,841,825,478 | 45% | ||
erickjongo | 0 | 3,705,970,974 | 45% | ||
robinhaney | 0 | 2,063,911,529 | 100% | ||
agilblade | 0 | 685,822,894 | 45% | ||
greatvideos | 0 | 432,806,599 | 45% | ||
thetimminator | 0 | 7,621,363,331 | 45% | ||
joelcaluza | 0 | 686,650,614 | 45% | ||
xdark23 | 0 | 1,744,100,640 | 100% | ||
n1kofi | 0 | 7,923,427,260 | 45% | ||
drwyness | 0 | 2,512,449,439 | 45% | ||
cryptolife1 | 0 | 132,812,768 | 10% | ||
lakov | 0 | 1,126,850,847 | 100% | ||
johnyboi | 0 | 2,464,083,642 | 45% | ||
cobloc | 0 | 262,586,259 | 9% | ||
green07 | 0 | 1,279,733,329 | 100% | ||
conexus | 0 | 5,544,941,572 | 100% | ||
machhour | 0 | 380,076,442 | 100% | ||
freecreative | 0 | 227,425,839 | 45% | ||
formcrypto | 0 | 1,075,218,488 | 100% | ||
valderrama | 0 | 9,646,962,495 | 45% | ||
nana.ama | 0 | 411,283,778 | 100% | ||
mystifact | 0 | 1,453,585,748 | 45% | ||
boosterpack | 0 | 1,062,548,221 | 45% | ||
alexmicrocontrol | 0 | 20,721,786,892 | 100% | ||
steppingout23 | 0 | 20,605,974,482 | 5% | ||
bluchr | 0 | 18,950,057,989 | 45% | ||
kkotto | 0 | 370,925,411 | 100% | ||
prosirius | 0 | 1,310,971,211 | 13.5% | ||
ehzi-dehve | 0 | 1,349,831,085 | 100% | ||
palmtreetrading | 0 | 7,231,813,626 | 22.5% | ||
wayfaraway | 0 | 165,167,748 | 10% | ||
kingjan | 0 | 747,618,271 | 100% | ||
outhori5ed | 0 | 202,122,964 | 100% | ||
tarmizie | 0 | 63,879,472 | 10.52% | ||
marius.sch | 0 | 1,188,395,634 | 100% | ||
willian95 | 0 | 829,893,058 | 100% | ||
digitalshaman | 0 | 70,393,059 | 100% | ||
ananiani | 0 | 9,294,080,600 | 45% | ||
philosophist | 0 | 8,488,287,018 | 45% | ||
voltash | 0 | 66,249,008 | 7% | ||
justaskbigjohn | 0 | 1,669,401,121 | 45% | ||
gunsmasterrock | 0 | 219,010,386 | 100% | ||
g3nj0 | 0 | 1,073,628,736 | 100% | ||
donaldtruck | 0 | 5,671,926,328 | 100% | ||
mychild01 | 0 | 1,304,058,204 | 45% | ||
mychild02 | 0 | 1,304,076,749 | 45% | ||
mychild03 | 0 | 1,304,058,097 | 45% | ||
rashidminhas | 0 | 58,033,787 | 100% | ||
chrsart | 0 | 754,439,220 | 100% | ||
justdentist | 0 | 783,454,460 | 100% | ||
abhishek587 | 0 | 290,168,204 | 100% | ||
bashc | 0 | 156,690,788 | 100% | ||
mathy | 0 | 58,033,595 | 100% | ||
taufik.abdsyam | 0 | 1,009,784,082 | 100% | ||
hamo86 | 0 | 52,230,135 | 100% | ||
hackbot | 0 | 93,627,339 | 10% | ||
googly | 0 | 106,110,984 | 10% | ||
freakred | 0 | 118,594,587 | 10% | ||
matrixbot | 0 | 112,352,765 | 10% | ||
cricinfo | 0 | 112,352,765 | 10% |
Seems easy enough to create a simple game using Tiled Map Editor, JS and Canvas. I never played with Canvas. :)
author | djvidov |
---|---|
permlink | re-tensaix2j-tutorial-part-4-how-to-create-a-html5-game-using-tiled-map-editor-js-and-canvas-20170716t091430566z |
category | gamedev |
json_metadata | {"tags":["gamedev"],"app":"steemit/0.1"} |
created | 2017-07-16 09:14:30 |
last_update | 2017-07-16 09:14:30 |
depth | 1 |
children | 0 |
last_payout | 2017-07-23 09:14:30 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.215 HBD |
curator_payout_value | 0.068 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 111 |
author_reputation | 11,066,789,299,895 |
root_title | "[Tutorial] Part 4 : How to create a HTML5 game using Tiled Map Editor, JS and Canvas" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 8,651,926 |
net_rshares | 58,170,576,194 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
tensaix2j | 0 | 182,010,731 | 100% | ||
djvidov | 0 | 57,988,565,463 | 100% |
jajaj is funny the face
author | gunsmasterrock |
---|---|
permlink | re-tensaix2j-tutorial-part-4-how-to-create-a-html5-game-using-tiled-map-editor-js-and-canvas-20170716t160601885z |
category | gamedev |
json_metadata | {"tags":["gamedev"],"app":"steemit/0.1"} |
created | 2017-07-16 17:05:45 |
last_update | 2017-07-16 17:05:45 |
depth | 1 |
children | 0 |
last_payout | 2017-07-23 17:05:45 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 23 |
author_reputation | 286,435,025,928 |
root_title | "[Tutorial] Part 4 : How to create a HTML5 game using Tiled Map Editor, JS and Canvas" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 8,686,448 |
net_rshares | 0 |
This is such a great article! Thank you for sharing this. I'd love to learn coding and try my hand at a simple video game. I'm gonna follow along to get a glympse into it. At the moment I'm focusing on character and story, making my own comic. I'll be exploring video games more once I'm done with this project. ;-)
author | jrej |
---|---|
permlink | re-tensaix2j-tutorial-part-4-how-to-create-a-html5-game-using-tiled-map-editor-js-and-canvas-20170716t195833674z |
category | gamedev |
json_metadata | {"tags":["gamedev"],"app":"steemit/0.1"} |
created | 2017-07-16 19:58:36 |
last_update | 2017-07-16 19:58:36 |
depth | 1 |
children | 0 |
last_payout | 2017-07-23 19:58:36 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 315 |
author_reputation | 34,006,204,340,070 |
root_title | "[Tutorial] Part 4 : How to create a HTML5 game using Tiled Map Editor, JS and Canvas" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 8,699,868 |
net_rshares | 92,857,585 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
sunshine247 | 0 | 92,857,585 | 100% |
The Web has come a long way.
author | leoplaw |
---|---|
permlink | re-tensaix2j-tutorial-part-4-how-to-create-a-html5-game-using-tiled-map-editor-js-and-canvas-20170716t094418027z |
category | gamedev |
json_metadata | {"tags":["gamedev"],"app":"steemit/0.1"} |
created | 2017-07-16 09:41:48 |
last_update | 2017-07-16 09:41:48 |
depth | 1 |
children | 0 |
last_payout | 2017-07-23 09:41:48 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 28 |
author_reputation | 189,628,210,789,149 |
root_title | "[Tutorial] Part 4 : How to create a HTML5 game using Tiled Map Editor, JS and Canvas" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 8,653,543 |
net_rshares | 175,734,499 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
tensaix2j | 0 | 175,734,499 | 100% |
thank you so much for this great informative post:) Upvoted & Followed
author | machhour |
---|---|
permlink | re-tensaix2j-tutorial-part-4-how-to-create-a-html5-game-using-tiled-map-editor-js-and-canvas-20170716t164605147z |
category | gamedev |
json_metadata | {"tags":["gamedev"],"app":"steemit/0.1"} |
created | 2017-07-16 16:46:06 |
last_update | 2017-07-16 16:46:06 |
depth | 1 |
children | 0 |
last_payout | 2017-07-23 16:46:06 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 70 |
author_reputation | 10,805,501,595,280 |
root_title | "[Tutorial] Part 4 : How to create a HTML5 game using Tiled Map Editor, JS and Canvas" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 8,684,835 |
net_rshares | 0 |
this is impressive. thanks @tensaix2j for sharing
author | outhori5ed |
---|---|
permlink | re-tensaix2j-tutorial-part-4-how-to-create-a-html5-game-using-tiled-map-editor-js-and-canvas-20170716t162824966z |
category | gamedev |
json_metadata | {"tags":["gamedev"],"users":["tensaix2j"],"app":"steemit/0.1"} |
created | 2017-07-16 16:28:39 |
last_update | 2017-07-16 16:28:39 |
depth | 1 |
children | 0 |
last_payout | 2017-07-23 16:28:39 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 49 |
author_reputation | 39,356,239,578,011 |
root_title | "[Tutorial] Part 4 : How to create a HTML5 game using Tiled Map Editor, JS and Canvas" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 8,683,328 |
net_rshares | 0 |