Alien Shooter MMORPG? Is it possible?

Place for questions and answers for all newcomers and new coders. This is a free for all forum, no question is too stupid and to noob.
Post Reply
asi04
Posts: 9
Joined: Sat Feb 22, 2014 12:14 pm

Alien Shooter MMORPG? Is it possible?

Post by asi04 »

Hi,

i wanted to ask you is that possible to create a mmorpg with gameplay from Alien Shooter.
Gameplay AS:
http://www.youtube.com/watch?v=R0L83cJZ8Jo

1. Is that possible to create smoothly operating mmorpg in browser, with style of Alien Shooter (gameplay shown in YT above)?
What more - i can handle with RPG system, i wrote text-browser game. Im asking for strict real time game for many people at same time in style of AS.

2. If its possible, which technologies, languages, frameworks i should use/learn?

3. How many people i need to program something like this? (I have already animators, and graphics designers)

4. How long it takes before i finish this project in poor version (f.e. pre-alfa version), i mean - poor amount of lcations, items etc. Only want to write version working for many players at same time, working web app/page, dont want to focus on items and other stuff, just mechanics and online working.
(log in, going forward, left, right, step back, shoot, generate some mobs, look at inventory, map and log out - of course for few people :P)

I'm not scared of replys like: "5 years, its impossible! You need 25 persons at least! You cant do it, you are too weak, many things to learn on your way to get it!" :)
I just want to know the truth! :D

(I'm sorry for my english, it's not very impresive. Greetings from poland! :P)
Last edited by asi04 on Sat Feb 22, 2014 10:02 pm, edited 1 time in total.
User avatar
a_bertrand
Posts: 1537
Joined: Mon Feb 25, 2013 1:46 pm

Re: Alien Shooter MMORPG? Is it possible?

Post by a_bertrand »

The video link doesn't work. So no clues what kind of game you are after. However:

There is multiple options to make web games, from Unity 3D which would offer great performances even in 3D, to pure Javascript and Canvas or Web GL.

Have a smooth game experience? definitively, depends what you are after. If you agree to use Unity 3D you will have the same performances as a standalone game. The engine is extremely powerful for 3D. For 2D games it's actually not so good. Canvas (2D) games can be really smooth, and in 3D with WebGL I would say it's... experimental at best.

Doing a game in browser you may check my own project: http://www.cubicverse.com (try it you shall see). It took me more or less 1 year from scratch to this point, where the art and the code is 100% from me (nobody helped here). The quests are written by others.

So saying how much work and how much time it will be pretty much depends on what you want. How far you want to go, how much features, what kind of art, what kind of quality etc. However I would suggest to have a couple of graphic artists, 1 sound artist, 1 or more quests / missions writers, 1 or more coders, many testers, and later on you will need some marketing people too ;) Of course all that could be reduced to 1 person => yourself but it will require a lot of efforts and time.
Creator of Dot World Maker
Mad programmer and annoying composer
asi04
Posts: 9
Joined: Sat Feb 22, 2014 12:14 pm

Re: Alien Shooter MMORPG? Is it possible?

Post by asi04 »

I've correct link to gameplay of Alien Shooter.

Great thanks to you for reply! :)

Oh, you just started a real important topic... prepared engines.
I dont want to use any engines, i worked on Unity and i dont like it. Whatever you say, i dont wont to wark with that tool. I know its very impresive but i want to make it by myself, from nothing to full project. I will know all the things ill design and program, and thats the way.

Can i make it with canvas? It is tool which can load some graphics, and let play a lot of players at same time? They will can shoot to themselfs, make quest together and other? Can you tell me something more about making mmo with canvas? :D

I really want to do it in 2D graphics. Just look at that link and you will see what i need to do.
More - players will have inventory, skills, atributes, talents different options like: one player will can plant a orange tree and make some food, other will can get some resources to make a gun, other will can make some buildings on the map. Is that possible with canvas?

What languages (except html5 and canvas) i must to use to do it?

I see that you made a lot of nice work in your project, but i will test it tommorow and tell you what i exactly think about it :D
User avatar
Jackolantern
Posts: 10893
Joined: Wed Jul 01, 2009 11:00 pm

Re: Alien Shooter MMORPG? Is it possible?

Post by Jackolantern »

Your link to the YouTube video got shortened for some reason, but I got the v= part, and was able to get to it. An updated link is here.

Anyway, what you will find difficult is trying to get true real-time, twitch-based multiplayer online gameplay. That is because oftentimes decisions need to be made within milliseconds in your game code, yet network communication is very slow. It is far too slow to get fresh data for each iteration through the game loop. Therefore it takes a lot of creative coding to make the game appear fluid and able to handle slow network data. All online games have to deal with this problem, but it becomes more difficult in MMO-style settings, where possibly dozens of players could unpredictably be in the same area at the same time. Say out of 14 players, you suddenly stop receiving data for one of them. What do the other players see? Automatically disconnecting this player is unreasonable. And suddenly you get data from them again, and they have moved. Back in the days of Everquest, the devs barely handled this at all, and what you got were players popping and disappearing, speed running and ghost avatars running all over. Movement was far from smooth. But players simply don't accept that today.

So you have to find a way to give the illusion of fluid movement and actions without blowing up your server. For a game such as the one you mentioned, it would probably be a better idea to go click-to-move, where players click on the ground where they want to move to. This is much easier to handle in a networked environment because the clicks come every so often and contain all the data that both the client and server need to move the avatar to the new location. You can then run an algorithm (like A*) on both the server and client to move the player, and then simply sync locations a couple of times while moving to ensure they aren't getting too far apart. This is much, much easier to handle from an engineering perspective than something like World of Warcraft where you have players constantly using the WASD keys for velocity and the mouse for angle offset. It makes predicting player movement extremely difficult.

As far as technology goes, it will be adding an immense amount of work to do this from-scratch. Some native browser technology (such as Canvas or WebGL) and Node.js + Socket.io for the server would be the foundation.

This is a large project, but it is entirely possible. We really can't give you a solid estimate on how long it will take because it is completely dependent on how long it takes you to become comfortable with the technology, your skill level, and how much time per day you can give to development. It also largely depends on how you are getting the art, or whether you are making it yourself.
The indelible lord of tl;dr
User avatar
a_bertrand
Posts: 1537
Joined: Mon Feb 25, 2013 1:46 pm

Re: Alien Shooter MMORPG? Is it possible?

Post by a_bertrand »

As Jacko said (and as I said myself) it's possible with canvas (for 2D it's maybe a better option vs WebGL). Also, if you would have checked my own link, you would have seen what I did with canvas and no framework.

Now if my game as "intensive" as the video you shown? No. And I'm far from being sure you will be able to do it. Why? Because explosions, with small items flying away, smoothness all over the game play, particle effects, mmo and more will add up and take a load on the browser.

Also the communication between player can and will be an issue. Currently my own game only shows other players on the map, you can chat and trade with them, but the monsters are still not shared. I'm far from being sure I can make that run well, and for the moment it's postponed.

For which language? Well, first of all HTML5 is not a programming language. Javascript is. And if you want to use canvas that's what you need to learn. Forget at the moment dart, typescript or other pseudo alternatives, they will all "compile" back to javascript.

For the time, again, we can't answer. We don't even know your skills, your team, or your full requirements, how could we estimate the time frame? But I can tell you that if you do all alone, that you have little to no knowledge in canvas / js, and you start from scratch, a MMO can very well take you multiple years.
Creator of Dot World Maker
Mad programmer and annoying composer
asi04
Posts: 9
Joined: Sat Feb 22, 2014 12:14 pm

Re: Alien Shooter MMORPG? Is it possible?

Post by asi04 »

You dont know how im grateful becouse of your replys!
I wrote on polish forum about week ago and for now - 0 replys. I see that abroad there is more people which can program and makes a lot of nice things in IT.

You really helped me, i even dont know how i can repay you? :P

Ok, now i know what i must learn in the closest future - it will be node.js, io.socket, javascript, html5 (with emphasis for canvas).
I try to learn something, and i will push this project forward as fast and efficiently as i can. I will send a link if i do something :D

For now i have "paper project" with rpg system, classes, vocations and mechanics of game, also main music theme (im musician), and background graphics - the last two parts i wanted to made to catch and show my team members what type of atmosphere in game i want to create with my music, sounds and graphics.

I choose dominating colour and others things to create a unique "mind picture" of game...
If somebody see anywhere a screen or music he at sight says: "OH, I KNOW IT, ITS FROM XYZ GAME!" :D

Wish me luck! :D
User avatar
hallsofvallhalla
Site Admin
Posts: 12031
Joined: Wed Apr 22, 2009 11:29 pm

Re: Alien Shooter MMORPG? Is it possible?

Post by hallsofvallhalla »

sure its very possible

Lok at my game Viral Dawn. Javascript and Nodejs, multiplayer as well

http://www.youtube.com/watch?v=1kajyg62UG8
User avatar
Jackolantern
Posts: 10893
Joined: Wed Jul 01, 2009 11:00 pm

Re: Alien Shooter MMORPG? Is it possible?

Post by Jackolantern »

asi04 wrote:You dont know how im grateful becouse of your replys!
I wrote on polish forum about week ago and for now - 0 replys. I see that abroad there is more people which can program and makes a lot of nice things in IT.
Your most welcome :) But there are highly skilled programmers all over the world, in all languages. Of course you are always welcome here (and we would love to watch your progress as well), but it could be beneficial to connect with game developers in Poland as well. It just may take some searching to find an active forum.
asi04 wrote:Ok, now i know what i must learn in the closest future - it will be node.js, io.socket, javascript, html5 (with emphasis for canvas).
I try to learn something, and i will push this project forward as fast and efficiently as i can. I will send a link if i do something :D
Focus on just basic Javascript first. As A_Bertrand said, HTML5 is a mark-up language for giving a webpage structure, not a programming language. Don't spend too much time learning "HTML5", like <footer>, <header>, <article>, etc., which is really what HTML5 means. Like you said, just focus on Canvas. It will take you about 1 minute to learn the HTML5 needed to create the Canvas tag. Then it all moves into Javascript. Node.js also uses Javascript, so learning JS first will help you a lot to learn Node.js. And Socket.io is a library for Node.js. You will also need a database. A good one for online games is MongoDB, which, you guessed it, also uses Javascript. So you can see this all begins with Javascript.
asi04 wrote:You really helped me, i even dont know how i can repay you? :P
Maybe some beta keys to your game haha :D
asi04 wrote:Wish me luck! :D
Best of luck! :cool:
The indelible lord of tl;dr
asi04
Posts: 9
Joined: Sat Feb 22, 2014 12:14 pm

Re: Alien Shooter MMORPG? Is it possible?

Post by asi04 »

Thanks for another advices!

I'll try to learn JS as well as i can :D
I have one more question: when i will be a predator in js (i mean, when ill be very good :D) what is the best way to learn new librarys like node.js or socket.io? i know many syntaxes... i can program in java (my best project is standalone windows program with gui javax.awt library, of course object oriented), c++ - a litlle bit, and php. I also can read some easy, small scripts in js. But biggest problem are new librarys and frameworks... I dont know any, and dont know how to learn them in good level.

For now... i want to show you a little picture which shows atmosphere, hdr colors (all graphics will be hdr), environment and a soundtrack - composed by me.
I designed all that things, want to show people which want to cooperate with me, to feel what i want to do.

Link to my subdomain where i will place and test game engine (there is this picture with music):
http://headhunter.studioisis.pl/

If you can - write a line or two what you think about it, is it good for post apocalyptic world mmo game? :D
btw. music isnt too quiet?
User avatar
Jackolantern
Posts: 10893
Joined: Wed Jul 01, 2009 11:00 pm

Re: Alien Shooter MMORPG? Is it possible?

Post by Jackolantern »

asi04 wrote:I have one more question: when i will be a predator in js (i mean, when ill be very good :D) what is the best way to learn new librarys like node.js or socket.io? i know many syntaxes... i can program in java (my best project is standalone windows program with gui javax.awt library, of course object oriented), c++ - a litlle bit, and php. I also can read some easy, small scripts in js. But biggest problem are new librarys and frameworks... I dont know any, and dont know how to learn them in good level.
Once you have a good understanding of Javascript, start with Node next. The hardest part about Node is learning asynchronous programming, which can take a few days to get used to. As for libraries and frameworks, just open them in a code editor and try to make some small things with them first using the framework's documentation. Socket.io and Express (the most popular web development framework in Node) are both very easy to use compared to many other libraries and frameworks.

I will say that coming from Java and C++, Javascript is going to feel a little strange. That is because JS is not object-oriented in the same way as Java, C++ and PHP. Most of the syntax coming from those languages to Javascript will be familiar. You have the same FOR, WHILE, and DO-WHILE loops, dynamic typing like in PHP, IF/ELSE is the same, etc. But OOP is very different. It is kind of hard to describe, but the interesting thing is that there are about a dozen different ways OOP can be handled in Javascript. Today, most people tend to think the "module pattern" is the best way to handle OOP in Javascript, and you will find that pattern in most popular JS frameworks and libraries. Here is a good tutorial, and I would think there are also good tutorials for module pattern in Polish as well.
asi04 wrote:If you can - write a line or two what you think about it, is it good for post apocalyptic world mmo game? :D
btw. music isnt too quiet?
Looks good to me! And the music is a good level since it is usually not a good idea to blast people with loud music on a webpage lol
The indelible lord of tl;dr
Post Reply

Return to “Beginner Help and Support”