•
•
•
•
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!
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.
•
•
•
•
advertising ajax apple asp blog browser business code database development firefox gnu google hardware html ibm india intel internet iphone linux malware marketing media microsoft mmorpg mobile mozilla news office open source os programming red hat search security server software sql technology upgrade video vista w3c web wiki windows xml youtube
All Recent Tags 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
- How many developers does it take to build Windows 7? (12 Hours Ago)
- USB 3.0 Draft Spec Published (6 Days Ago)
- Open Source licenses get copyright law protection (6 Days Ago)
- Court Equates Contract Breach with Copyright Infringement (6 Days Ago)
- Miyuki Suzuki's TeQ Blog - What is SOA really? (9 Days Ago)
- iPhone gets GIPS real-time VoIP for gamers (9 Days Ago)
- LinuxWorld Caters to Developers (13 Days Ago)
- Programmers Blog and Career (13 Days Ago)
- Deploy .NET 3.5 Apps With No Framework Update (16 Days Ago)
- TI’s Low Power Chips Save Battery Life, Not the Planet (16 Days Ago)
Related Forum Threads
- Writing Servlets (Maybe) (Java)
- how to get the connected user name in web service (C#)
- Looking for a J2EE Software Engineer (w/ WebSphere experience) (Software Development Job Offers)
- A Professional Freelance Software Developer (Community Introductions)
- Connecting to a SQL Server Database using VB (VB.NET)
- how php is related to server scripting? (PHP)
- chat server gui (Java)
- MMORPG Developers Needed (Programming / Graphics / Etc) (Software Development Job Offers)
- SQL Server vs MYSQL vs MSQL (i'm stopping now) (MS SQL)