HTML5 Canvas Online RPG (MORPG)

Started by
6 comments, last by taoprox 5 years, 1 month ago

Hi,

I'm not sure if this is the right place to post, but I have created my own 2D game engine using HTML5 Canvas + JavaScript(Node.js). Apart from the node infrastructure and graphics, I have built this from scratch.

It is still in development, therefore I cant provide a direct link for you to play, but I have a quick youtube video to highlight my game and the map editor.

I am not very good at video editing so its just a quick showcase of running around the map, creatures following and attacking, spells, logging in and out, changing the map and reloading.

The graphics are ripped from another game I used to play, obviously I will be replacing these with my own eventually. I just needed something fast to test with.

I am self taught and this is my first major scale game that I am attempting, but so far so good.

Please take a look at the video and if you have any comments, feel free to post. If the game is not your cup of tea, please don't criticise it.

I look forward to your replies,

Thanks Tao

https://www.youtube.com/watch?v=zUzHNu4mKJ8

(p.s I recorded this with quciktime, and for some reason every now and then it does lag. It is not the game that is lagging!!)

Advertisement

looks good. Did you create the website UI yourself?  It looks very professional.

Hi Awoken,

Thanks for your comment, I appreciate it!

Apart from where the minimap will be in the top left, background image, equipment inner icons and spell icons, everything else I have done myself.

Basically, anything that looks good, I have not done. The layout is mine however, but I guess a lot of game UI is layed out this way.

I am more of a programmer rather than a designer, I cant even draw a decent stickman ?

Again, I thank you for your reply, it makes me want to continue with it!

Tao

I've tried to edit my original post but I guess there is either a time limit or a limit to the number of edits.

Just thought I would put up a screenshot here.

02de9835acb53aa3b9342fdc1ab8e103-full.pn

Thanks, Tao

Been working on the Player/NPC communication in my game. Reacting to keywords, changing conversation state, checking for text replies, and executing npc abilities such as transporting a player to another part of the map(boat system) etc, or buying/selling items.

My NPC's, like my creatures, think for themselves every 500ms, this is where I handle all the AI logic, pathfinding, targeting, attacking, using spells, healing and other. My movement for NPC's is fixed at a 1500ms rate, and a fixed speed of 800ms, they stay static when focused, and they face the last character in reverse chronologic order.

Just to add also, I obviously put them to sleep when there is no player(socket) in its viewport, to save on straining the server. I wouldn't want 3000 creatures and 100 NPC's wandering around and thinking if they didn't need too. Their thinking times are also slightly random, by which I mean, if 100 creatures were active at a given time, they wouldn't all think at exactly the same millisecond, each creature has a random buffer between -50ms + 50ms.

Its sort of become a challenge to organise, especially mixing it across my main server file, chat core and the npc core.

Its also been tricky handling the multiplayer aspect, I feel that the methods Ive used so far are efficient enough but I would like to see how it handles multiple messages from multiple sockets.

But again, I'm self-taught, I would love for any of you guys to give me some hints or tips on if the methods I am describing are good or bad in this particular game situation/scenario. 

1016712568_ScreenShot2019-01-25at07_52_50.thumb.png.1aa5dca271cde630814ae2d12d50b14d.png

444689332_ScreenShot2019-01-25at07_55_23.thumb.png.3b6f5ef2b0625ac6aa21f8f428f1712c.png

Thanks,

Tao

Uploaded a new video showing my npc system.

Check it out,

Thanks, Tao

Just redesigning my map editor. Adding sprite data support so I can manage all the game data in one app. Redesigning the UI for better management and efficiency. Big task is saving to all data files in one operation, some files are shared between client and server, some client only and some server only. Node requires module exports so the start of the files need to be different. Backups already done so now the tricky part!

Features will include auto-borders and brushes, tile stack reordering/deletion, stack evaluating (getting rid of unwanted tiles, such as a stack that doesn't need to be drawn), creature and NPC spawns, tile UID's for game interactions (scripts executed for a given tile.object with matching UID), sprite data editing (blockable, climbable and other data), and much more to come!

681745322_ScreenShot2019-03-13at00_03_39.thumb.png.44e13787c654761f517d6ec0f3717499.png

This topic is closed to new replies.

Advertisement