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

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

0 Members and 1 Guest are viewing this topic.

Perde

  • Jr. Member
  • **
  • Posts: 63
    • View Profile
Re: [WIP] MMORPG project - recruiting
« Reply #15 on: July 27, 2012, 01:04:35 am »
...

Since this doesn't add much to the actual topic I will keep this reply short.
I wasn't being rude, I strongly disagreed with what you wrote, there's a difference. And I hope you can accept my apologies if it came out wrong.

I just tried several approaches on how to formulate my reply, but I don't see any end to a discussion on different learning-methods, since they may be as different as the people using them. Reason for my original post was that I always get that slight feeling of annoyance when somebody suggests to better not try something in the first place, that is all.
There's this famous Edison quote about failure, but that would be a bit cheap now, would it?

Feel free to PM me anytime you want, I don't want to be blamed for hijacking this thread.  ;D

Krofna

  • Newbie
  • *
  • Posts: 42
    • View Profile
    • Email
Re: [WIP] MMORPG project - recruiting
« Reply #16 on: July 27, 2012, 09:58:02 am »
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?
I dont know. I never thought about it. Its thinking too far into future...

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

Both. I'll create World editors which will allow completly customized world, creatures (and their AI), spells, and whatnot.

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. ;)
  >:( THERE WILL BE PLAYABLE WORLD, its just I WONT BE ONE MAKING IT. I'll create world editor and have SOMEONE ELSE do it for me.

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. ;)
Thats how stuff works when I'm alone. I'll probably never do it. Its too much job for me alone. But if I were to recruit at least 1(2 would be great!) more guy we could(would) finish it. Wouldnt recruit if I could do it alone...


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." ;)
Do I feel trolling? Yes I do. I can't make code without placeholders, todos and fixmes now because I cant assume most of code because I have no tiles, no animation... Just placeholders. Besides, there arent too many :/

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.
No, but for example see:
Quote
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.
Anyway
1.) Easy, gonna fix
2.) Good idea... This sounds like something I should fix soon...
3.) Not an issue. There are only few, and I could replace then with singletons but it would still be same thing

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...)
There was nothing I could do about graphics. Tiles are from 10 year old game called tometik, because I couldnt find artist to do them for me. Artist which done fight mode drawings doesnt know how to do pixel art.
There are 2 types of fights: Random encounters and those you engage yourself. And thats not only map. I didnt use camera, but if you go to edge of map you get relocated to adjacent map (read whole topic, I think I explained all weird stuff )


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.
Refering to stuff needed to run it or compile it?
« Last Edit: July 27, 2012, 10:16:18 am by Krofna »

panithadrum

  • Sr. Member
  • ****
  • Posts: 304
    • View Profile
    • Skyrpex@Github
    • Email
Re: [WIP] MMORPG project - recruiting
« Reply #17 on: July 27, 2012, 10:35:20 am »
Just let him try to make his MMORPG. I think we all tried once in the past :P

Tank

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1486
    • View Profile
    • Blog
    • Email
Re: [WIP] MMORPG project - recruiting
« Reply #18 on: July 27, 2012, 10:36:56 am »
Quote
Since this doesn't add much to the actual topic I will keep this reply short.
I wasn't being rude, I strongly disagreed with what you wrote, there's a difference. And I hope you can accept my apologies if it came out wrong.
I didn't mean you were rude, I just said it's okay if you got rude. No apologies needed, nobody got hurt. ;)

Quote
Feel free to PM me anytime you want, I don't want to be blamed for hijacking this thread.
Personally I don't like private discussions, because others can't jump in. ;) I think we both stated our opinions.

Quote
Both. I'll create World editors which will allow completly customized world, creatures (and their AI), spells, and whatnot.
Phew... Of course that sounds awesome, but keep in mind the shitload of work required.. Tears are already dropping here when I think of the bad feelings you will *probably* get when recognizing it's just too much. ;)

Quote
THERE WILL BE PLAYABLE WORLD, its just I WONT BE ONE MAKING IT. I'll create world editor and have SOMEONE ELSE do it for me.
Interesting attitude for a recuiting thread.

Quote
Thats how stuff works when I'm alone. I'll probably never do it. Its too much job for me alone. But if I were to recruit at least 1(2 would be great!) more guy we could(would) finish it. Wouldnt recruit if I could do it alone...
Did you read the articles I linked to? Or binary1248's post? The Eternal Lands articles? It requires more than 1-3 developers. Please be aware of that before you really dig into that project. And don't assume "Ah well, as soon as one can walk around and kill zombies it'll attract more manpower". Attracting human resources to your project needs more than "I wanna do an MMORPG, wanna join?". Especially if you're a beginner yourself, because you need experienced developers, but those will know you're just learning EVERYTHING and don't join your project, because it's, and I'm very sorry to say this, a waste of time.

Whatever, I think you got *my* point. I wish you all the best for your project. Actually I'd be very happy to see this project evolving, but to be honest I have zero hope in that. My personal suggestion is to start small, get familiar with the enormous amount of game development areas first, then put all the pieces together to create something big. Up to you, good luck.

Quote
Just let him try to make his MMORPG. I think we all tried once in the past
And we all got to the same conclusion, didn't we? ;)

Krofna

  • Newbie
  • *
  • Posts: 42
    • View Profile
    • Email
Re: [WIP] MMORPG project - recruiting
« Reply #19 on: July 27, 2012, 10:51:56 am »
Quote
THERE WILL BE PLAYABLE WORLD, its just I WONT BE ONE MAKING IT. I'll create world editor and have SOMEONE ELSE do it for me.
Interesting attitude for a recuiting thread.
I'm not going to have programmer editing world. Thats a waste of human resources... But anyway looks like I'll have no programmers...

I wish you all the best for your project.
No you don't.
« Last Edit: July 27, 2012, 10:54:36 am by Krofna »

Krofna

  • Newbie
  • *
  • Posts: 42
    • View Profile
    • Email
Re: [WIP] MMORPG project - recruiting
« Reply #20 on: July 31, 2012, 09:50:03 am »
UPDATE #1

Been busy last 5 days... And here are results:

Changelog r67 .. r86:

General:
- Add support for NPC Creatures:
SQL tables `creature_template` and `creature`(instance of a creature defined in template)
Classes: Unit, Creature

Generic creature AI:
- Pathfinding using A* algorithm
When attacked, Creatures pursue their attacker avoiding obstacles.

AI Scripting: (NOTE: Currently number of functions to work with is very limited)
- Implement scripting API which consists of 8 functions which are called on certain event (such as Update(server thick), EnterCombat, JustDied...)
- Implement AI factory: (NOTE: If creature is not scripted, it will be granted generic AI)
- Rewrite spell code: Creatures may now cast spells

Misc:
- Make both server and client use same code for stuff which is same for both of them.
- Comment the code a lil bit more
- Allow comments in conf
- Compiled r86 is in Downloads tab on github: https://github.com/krofna/Warrior-of-Dreamworld/downloads
NOTE: INSTRUCTIONS ON HOW TO SET UP SERVER ARE IN FIRST POST OF THIS THREAD

Last but not least, still recruiting :)

Commented Example of AI:
Code: [Select]
//Include necessary headers
#include "../server/CreatureAI.hpp"
#include "../server/Creature.hpp"

// Spell entries used in this AI
enum
{
    SPELL_FIREBALL = 0
};

// Define class for AI, inherits from generic creature AI
// WOD_DLL_DECL is declspec(dllexport) => scripts are in seperate .dll
class WOD_DLL_DECL npc_krofnicaAI : public CreatureAI
{
public:
    npc_krofnicaAI(Creature* pCreature) : CreatureAI(pCreature)
    {
        Reset();
    }

    Int32 FireballTimer; // Define spell timer

    void Reset()
    {
        FireballTimer = 5000; // 5 seconds cooldown
    }

    void UpdateAI(Int32 diff) // Diff is server thick
    {
        if(!pCreature->GetVictim()) // Return if no target
            return;

        if(FireballTimer <= diff) // If timer expired
        {
        // Cast spell (NOTE: You might want  to make bolt angle a bit more
        // random because victim may not stay still. There are several overloads of this function)
            pCreature->CastSpell(SPELL_FIREBALL, pCreature->GetVictim());
            FireballTimer = 5000; // Reset timer
        }
        else
        {
            FireballTimer -= diff; // Reduce cooldown
        }
    }
};

// Creator function used by AI Factory
CreatureAI* GetAI_npc_krofnica(Creature* pCreature)
{
    return new npc_krofnicaAI(pCreature);
}

// Register AI to factory with script name from creature_template table
// NOTE: This function MUST be called from ScriptLoader.cpp
void LoadScript_npc_krofnica()
{
    RegisterAI("npc_krofnica", &GetAI_npc_krofnica);
}

Comments are welcome
« Last Edit: July 31, 2012, 09:57:20 am by Krofna »

Tank

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1486
    • View Profile
    • Blog
    • Email
Re: [WIP] MMORPG project - recruiting
« Reply #21 on: August 11, 2012, 10:57:08 am »
Quote
I'm not going to have programmer editing world. Thats a waste of human resources... But anyway looks like I'll have no programmers...
Uhm.. I don't know where you come from, but around here I ask nicely and with respect if I want something from others. ;)

Quote
Quote
I wish you all the best for your project.
No you don't.
Polishing your crystal ball? Seriously, I'll be the first to shake hands when there will be nice results from your plans.

Krofna

  • Newbie
  • *
  • Posts: 42
    • View Profile
    • Email
Re: [WIP] MMORPG project - recruiting
« Reply #22 on: October 06, 2012, 06:34:56 pm »
le BUMP
Project is still alive!

Changelog:
- Re-wrote most of the project to fix major limitations and code ugliness
- Countless bugs and memory leaks fixed
- Fixed most of biggest server performance issues

- Items and Bags (Client side GUI is still placeholder/incomplete )
- Quests
- Allow Interacting with other units: Implement vendors and quest givers (Client side GUI incomplete..)
- Allow chat & add commands (Client side ugly...)
- Add cmake files to make compilation less painfull (Also some instructions for debian/ubuntu users)

Server side now has all features needed for the game to be playable! But I am having some serious issues with client side, especially GUI. SFGUI seems to break the SFML, and writing my own widgets would be very time consuming. I could use some suggestions here...

There are currently 2 active developers working on it, and we could really use some help. PM me if you are interested in helping :))

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 #23 on: October 08, 2012, 09:46:15 am »
SFGUI seems to break the SFML
Would be nice to know how, so it can be fixed. This is clearly a bug if it can be reproduced.
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 #24 on: October 08, 2012, 06:25:32 pm »
SFGUI seems to break the SFML
Would be nice to know how, so it can be fixed. This is clearly a bug if it can be reproduced.

I don't know - but I will ask the guy who was trying to make GUI. IIRC SFGUI and SFML were breaking eachothers GL states.

Qix

  • Full Member
  • ***
  • Posts: 139
  • I am Qix!
    • View Profile
    • Natoga Technologies
Re: [WIP] MMORPG project - recruiting
« Reply #25 on: October 08, 2012, 07:27:01 pm »
Holy attitude, batman!

Apart from all of the crude remarks by the OP, I must comment on something that was said:

'Smart' pointers are only smart if 1) you use them correctly and 2) if you don't really want to hassle with proper pointer usage.

Personally I never, ever use smart pointers, but that's a matter of preference.
~ Qix
Creator of Rippl Studio
Code: [Select]
<danharibo> iostream: I don't do enough drugs to think that's a good idea.

Krofna

  • Newbie
  • *
  • Posts: 42
    • View Profile
    • Email
Re: [WIP] MMORPG project - recruiting
« Reply #26 on: October 08, 2012, 07:59:15 pm »
Holy attitude, batman!

Apart from all of the crude remarks by the OP, I must comment on something that was said:

'Smart' pointers are only smart if 1) you use them correctly and 2) if you don't really want to hassle with proper pointer usage.

Personally I never, ever use smart pointers, but that's a matter of preference.

After gprof reported 99% of program execution spent on smart ptrs, I got rid of most of them. Most of my objects have well defined lifetime anyway.

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6287
  • Thor Developer
    • View Profile
    • Bromeon
Re: [WIP] MMORPG project - recruiting
« Reply #27 on: October 08, 2012, 09:37:30 pm »
After gprof reported 99% of program execution spent on smart ptrs, I got rid of most of them.
Then you were using them terribly wrong. I guess you just put shared_ptr everywhere, that's the worst thing you can do. Shared pointers are only required in case of actual shared ownership (which is rare).

Mostly, you can just take std::unique_ptr (or boost::scoped_ptr if you don't have C++11, or even std::auto_ptr or something self-written in the worst case). std::unique_ptr has absolutely no overhead, but greatly improves code readability and safety.

There is really no good reason to manage memory manually with new and delete, you just make your life more complicated than necessary, without a single advantage.
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

Qix

  • Full Member
  • ***
  • Posts: 139
  • I am Qix!
    • View Profile
    • Natoga Technologies
Re: [WIP] MMORPG project - recruiting
« Reply #28 on: October 09, 2012, 12:34:41 am »
There is really no good reason to manage memory manually with new and delete, you just make your life more complicated than necessary, without a single advantage.

Yes there is; stack vs. heap. You're limited on stack space. However, you're correct, using new + delete is relatively expensive and all around a headache causer if used incorrectly.
~ Qix
Creator of Rippl Studio
Code: [Select]
<danharibo> iostream: I don't do enough drugs to think that's a good idea.

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6287
  • Thor Developer
    • View Profile
    • Bromeon
Re: [WIP] MMORPG project - recruiting
« Reply #29 on: October 09, 2012, 07:33:59 am »
Let's continue the offtopic discussion here.
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development: