Planning out your web game/PBBG
So, you have your design *completed* now and you are ready to crack up Zend or Dreamweaver or maybe even Notepad (I suggest Zend).
STOP!
Don’t go any further. Before you even think of scripting your game, go out and buy some cue cards or do it on your PC. It really doesn’t matter but plan out each and every page! I tell you this from personal experience: without this plan you will site around for while trying to remember how you had two pages connected, or what tables need to be updated on a event. And if you get really detailed (which I will be doing on my next game), which variables were used and what they contain.
So if you actually believe me, which I really hope you do, it will help, grab a piece of paper. First plan out ALL your tables. You*will* come back to these later to add new columns which you didn’t think of at the time. It always happens when working on a project of these size. But thats fine, since this plan isn’t set in stone. This is meant to guide you and keep track of everything that needs to be done, what has been done and how things connect.
You now have your tables designed to some extent on paper hopefully. Next is designing the pages on paper (or virutally. your choice). The way I do it is first going through and just think of all the pages I need and writing them down without the details and connecting them. You may want to do the details as you go, but I find it easier to connectthe pages before adding the details. You will also want to draw arrows to and from the databased when needed. So a grab from the database to display character information, or an arrow to it to show a field Update. If you are following my path, you will now need to fill out the details of each page. Again, you will likely come back to edit this once you start coding, but you at least now have a visual of everything you need, how its connected and most of the details or each page.
You should now be looking at a page filled with mad scribbling and a bunch of arrows. You may want to tidy it up or put each page/table on a cue card and stick ‘em up on your wall. Anyway you look at it, you now have a plan instead of an idea.
You can also apply part of my idea’s to your development too. I mentioned before when planning to start with the basic name then filling out the details. Well the way I work is I go through and try to get the basic functionality of each page down and then will go back later and fill in the details (Proper text, messages), make tweaks, apply styles, graphics, etc. I do this for two main reasons. One is to make connections. I find if you make a pages completely then go to work on a page that is connected to it, you will eventually need to go back and start changing things on the so called completed page, and two, because if I stare at the same script for too long I start to get annoyed with it.
I hope this has helped you along with your development. And as usual, feedback is MORE than welcomed. Without your input, how can I/we create a blog with the best tips/guides/ideas for us developers/designers. Remember you aren’t alone and there are people similar to you that can help you with your game. All you need to do is ask
Aaron said,
March 4, 2007 at 2:59 pm
Good post! Planning is definitely a not-so-sexy aspect of game development that has the potential to save you many hours of work *and* come up with a better project.
I would only point out that it is important not to get caught up in a perpetual cycle of planning. There comes a point where it’s better to get something online, even if it isn’t perfect. Perfection in game development is a philosopher’s stone – don’t wait for it before you release!
PaulCicero said,
March 5, 2007 at 12:32 am
Good blog, it has already proven worthy in my little project. I look forward to more information. Especially the planning is good for the morale.
I actually designed and created most of the pages I want to have in my game on paper (including images(scetches of it) and texts (small lists of array’s).
And because with every cue card on my wall, my game already reveals itself a bit and that will push me through the rather boring coding phase.
Eliia said,
May 4, 2007 at 8:33 pm
Very good info here – I’ll have to read up some more especially on PHP/PBBG game security – last thing I want is someone hacking my game and getting free stuff. I prefer to spend my time on beefing up the game, rather than stopping hack attempts.
Great blog – PBBG forever!
AJ said,
June 3, 2007 at 5:33 pm
Very good post. Reminded me how important good planning is
Peter said,
December 20, 2007 at 12:37 am
I have a small free 15 mb site right now. Please can anyone tell me what I need to do about coding beyond html on my site to eventually upgrade to a pbg game? I know the basic html vaguely well, but I am not interested in the coding even though I need it. A cool site to go to for learning coding is http://www.w3schools.com and I learn a lot from it. My Pbbg game will only be text based due to my visual impairment, and the lack of sufficient speech synthesizer technologies with assessability to make a site like a gif based game. Man, I need help and I won’t ever make another maual game again if I can only make a pbbg game. Please don’t tell me ” learn some mysql or something to tha effect because that isn’t percise enough for me. Instead tell me somethings you guys do”. Thanks, Brutus
bardicknowledge said,
December 20, 2007 at 11:43 am
Hello Peter!
Thanks for all the comments. I will try to read through them and reply to them later today.
So I see you have a geocities account. Last time I checked you can only do HTML there, so you will likely need a new host.
But to code a web game, you need to know two main things. A scripting language of your choice, and a database of your choice. I myself use PHP and MySQL as I believe the majority of developers do. Though there are some that use ASP.NET, ColdFusion or a different language.
After to pick your languages, you need to find a server that supports these. Not all servers do support the same languages, or the same versions of the language.
I would recommend PHP/MySQL. They are relatively easy to learn, free and you can easily test them on your home machine instead of using a server.
If you decide to go the PHP path, many sites exist with tutorials and guides. Plus they have a great online manual concerning the details of functions.
Hope that this was of some help ^^ If you have any more question, by all means, feel free to ask.
Peter said,
December 20, 2007 at 3:26 pm
Okay, where is a good place for your type of web hosting? I hate downloading additional things, but I’ve seen that you must download the mysql program onto your comp. Is that nessessary? How big does a typical pbbg storage site have to be? I need real examples like how does one person make a page like. 1. items 2. powers, 3. skills 4. travel 5. etc? I mean I can’t understand how the pages update or storage at all, and it’s a big investment ya know? I want my site to be 100%s free man totally. No donations will be ever wanted or needed for I do it out of the passion of the game. I hope to have another programmmer, so we both add in and actually play annoymously as normal players with no additional bonuses. We might be on to help or hurt other players depending on the design. We will hope to make the game enjoyable not only for ourselves, but for everyone. I personally need someone to do the pictures, etc that is visual. I can probably do the text and stuff, which is 90% of the battle. The pages update differently and I need clarification into how they do that stuff. How does a programmer implement a chat room, messege system like my post office idea and messege boards, etc. I hope to have my other unknown prograer to do the visual varification dialogue box for the password, but I want to make an audio varification for those without vision like myself. Not only that there is a new one that you can like put text and type like the third word like in a sequence like: John, Jake and Jill were running and what is the first word you see? This will hopefully prevent any hackers or would be hackers with automatic programs to make dummies onto my game. I don’t see that much, but mainly in my chat rooms, and mailing system and of course the messege boards. It’s impairative that I start in January to learn php and mysql man. I will devote hours into the game, but I really am a beginner, so any and all help will be appreciated.
jmucchiello said,
December 20, 2007 at 5:09 pm
You need to take a step backwards. Do you know how to write code? Access a database? First you need to know these things before you can write a game.
Second, you do your development on your home machine. You probably won’t need a hosting service until you have the game 50% complete. That’s 100s of hours of your time using your computer by yourself. You need a webserver and a database server installed on your local machine. Apache and MySQL are great for that. You need to install your preferred language into Apache. Then you need to become proficient with all this stuff.
Third, you need to read security websites to learn how to make code that people won’t hack in 5 seconds. This step can take years to master. You don’t need to worry about hackers creating dummy accounts. You need to worry about hackers exploiting a weakness in your code that allows them to delete your (in-progress) game(s) and hijack your homepage for their own jollies. Captchas are not a panacea.
I don’t want to be all doom and gloom but game design is not the hard part. The hard part is coordinating mastery of many disciplines (either learning them all yourself or working with others to cover your deficiencies) toward a common goal.
Peter said,
December 20, 2007 at 5:54 pm
I don’t know the coding part, but I don’t have years to leanr this stuff, and is do Apache and Mysql very visual? I mean to say ” Can it be perfectly attainable to use just txt in dalogue boxes? Where is a good place besides the place I mentioned to learn php and mysql? Another question where can I go to download the appache servor and the Mysql database softwares? Are they big files? How big is the site usually for a pbbg game? For Pete’s Sakes man I just want to make a site that is safe, but cool to access is that too much to ask? Oh, I know some htl that is about it right now, but I might have a tops of two years to devote to the coding if not oh well. I’ll put it out there. Can you explain how the coding into the Appache matters and how it coorilates with the database? What vital jobs does the mysql do in the game? Can you give me examples plz? What is the arrows, and other things have to do with databases? What does php for that matter? Where does other coding come into play and give me some examples if you don’t mind. I want a free account for my players to have fun at man and that is about it. I don’t want a mud client either man. No freakin way in a way you were a bit discouraging to me, but I understand what you mean by it’s a a lot of work to deal with and it constantly must be updated for the benefit of my users. Oh, please can anyone explain to me thisstuff I want to rush off with my many ideas, but coding is slowing me down. It’s sort of a bummer ya know? Well, plz contact me about a good hoster as well that may have some indications of assessability as well. Give me some solid examples for example items, chat rooms, messeging system like mail, attacking, etc in the game and other developmental issues in real coding examples and how it displays and interacts in the game. Thanks a lot brutus
jmucchiello said,
December 21, 2007 at 12:57 am
If you don’t know what a database does, I don’t know what to tell except to find a book about databases and read it. Take some classes about computer programming. Apache is a web server. It receives requests from your browser and returns the requested info. I can’t show you how to create a chat room if you don’t know what a socket is.
Do you know what actually happens when you click on a button inside a browser? Do you know how the browser talks to the server? How does the server know you are you? Where might your password be stored? Do you actually know how a MUD differs from a PBBG?
You need to learn to crawl before you can run. If you don’t know what I mean when we mention stuff, wikipedia it. The follow the external links that seem made for beginners. Try googling “mysql tutorial” or “PHP tutorial” or “free web hosts”. I’m not here to interact with basic coding instruction. I’m here to discuss advanced design/programming topics in the PBBG field.
bardicknowledge said,
December 21, 2007 at 1:07 am
Hey Peter,
I have to agree with jmucchiello. We can’t give you everything that you are asking for. It would take us ages and a lot of writing to explain everything there is to know just about choosing a language. Many of us have been coding for years.
I’m not trying to discourage you. You can teach yourself this. It just takes time. Your best bet is to pick your scripting language then go get a beginners book on it.
We want to help, but we can’t possibly teach someone that can barely write HTML advance scripting and database methodologies.
Peter said,
December 21, 2007 at 2:57 am
uit’s no wonder the genre is truly dieing out due to Mont and Barc is okay in my book. The tone needs to be dimed down a bit and quit acting like I am some idiotic bafoon. I wih that you guys covered the whole program and everything obviously you guys are too busy in your insignificant projects that none out of ten times destroy themselves out of bickering. Nobody is ever on my side in programing and you act as if you had to had programming courses in the 300-400 in college level classes when I know full and well that 99% of all programs are self-taught at home. As far as year, many people finish codes in about a nine month frame, but I am just not sure about the sql and the php formats. Actually I’ve heard both are easy and yes I’ve read about how sme of those questions that you posed to me work in a theoritical matter. I know for example the sql programing languages talk to the mysql like the php or sql languages do in a way and the xhtml programs are useless. A lot of programming s almost pointless because it constantly evolved and whaty ou guys learn now doesn’t mean that will be in the current programming language in a decade in fact, it won’t be. Xhtml is taking over html leaving me with useless garbage that I spent two months to learn. Another thing is that a lot of your thoughts sadly enough to say have been done, but Ijust never heard of the process, but seen it done in programs before by playing certain games. I can’t give the urls because I sort of deleted them like one of Ben’s all monster killing sites if it’s the same ben with Dark Gremoir that is and Sryth.com as well. Those are just a few examples of the sites that I’ve been to in the past, but I think all of you except Barc are awfully stuck-up on yourselves. A person comes here for encouragement and gets this stuff. I won’t ever post on here again and will learn it all myself without the discouraging attitudes of a bunch of big headed programmers.
Signing out,
Brutus
jmucchiello said,
December 21, 2007 at 3:40 am
This reminds me of an article I once bookmarked: http://www.nytimes.com/library/national/science/health/011800hth-behavior-incompetents.html
If you really want to understand something, read that article. The more you learn about something the more you understand how little you know. You come here and complain that programming is nothing. Why? Because you don’t know programming.
I wouldn’t post to a website about advanced pharmacology asking them to explain basic biological processes to me.
I have a Masters of Science in computer science with over 20 years of practical experience writing programs in dozens of different language for dozens of different computer platforms. I’m an expert in several of those languages/platforms. Yet, the stuff I don’t know about computers could fill the Grand Canyon.
We aren’t talking to you like you are stupid. We are talking to you like you are ignorant. There’s a big difference between stupid and ignorant. Ignorance can be removed by study and learning. Stupid is, well, stupid.
Xalthorn said,
January 4, 2008 at 2:27 pm
Until you get some game programming experience, a good way to learn is to take an existing game and start ‘kerplunking’ the code. In other words, take bits out, change things, and see if the change causes the effect you expected. If it does, brilliant. Pat yourself on the back, write down your discovery and continue.
If however, it all falls down and goes wrong, revert to the old code and see if you can work out what went wrong.
One way to learn how PBBGs work specifically, is to work from a minimal installation or PBBG template and start modifying it.
I did a quick Google search for such a template and found this.
http://www.bbtemplate.com/
I haven’t tried it, but it sounds promising.
Allan said,
February 17, 2008 at 9:49 pm
B&B Template is also not freely available.
I used to operate a Black Nova Traders server amongst others sometimes jumping in using anothers code can be a real nightmare, around the same time another PBBG I was asked to host… Well I spent 4 days fixing broken SQL calls before I got it working, it took that long to find all the breaks and do some work streamlining the code.
Coding/Scripting really isn’t something that’s quick and easy to teach regardless of the language. Novices don’t tend to appreciate the issues involved with learning or teaching a language, even a comparatively simple one like PHP, or to get truly simple Smalltalk as an example of one that can and does get taught to little kids.
Peter getting cranky with us won’t help you. MySQL is a database which handles your player accounts, and the numbers side of the game, ie you have ships with 56 defence, and 13 attack, those numbers and the name of the ship type are stored in the dbase.
Does PHP matter? Very much so, because it’s the PHP that operates as a layer between the database and the webserver itself, being responsible for generating the final pages you see and executing the actual game logic. It can be done with ASP, or any other number of languages, but PHP is the easiest and most common solution because it’s free, easily learnt, and most PBBGs are built in it (at least the ones I’ve played). I started learning PHP writing a web frontend for my mailing lists 8 years ago. But you’re not going to operate a web game without learning to code eventually.
And neither MySQL or Apache are visual at all, both are purely commandline, however both have additional freebies that will allow you to manage them via a visual application, I’d suggest if you’re still interested having a look for a package installer, which will hopefully have Apache, PHP, and MySQL which it will install for you, this will usually also include the PHP front end for the MySQL dbase PHPMyAdmin, along with usually having it’s own manager interface for the apache server.
overklokan said,
March 31, 2008 at 8:11 pm
on topic: yeah, planning is extremely important part of not only game design but ANY big project. with mmorpg pbbgs it’s quite easy to forget something and than later waste hours to find what’s wrong and what’s missing. it took me few monts before i realised i won’t be able to do it “from head” only, so i started writting down (on paper = don’t make yourself dependant on technology) all important ideas and how they fit together. planning is especially important cause it’s easier to check if some brand new idea fits in previously defined ones. many times it ended that idea is great but would require me to redesign most of the already created tables and code. without planning you will hardly have clear picture of how BIG and complex are those things you’re going to make real.
peter: amount of knowledge that one needs to have in order to make pbbg is incredible. you already got nice answers on your questions here, so don’t waste your time asking more questions. besides common things, like what software to use (php + mysql) there is NO rules on what you should do to make your game. don’t expect that someone will give you easy answer that will make you finish your pbbg next month. be patient, learn, search the web for articles that interest you the most … thats the only way !
overklokan said,
March 31, 2008 at 8:19 pm
peter: on xhtml vs html = you are wrong that first one is the future … its not ! its dying slowly … you need to check blogs of people actualy making standards (W3C guys) to see that next thing is html 5.0 … xhtml was and is one big mistake … whoever knows about how different browers interpret xhtml will tell you to stay with html 4.01 transitional or even strict !
Aldrin said,
June 23, 2008 at 5:15 am
i want to know what are the requirements in creating your own pbbg game??
Aldrin said,
June 23, 2008 at 5:15 am
plsssss
bardicknowledge said,
June 23, 2008 at 10:38 am
Aldrin, to make a PBBG you just need to know the server language you wish to work in and have a good understanding of DB. Not a masters, but enough to create tables and not have dup data all over the place.
You then of course been a server that supports your language. That’s about it. Oh, that’s assuming you know HTML+CSS. If you don’t you’ll need to learn those too,
Aldrin said,
June 26, 2008 at 5:38 am
hey bardicknowledge, i want to know the basics and the equipments use of making mmorpg/pbbg . I only have the internet .
Aldrin said,
June 26, 2008 at 5:45 am
im new to this and i dont even know what HTML+CSS ,server language and DB.
bardicknowledge said,
June 26, 2008 at 8:59 am
Well if you are completely new to all of this, I suggest your check out http://www.w3schools.com/ .
They have some really good tutorials and articles on most of the basics. You should check out HTML/CSS, PHP and ASP. PHP and ASP are both server languages. And since you are new, I suggest reading up on both and figuring which one you like more. Personally I like PHP and so do a lot of PBBG developers. One of the reasons is that PHP is open source / free.
Aldrin said,
June 27, 2008 at 2:07 am
bardicknowledge, thanks alot i will try to learn all what is needed.
Aldrin said,
July 1, 2008 at 5:58 am
by the way can you refer me MMORPG/PBBG games to play while i am thinking how to make one.
peachtea said,
August 4, 2008 at 5:47 am
Aldrin,
This blog introduce some nice MMORPG/PBBG for playing:
http://www.browsergamesblog.com
It is really important you got some experience playing a few before you can develop your own.
Free MMORPG/PBBG said,
August 25, 2008 at 6:03 pm
Developing games extremely rewarding, with experience i look forward to continueing gaining knowledge in my field.
My game is currently two years old: http://www.genleo.net
Please do tell me what you think of our graphics? it’s one of the best I’ve seen!
Aldrin said,
September 22, 2008 at 4:58 am
nicely done with the graphics.
ZiCorp Studios said,
January 8, 2009 at 6:29 am
Hey there, just came across your blog and just wisht to say that i thought that it is a very informative peice for anyone working on a pbbg title.
We are currently at our game design stage of our new browser game, Quasi coding and designing. For instance we are working currently on the basic statistics and combat systems, which we have now planned out over and over again and are ready to code them out to see how effective they are. So as the planing unfolds some of the basic testing of what we have is done with our Alpha focus tests.
Lucky for me I am used to this routine as I am often used to designing the GUI for any of my applications before pushing out the code behind it, personaly for my it helps a lot because i see what actualy needs to be done and what buttons link to what.
Also I will warn, never be over optimistic about your coding skills, dont plan to have your game fully functional in x months, This creates a promise to users that you can not and most likely wont be able to keep. Only set an actual release date once you are in early beta and you will be more on target.
Aldrin said,
January 10, 2009 at 4:44 am
if you want to advertise your games try this site
leadsleap.com i think it will help