Jump to content
MakeWebGames

Ultima online - browser based?


Zettieee

Recommended Posts

Hey, has anyone ever played Ulitma online?

I played that game for a little while back when it was new.

Now it seems dated mainly because it's client based.

It'd be awesome to make a game similar but for the browser.

So my question: has anyone ever made a sandbox style browser game with 2d map/movement?

How did it go?

Was it smooth?

What languages did you use?

Link to comment
Share on other sites

What language to use?

You'd obviously use the core HTML and CSS but for the actual game I have linked a 3D JavaScript library which I've seen people use to create some crazy games.

 

  • JavaScript - I've seen some project made with pure JavaScript which very impressive. I probably use this example too much but CubicVerse (dead project) created by [MENTION=1]a_bertrand[/MENTION]. But if you use it correctly and work on it properly then the outcomes will be worth it. The example I gave is not 2D but 2.5D (isometric).
  • Three.JS - The examples on the site itself show it's power and the sort of quality you could make if you were going to go 3D.

 

As far as server side checks go, I've never really done them but I would assume people would say PHP.

Planning

I wanted to make a game roughly two years ago in JavaScript, a MMO of some sort, where you'd go around fighting monsters etc. So I thought why not, I'll just get down to it. So I dove straight in without any planning and created a basic game with a goblin and a single players. You could use health potions and magic potions and it was going great, until I realized that editing the code became insanely hard, mainly because I had no structure no proper thought went in to functions. I had no proper structure just a whole load of procedural code with no real logic behind it, which is where I'd like to think I learn't that you might as well hold development for a little while and ensure you've got the planning done, rather than diving in then realizing you'd have to code it again to make it easier to edit or update.

Another thing I learn't was to split my files up in groups, which seems like an obvious thing to do but at the moment I forgot about it, so all the stats to with the player were in the same file as the graphics rendering and that was in the same file as mob (monsters, bad guys) details. That made it difficult to adjust anything as I'd have to find it through all the mess, even though it would take a like a couple of seconds extra but overall when having to constantly change stuff it adds on. Now when I create stuff in Java (not JS) I have structure which I use, I have three packages:

--tk.script47.applicationName

--tk.script47.applicationName.gui

--GUI.java

--tk.script47.applicationName.logic

--Logic.java

Main.java

As you can probably guess what the packages do, GUI (manages all interface). I then use extends (sort of like PHPs include) and use the GUI stuff like that. However little things like this makes it easier as you'd know now that if it was an error with the actual game play I'd know it's in Logic.java whereas if it was something which didn't look right in the user interface I'd look in to GUI.java. So you could try an implement some sort of system that like that when you create the game, so at least you have some sort of structure. Make as many files as you need for example if I was to remake the game I was making I'd create file each for each mob. That way I could easily open said mobs file and edit them. I learn't a lot stuff after that project, simple stuff which makes development easier but delays the release, in hindsight if I did things properly back then It could have been quite a decent project but I learn't a lot of stuff from the mistakes I made, which is the most important thing. Sure we all make mistakes but learning from them is what makes us different.

Breaking things down

My last attempt to make a game in JavaScript I broke everything down, I don't know if you remember but I created a thread where I had attempted gravity and jumping, I broke down what the players would be able to do and tried them on their own, no sprites just simple colored squares using very basic JavaScript. So jumping and creating some sort of gravity effect in which the player would get brought back down. Otherwise I'd know if I jumped in again I'd get overwhelmed and fail. So don't be ashamed to break things down, so you get a better understanding of it all. Also if you know someone who has a greater understanding of stuff as them to help you, I on many occasions ask people for help, even now when I'd like to think I know what I'm doing I still ask [MENTION=65371]sniko[/MENTION], [MENTION=2]Nickson[/MENTION], [MENTION=1]a_bertrand[/MENTION], [MENTION=68711]KyleMassacre[/MENTION] and @DJK. Hell I just asked Kyle for help yesterday on a NWE module. If someone is more experienced than you, why wouldn't you ask them to help you. As you can tell from my signature I can keep asking the same stuff even if it frustrates the person, it's not something I do on purpose but I try to be sure that I understand it all. I've even asked [MENTION=65371]sniko[/MENTION] to write me full articles on his blogs so I can understand a subject better and because of how awesome he is, he's done it. Don't let pride get in the way and stop you from asking for help.

Don't give up just because of a bug, push on.

Below are some link of useful articles and good reads, I don't have a full list because I'm not on my PC:

What Math should every game programmer know? - All the Math a game programmer should know.

Game Networking - Very in depth and interesting.

If there is anymore information you'd like, feel free to ask.

Edited by Script47
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...