User Name Password Register
DaniWeb IT Discussion Community
All
What is DaniWeb IT Discussion Community?
You're currently browsing the Software Development category of DaniWeb, a massive community of 391,769 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 3,185 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our Software Development advertiser:
Jan 26th, 2007, 1:03 pm
As any seasoned software engineer will tell you, one of the most important things that you can do for yourself when working on a complex software system is to adhere as closely as possible to the software development lifecycle. Too many people want to just dive right in to the coding phase, and miss the opportunity to completely think through the design of the system. This can (and typically will) lead to a coding disaster. Yes, you might be able to squeeze out a working system after some time, but you'll find that when you want to add functionality to that system, it's nearly impossible.

So you work up a design document. This is a definition of what the code will do without actually doing any coding. This document might include flowcharts and UML and all sorts of cryptic writing (including actual ENGLISH... eeee-gads!), but shouldn't including a measurable quantity of code. The whole point of the design document is to create the underlying philosophy of the system, not the system itself.

What's the point of this diatribe, you might ask?

This weekend, Brother D and I (if you don't understand the "Brother D" thing, I've decided to leave full names out, so, yes... he's my brother, and his first name starts with a "D") are going to sit down and try to define the server system for an MMORPG. If you've ever tried to do this before, you probably realize that this is no easy task. It can be done a number of ways, with each way having a good solid basis in logic, making sense to it's designer.

My biggest issue right now is choosing the methodology for breaking the task of running a whole world into smaller pieces. Or, in other words: What, exactly, makes a "world" work? Also, in what (logical) way can the tasks of running a world (i.e. user commands, "evolving" the world, data storage, etc.) be split amongst different physical computers in a manner that takes full advantage of all computing power and limits the total amount of communication between devices necessary to keep everything working?

So that's the problem at hand. Hopefully, my brother and I will come out of this weekend with an understanding of how the whole thing should come together. Wish me luck, and keep checking for updates!
This blog entry was written by PirateTUX. It has received 4,203 views, 0 comments, and 1 linkback. 1 voter has rated this entry 3 out of 5 stars.
AddThis Social Bookmark Button

Post Comment

Only community members can start a blog or comment on blog entries. You must register or log in to contribute.

DaniWeb Software Development Marketplace

Related Blog Entries
Related Forum Threads
All times are GMT -4. The time now is 4:36 am.
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC