What do I need to have/do in order to make this game??? (in Off-topic)


Staind2b August 7 2005 2:07 AM EDT

Hey guys!

I'm thinking of creating my own online, text-based game with a chat. Something to the extent of "Bloodlines". I have been discussing it with various people, and they do not really know what I need, so I'm hoping that that some in the community will. Here's the rundown of the game.

You start your character. Choose between a Warrior, Archer, Sorcerer, and Enchanter, and then select one of 5 skills.
Each class will have it's own sets of skills to choose from.
You may however; use any of the items meant for a certain class, but there will be advantages given to the class that the weapon or armour is meant for.

After selecting the skill you want, and finished buying the items you want your character starts fighting other people, and you level.

Sounds similar to this game huh? Well it's not.

Six months from when you create your character, it will die. This makes it so players will either get their fix of the game, or if they like it so much, depend on the marriage option to continue playing.

"What is this marriage option?" you might say. Well, it is exactly that, there will be male / female characters, so getting married will be possible. If you become friends with another person while playing, and they have a character of the opposite sex you may get married, but only with the other person's approval of course. Once two characters have gotten married, they may choose to have a family hierloom or not (I'll get into more detail later on).
The parents will have two children.

Once both parents have died the 2 children will replace the parents as the person's character. This is why a married couple will have 2 kids.

The two people in control of each kid will be prompted to select skills that the parents had. Once that is done the person will realize that this "2nd generaton" has better stats.

The kids will learn from their parents in a manner of speaking. Also, if there have been many "generations" of characters then a family tree will be created automatically, and a person may view who their character's grandparents were, and who their aunt/uncle is and so on. Like I said, you can marry anyone, but only one person. So you must choose wisely.

(Back to the items) Since you can have a family tree, why not have hierlooms!? An item specified when getting married will become a family heirloom after a certain number of generations, and will grant the wearer certain enhancements.

Xiaz on Hiatus August 7 2005 3:07 AM EDT

Using what I've learnt from my Software Design and Development classes.

Write out an algorithm with all the different component's of the game. Then, go into detail with how every component will operate. You should be fairly detailed about what variables there are in your program, and how/what will alter them.

Go back and see if you can 'streamline' the algorithm, make every 'component' (subprogram) have one specific task.

Then is the actual gameplay, how many users, how much data youu think will pass in/out of the game. This helps you select a server and bandwidth needed.

After this you need to decide upon the programming language, there must be hundreds out there, but you need to choose one you're familiar with and one that will be accessible to a fair part of the internet using community.

Next step is the programming itself ;) Test everything, let people who have no idea what the game is to try it, this way there is no 'bias' and you can get genuine feedback about bugs/problems. Fix the bugs, and repeat until you're happy.

Or, you could just buy one of them pre-made MMOPRG games and just customise it with your own items/storyline etc. :D

GL

Fuhgawz August 7 2005 3:18 AM EDT

a server?

Staind2b August 7 2005 3:41 AM EDT

Someone told me that I need a database, a server, a host, a domain, and securities. I understand all of them except the last one. I guess it has something to do with protecting the game from being hacked, but wouldn't the host have some kind of protection itself? Or would I need something extra?

Xiaz, I understand that I have to figure out how to code it and streamline it so it makes it easier for less things to contradict each other, but what program would be the best suited for what I described in the first post?

I know a person will say, "why don't you search yourself, the internet holds many resources". The fact is, I don't know which language would be best for my idea. I've only taken a course using VB, and even then, the teacher never explained it well, also having a class with 30 people doesn't help either.

I've been told that HTML and CSS are only used to design the layout of what a person wants to do.

If I misunderstand anything you say or might have said before this post it is my fault. I am pretty much a new comer to this sort of thing.

All I need is a finger pointing me in the right direction, and I can find my way.

Thanks for the replies that I've gotten so far.

Stephen Young August 7 2005 8:37 AM EDT

Check out this link: Behind the scenes

You may also want to do a search on PHP.

[T]Vestax August 7 2005 8:46 AM EDT

I can't stress enough how important the design phase is in this project. The more work you put into that then the less can be put into coding. Xiaz, you almost seem in favor of just getting in there and coding right away, which is common of many computer science students, but your method would lead to building this project bottom-up, which is a very very bad idea.

In my opinion top-down is a better approach to game development. This means that instead of working on the algorithm first you instead work on getting an overall structure, or skeleton. Any time you make a call to an algorithm that would do something you instead have it call a stub of the algorithm. A line of code or two that responds with some meaningful output that will let you know the program went to the right place. Then you would start to replace these stubs with actual code after everything is in the correct place.

[T]Vestax August 7 2005 8:55 AM EDT

Vampire King, 2B will tell you that he's already been there. As for PHP this is what Jonathan's take is on that choice. "For the budding web developers out there"

Maybe this will explain why PHP isn't in the spell checker. =P

Xiaz on Hiatus August 7 2005 9:00 AM EDT

Maybe my original post was a little unclear, but what Vestax said is indeed correct. What I meant to say was you should indeed focus on the design of the program, and start off with the 'skeleton' of it, slowly working down into the submodules.

I was going to take up career as a code monkey, but decided I'd be better designing solid objects, buildings, bridges, etc. With these things you have to build everything from the ground (bottom) up. ;)

Staind2b August 7 2005 5:19 PM EDT

As Vestax said, I have looked at that link VK. Everything just seems so complicated to me. As for building from top to bottom, that seems like the logical way to do it.

I am pretty much a new comer to this sort of thing, especially online stuff. There are so many programs to choose from; PHP, Python, TLC, Spryce, and a few others that I can't remember.

What I'm asking for now is what program//language would be able to do what I've said in the first post, as well as enable a person to learn while doing it?

Thank you for your input :)

Special J August 7 2005 5:36 PM EDT

What ever language you feel comfortable with is the correct language. If you have no knowledge in any language I would suggest buying some books on amazon and finding one you like.

Working with perl and mysql has done wonders for me in the past, until I began to work with OOP PHP along the side of MySQL. All three mentioned have issues, but it is what I know so it is what I resort to rather than learning something new.

AdminJonathan August 7 2005 6:07 PM EDT

That is why Java is the modern COBOL.

AdminJonathan August 7 2005 6:09 PM EDT

Building top to bottom may be the "right" thing to do if you're a veteran of several similar projects, but it's horribly wrong if "Everything just seems so complicated to me."

Start small. Get it working. Grow.

Otherwise yours will end up just another of the thousands of abandoned projects that were overdesigned and underimplemented.

Staind2b August 7 2005 6:27 PM EDT

Where would you suggest I start then?

AdminJonathan August 7 2005 9:32 PM EDT

Pick a goal. Work towards it. If it turns out to be too large, pick a smaller subset.

If it still boggles your mind where to start, that is a sign that you should pick a smaller project and apply the same process.

A custom blog engine is a good beginner project.

If you STILL can't figure out where to start, go read the "old but still good introduction" I link in the behind-the-scenes faq.

Special J August 7 2005 11:07 PM EDT

Even a more basic start is building the persistent register / login / logout system.

This will teach you a few things, how to work with cookies and sessions and in the end session cookies.

Wonderpuff August 7 2005 11:16 PM EDT

Rule of Thumb:
If you have to ask what the tools for building a piece of software are, you're nowhere near ready to build that software. This game isn't mindblowing, but it's not a beginner's project.

Staind2b August 7 2005 11:51 PM EDT

Wonderpuff, you are right, but I would like to attempt this. Who knows, maybe with a lot of frustration, a bit of luck, and probably some teamwork, this game might happen. I hope it does. Thanks for your input and help guys.

I have what I need :)
This thread is closed to new posts. However, you are welcome to reference it from a new thread; link this with the html <a href="/bboard/q-and-a-fetch-msg.tcl?msg_id=001SZR">What do I need to have/do in order to make this game???</a>