Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: [WIP] MMORPG project - recruiting  (Read 36897 times)

0 Members and 1 Guest are viewing this topic.

Krofna

  • Newbie
  • *
  • Posts: 42
    • View Profile
    • Email
[WIP] MMORPG project - recruiting
« on: July 25, 2012, 10:15:06 pm »
I named it...

Warrior of Dreamworld

...which is actually just a placeholder name, but w/e...

It is 2D top down MMORPG with real time skill based (you aim manually) combat.
It is written in C++ & SQL.

Additional Dependencies:
(stuff required to compile it)
boost,
MySQL C Connector,
MySQL C++ Connector

(stuff required to run it)
MySQL Server -  http://dev.mysql.com/downloads/mysql/ (30 MB)
MSVC++ redist pack - http://www.microsoft.com/en-us/download/details.aspx?id=5555 (5 MB)

I havent done too much work on it. For now you can:
- Log into (/empty/, there are only players in it) world and move camera around with your mouse
- Move your character around with WASD
- Chat with other players
- Shoot fire bolts and kill other players with it with mouse click

Screenshot: (please dont be hatin' on tiles, its a placeholder)
http://img513.imageshack.us/img513/1837/wodss.png

Video: (Looks pretty bad because its compressed to 3MB, but I guess it does the trick)
http://www.youtube.com/watch?v=XLicqjlSihU&feature=youtu.be

Executables: for windows: https://github.com/krofna/Warrior-of-Dreamworld/downloads
NOTE: Before running server.exe you will need to do following:
- See "stuff required to run it"
- create new database called wod_test_db
- execute the wod_full_db.sql
- modify WorldServerConfig.conf : second line is MySQL server username and third line is password

Source: https://github.com/krofna/Warrior-of-Dreamworld
If you want to compile this, you might want to contact me. Its pretty painful, mainly because of MySQL connector... There are also no make/project files of any kind...

I am also recruiting few programmers (currently working alone :( ), PM me :)

Comments are welcome.
« Last Edit: October 26, 2012, 06:48:56 pm by Krofna »

Tank

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1486
    • View Profile
    • Blog
    • Email
Re: [WIP] MMORPG project - recruiting
« Reply #1 on: July 26, 2012, 02:04:09 pm »
What immediately came into my mind: This, this and this.

Good luck. ;)

binary1248

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1405
  • I am awesome.
    • View Profile
    • The server that really shouldn't be running
Re: [WIP] MMORPG project - recruiting
« Reply #2 on: July 26, 2012, 03:01:32 pm »
Tank, the destroyer of (almost all) hope strikes again. But this time I somehow have to agree with him. An MMORPG is quite an undertaking, mainly because of the MMO part and not the RPG part although it can be challenging as well. I've actually spent quite some time thinking this over time and again wondering why making an MMORPG is actually so hard. I speak from experience because many many years ago when I started to program, making an MMORPG was also one of my initial goals (isn't it always what beginners think of?). I failed. I came back 2 years later with more programming experience. Got it working and even got someone else to simultaneously play with me. Failed again. Next I tried using an engine to give me a headstart, yeah I actually got a bit further this time, failed again. Now I am in the 4th incarnation (see signature) and I already know it is going to fail, so I just use the opportunity to practice and hone my programming skills. I have many years of programming experience and much knowledge from my university studies. I am probably more capable now than ever before to try again, but I won't because I know I am not dedicated enough.

Basically there are a few points that make it harder than it seems at first sight:

1. An MMORPG is still an RPG, and the underlying RPG has to work. This is already hard enough to do. Games are meant to entertain people, and the biggest challenge you will face in this respect is actually getting people to enjoy it. The probability that they will enjoy the game is proportional to the amount of time you spend in creating content and fine tuning the mechanics of the game. This is however proportional to the amount of people who work on the game (unless you are really dedicated and work 14 hours a day on it for a year). This is the first reason why many people are required to develop many (but not all) MMORPGs.

2. When you have the RPG working you will have to think of how to make the leap from singleplayer to multiplayer. Not many games were made to be played in multiplayer, which is also why they don't have multiplayer support. Introducing the notion of multiple humans playing together can break many things that already worked before and you will spend even more time trying to fix/tune these to work again. This is why you have those famous gameplay/balancing teams found in many MMOs out there. It is a really time consuming process which also involves a lot of testing among many people.

3. When you have the basic gameplay system done you have to work on the underlying architecture of the game. After all who wants to play a game (in your case even a real-time game) with 3 seconds of delay? The system you think out might work for 2, 3 maybe 10 or 20 people. But does it work for 100 people or even 1000? This is where the first M in MMO comes from. Creating a scalable architecture is yet another time consuming process which is also normally handled by a dedicated team of developers.

4. So the gameplay works and 1000 players can play simultaneously without much horrible lag. What now? This is where the real work starts. Obviously you will need hardware to host the server software on, but I think you know that. Even if your server is written to be super efficient in bandwidth and CPU usage 1000 players will cost you a bit. Not only that, with that many players you will have to provide support for them especially in the initial stages where everybody (including the developers) is still quite new to the whole thing. There will definitely be a mountain of bugs to fix, and remember the golden rule of online games: if there is a way to exploit the system, it will be exploited. When exploits are found you need to fix them as soon as possible in order to satisfy the other players otherwise they will just give up on the game and your playerbase will destroy itself. This is if you ask me the most stressful part of the whole journey since you are under time pressure and have to convince people that whatever you did in those 2-3 hours is also what they expected. In this case the same applies as well. Whoever invests more time wins. If you yourself are up against 20 people trying to exploit your game I don't think you will get much sleep for a few weeks.

Don't get me wrong. Making an MMORPG with a small team is possible. Many people just don't know what the real challenges are. The kinds of articles that Tank posted aren't really helpful since they tell you that it is hard without mentioning why it is so hard. That often leads people to think that hard is a matter of definition, which if you ask me really is but not in the way they expect. I'm sure there are many people that can cope with the challenges involved and I also motivate them to challenge themselves. But before you start on this adventure just sit back in your armchair for an hour and think about what I mentioned above. Come back a week later, when the weather is different and think about it again. Come back after the holidays are over and think about it again.

If you are still convinced that you can and want to do it, then by all means go for it! :D
SFGUI # SFNUL # GLS # Wyrm <- Why do I waste my time on such a useless project? Because I am awesome (first meaning).

Tank

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1486
    • View Profile
    • Blog
    • Email
Re: [WIP] MMORPG project - recruiting
« Reply #3 on: July 26, 2012, 03:40:32 pm »
Nice writing, except "If you are still convinced that you can and want to do it, then by all means go for it!". Don't get me wrong, I don't try to be an ass here (I like that role, but this time I'm serious ;)), but you should rather spend your time on things where you have a bigger chance of success.

I don't know your background and I don't know if you have completed games yet. But one thing is for sure: Every(!) game you complete will give you experience, motivation and the will to do something bigger. Even if it's the 3453478345th Pacman clone of Arkanoid. Complete your stuff, make it a game (with menus, highscores, good code design etc.).

My 2 ct.

binary1248

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1405
  • I am awesome.
    • View Profile
    • The server that really shouldn't be running
Re: [WIP] MMORPG project - recruiting
« Reply #4 on: July 26, 2012, 04:19:38 pm »
Forgot to mention required reading:

http://floatingorigin.com/mirror/ELpart1.php.htm
http://floatingorigin.com/mirror/ELpart2.php.htm
http://floatingorigin.com/mirror/ELpart3.php.htm
http://floatingorigin.com/mirror/ELpart4.php.htm
http://floatingorigin.com/mirror/ELpart5.php.htm

This series must be the single most helpful resource I have ever found regarding the lifetime of MMORPG (or any online game for that matter) development. It takes a bit of time to read but the insight gained is priceless if you have never done any work in the direction before.
SFGUI # SFNUL # GLS # Wyrm <- Why do I waste my time on such a useless project? Because I am awesome (first meaning).

Krofna

  • Newbie
  • *
  • Posts: 42
    • View Profile
    • Email
Re: [WIP] MMORPG project - recruiting
« Reply #5 on: July 26, 2012, 04:24:49 pm »
Woah. Why so serious? I think you guys got wrong idea. This is nothing more ( or less ) than one game in series of my learning projects. Last one was single player RPG(which actually got less attention on this forum than tic tac toe games, with nifty 0 replies  ;D ).

I am aware how much time will it take me to do it. Last game took me long time to write  (probably cause I was beginner programmer back then) , and its not even fun to play!

Anyway, contrary to all the linked articles and binary's post, I dont plan actually hosting a server for this game. Heck, it is even unlikely that I'll ever finish this game because I'm working alone... and probably will never find artist because I dont have $ to spare...

My goal isnt to complete a program, I am just trying to learn something, and I invite anyone who wants to learn as well to join me :)

vebski

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: [WIP] MMORPG project - recruiting
« Reply #6 on: July 26, 2012, 06:48:39 pm »
You will learn more by actually finishing a game, and in my experience any RPGish game for learning is BAD idea. It takes time, high level skill . And for most, the world of RPG game is often huge, so you will spend more time putting trees on maps, then programming new stuff.
It's better to write few smaller games from different genres, and learn how everything works in games. Learn new tricks, master your code.
« Last Edit: July 26, 2012, 06:51:37 pm by vebski »

Perde

  • Jr. Member
  • **
  • Posts: 63
    • View Profile
Re: [WIP] MMORPG project - recruiting
« Reply #7 on: July 26, 2012, 07:55:39 pm »
What immediately came into my mind: This, this and this.

Good luck. ;)

Nice writing, except "If you are still convinced that you can and want to do it, then by all means go for it!". Don't get me wrong, I don't try to be an ass here (I like that role, but this time I'm serious ;)), but you should rather spend your time on things where you have a bigger chance of success.

I don't know your background and I don't know if you have completed games yet. But one thing is for sure: Every(!) game you complete will give you experience, motivation and the will to do something bigger. Even if it's the 3453478345th Pacman clone of Arkanoid. Complete your stuff, make it a game (with menus, highscores, good code design etc.).

My 2 ct.

Better do something small that nobody will notice than to actually try something big that might fail. Long live the mediocrity!

This is the worst approach to do something new, and even worse than worst (yeah, whatever  :P) for learning anything. You can't make any progress if all you ever do is stay on the same level and do the same stuff over and over again, that others have done before you. The bigger your steps are, the more you will learn. All you need to do is _stick_ to it and accept that failure is a crucial part of learning.

I think I just raged a little inside. No offense though, it's just - like everything else - a mere opinion based on personal experience. ;D

Krofna

  • Newbie
  • *
  • Posts: 42
    • View Profile
    • Email
Re: [WIP] MMORPG project - recruiting
« Reply #8 on: July 26, 2012, 08:16:24 pm »
And for most, the world of RPG game is often huge, so you will spend more time putting trees on maps, then programming new stuff.

Nah, I do not bother with such stuff. I only deal with code.
As I said, I got empty map, which was auto generated by 5-line program. When I write code for trees, I'll just spawn 1 tree on map to test it out(rawr! resource gathering!)... Actually I think I'll rather write map editor than wasting time making huge world look nice...

Tank

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1486
    • View Profile
    • Blog
    • Email
Re: [WIP] MMORPG project - recruiting
« Reply #9 on: July 26, 2012, 08:48:28 pm »
Quote
Better do something small that nobody will notice than to actually try something big that might fail. Long live the mediocrity!
At first, this thread is obviously about learning things. That doesn't require people to get noticed of your stuff, I think. Also I don't know what this has to do with mediocrity. A completed full game is of much more value than a failed attempt. Why? Because you gain experience in more fields than just programming, like project planning, release cycles, patches, community interaction etc.

The problem with failing in programming is that you mostly stop working on something if you get frustrated because you (again) recognize that you can't do it due to lack of knowledge and/or experience. So you often never get to a completed product, which means you miss a lot of important stuff.

Also doing small things doesn't mean you will never fail. Indeed you will fail so many times, but just in small areas, instead of throwing away a 5-10K+ lines codebase, withering in the darkest areas of your HDD.

Quote
This is the worst approach to do something new, and even worse than worst (yeah, whatever  ) for learning anything.
So you argue if someone wants to learn digital electronics, he should build a x86-compatible computer at day 1, instead of learning your stuff in small experiments? In my opinion doing big projects without the proper knowledge is a waste of time and may also lead to completely leaving the area of interest, which is a sad thing.

Quote
You can't make any progress if all you ever do is stay on the same level and do the same stuff over and over again, that others have done before you.

May I remind you of my own text:

Quote
and the will to do something bigger

Of course you don't stay on the same level. When you've completed some small games, you use the experience and knowledge to continue on bigger things, and all the puzzle pieces will greatly fit together.

Quote
The bigger your steps are, the more you will learn. All you need to do is _stick_ to it and accept that failure is a crucial part of learning.
Personally I think that way is difficult and dangerous. Most people need the feeling of success to continue on something. But if you're a beginner and start with an MMORPG without proper knowledge in several areas, you will fail a lot of times. You'll probably need 10 or more iterations until your code is sane, maintainable, flexible and whatnot.

Do you really think that people who experience so many negative things will still be happy when they think of programming, knowing that they have to re-implement all their stuff again?

Quote
I think I just raged a little inside. No offense though, it's just - like everything else - a mere opinion based on personal experience.
It's okay, as long as you don't start insulting I'm perfectly fine with every type of discussion, if it's rude or not. Just be prepared that I can get rude, too. ;-)

StormWingDelta

  • Sr. Member
  • ****
  • Posts: 365
    • View Profile
Re: [WIP] MMORPG project - recruiting
« Reply #10 on: July 26, 2012, 08:51:53 pm »
I looked at the RPG you mentioned that got little attention and I can see why no one responded.  Most RPGs have a lot more freedom of movement than yours and if you're going to use it as a base it won't work.


To get an MMO or any other online linked game working you need to know a lot about networking codes for Server and Client.  It's not easy to find tutorials on them for some reason though but when you do find something it's a good idea to practice a lot with it. Also don't use an MMO for learning anything to do with networking games together it never ends well.

Start with a simple but decent test to see if you got everything right and if you're going 2D you might want to up your art skills a bit to make it easier to tell the environment and everything in it apart better. AKA making things stand out better.
This might help.
http://www.petesqbsite.com/sections/tutorials/tuts/tsugumo/
I have many ideas but need the help of others to find way to make use of them.

Krofna

  • Newbie
  • *
  • Posts: 42
    • View Profile
    • Email
Re: [WIP] MMORPG project - recruiting
« Reply #11 on: July 26, 2012, 09:03:31 pm »
Most RPGs have a lot more freedom of movement than yours and if you're going to use it as a base it won't work.

My last RPG had a text based combat, so I didnt bother with free movement.

And in this one, I don't want to start writing nicer movement because I have no animations... Just a bunch of placeholder tiles.

To get an MMO or any other online linked game working you need to know a lot about networking codes for Server and Client.  It's not easy to find tutorials on them for some reason though but when you do find something it's a good idea to practice a lot with it. Also don't use an MMO for learning anything to do with networking games together it never ends well.

I actually think my server is actually very well written (except if code says "PH", "TODO" or "FIXME", you ignore that piece)

Will ya all please stop "assuming" stuff and read some of my code, so you can tell me whether or not I am doing it wrong!
« Last Edit: July 26, 2012, 09:09:36 pm by Krofna »

StormWingDelta

  • Sr. Member
  • ****
  • Posts: 365
    • View Profile
Re: [WIP] MMORPG project - recruiting
« Reply #12 on: July 26, 2012, 10:39:41 pm »

Will ya all please stop "assuming" stuff and read some of my code, so you can tell me whether or not I am doing it wrong!


It would be easier if we didn't have to download the things separately and also that everything that was needed was clearly IDed as needed or included in the main download.

Most of us here know what we are saying even if it is harsh to hear.  I hate to admit it but even some of the trolls have a point sometimes. Although they don't put it as nicely as the others would. >_>

Also the reason people are assuming is because you left the issue of what you wanted wide open for such assuming.  I would read your code if I had time but I'm working on a few things myself and can't do much right now.
I have many ideas but need the help of others to find way to make use of them.

StevenC

  • Newbie
  • *
  • Posts: 40
    • View Profile
    • Corona Soft Development Blog
Re: [WIP] MMORPG project - recruiting
« Reply #13 on: July 26, 2012, 11:16:26 pm »
Interesting. I wish I had the free time to jump into such a large project. Do you plan to keep it open source as it develops or will you eventually make it into a commercial project once it is mature?

Also are you planning your project as a framework for building a generic 2D mmo or will it be an actual playable mmo?


eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11030
    • View Profile
    • development blog
    • Email
Re: [WIP] MMORPG project - recruiting
« Reply #14 on: July 27, 2012, 12:22:03 am »
Do you plan to keep it open source as it develops or will you eventually make it into a commercial project once it is mature?
See:
This is nothing more ( or less ) than one game in series of my learning projects. [...] I am aware how much time will it take me to do it. [...] Anyway, contrary to all the linked articles and binary's post, I dont plan actually hosting a server for this game. Heck, it is even unlikely that I'll ever finish this game because I'm working alone... and probably will never find artist because I dont have $ to spare...

My goal isnt to complete a program, I am just trying to learn something, and I invite anyone who wants to learn as well to join me? :)
So this strongly sounds to me like: "Yeah I'm gonna do a game but don't even except to finish it at all and probably won't even get that far, do you want to join me."
Which kind of answers your question. It will never get finished and thus will never get into a mature state and thus never get commercial. ;)

Most of us here know what we are saying even if it is harsh to hear.  I hate to admit it but even some of the trolls have a point sometimes. Although they don't put it as nicely as the others would. >_>
The ones you refere to as Trolls are the ones that know it best and have seen attempts likes this over and over again. If you dig deeper into their posts you'll end up with enlightment and understanding. If you just think 'meh trolls' you'll never understand them. ;)

Will ya all please stop "assuming" stuff and read some of my code, so you can tell me whether or not I am doing it wrong!
So are you saying we're only here to screen your code? :P
Btw I did took a peak but I didn't try to understand what's going on where etc. just a few code design things:
  • Use *.hpp instead of *.h, or do you really want to make people believe you're code in C?
  • Don't use manual memory management and pointers all over the place but start using smart pointers.
  • Don't use global objects.

I looked at the RPG you mentioned that got little attention and I can see why no one responded.  Most RPGs have a lot more freedom of movement than yours and if you're going to use it as a base it won't work.
This maybe one of the reasons. Another one is that you released it and run away, without ever updating anything. On top of that, since you don't seem to care about graphics it's quite obivous that your user base won't grow (i.e. it doesn't really look nice, except for the drawings in fight mode etc.). Also the mapsize is quite small and the apperance of the fights is quite random. (Then again I'm not a hugh fan of RPGs...)

I actually think my server is actually very well written (except if code says "PH", "TODO" or "FIXME", you ignore that piece)
"A man's praise in his own mouth stinks." ;)

Forgot to mention required reading:

http://floatingorigin.com/mirror/ELpart1.php.htm
http://floatingorigin.com/mirror/ELpart2.php.htm
http://floatingorigin.com/mirror/ELpart3.php.htm
http://floatingorigin.com/mirror/ELpart4.php.htm
http://floatingorigin.com/mirror/ELpart5.php.htm
This is awesome thanks! ;)

Nah, I do not bother with such stuff. I only deal with code.
As I said, I got empty map, which was auto generated by 5-line program. When I write code for trees, I'll just spawn 1 tree on map to test it out(rawr! resource gathering!)... Actually I think I'll rather write map editor than wasting time making huge world look nice...
And you expect people to actually play your game... Good luck. ;)

Woah. Why so serious?
Because to call something MMORPG is a serious buisness and specially since every development forum is filled with posts from some kids that don't even know anything about programming who want to make MMORPG.
You could've avoided all the long posts, if you just didn't use that shortcut and instead mentioned that you want to learn something in combination with a RPG like game and support for multiple players. ;)
« Last Edit: July 27, 2012, 12:27:14 am by eXpl0it3r »
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/