View Full Version : Pit Fighter: A Programming Odyssey
Godzilla Blitz
08-12-2004, 11:39 PM
Overview
Like many people, I’ve wanted to learn how to program and make a game. This will be a low-frills log of my attempt to accomplish both of these things. I’ll write down accomplishments, questions, thoughts, frustrations, ideas, etc., as I work my way through the process. The ultimate goal is to make a simple text sim called Pit Fighter (working title), but the name and the game may change as things move along. I’m hoping that jotting down notes will motivate me to keep going when I get frustrated.
I hope that this may be of interest to some readers out there. If anything, it may give you a chance to watch someone create a really bad game that doesn’t work.
I should clarify, though. Life is busy, so I may only get an hour or two a week to work on this. I’m aiming to try and spend a few minutes each day plugging away. At times, though, I may get chunks of days and make lots of progress, and there will definitely be times where I can't work on it for days.<o =""></o> I welcome feedback, help, suggestions, and comments. Tell me what I’m doing wrong. Laugh. Throw digital tomatoes. Have a good time. If anyone wants a copy of the various stages of the game, let me know and I’ll be happy to upload them. Be forewarned: they will really suck.
Lastly, I’d like to start off by thanking FranklinNoble for the idea of creating a log like this.
Godzilla Blitz
08-12-2004, 11:44 PM
Goals and Stuff
The Game I Want to Make
Pit Fighter, for now anyway. In a perfect world, this game would be a text sim where you manage a stable of fighters over the course of their careers. Think Coliseum for concept, but with more hard-core text sim elements like FOF.
Victory
I “win” this dynasty if I create a working executable file that allows a gamer to control a fighter that participates in a sixteen-fighter, single-elimination, gladiator-style tournament. I must finish the project within one year (August 10, 2005). It will be a decisive victory if I finish it within six months (February 10, 2005). If this goes well, the project is fun, and the game shows even a glimmer of promise, I might attempt a second round of development to add things like a game world, a calendar, fighter development, random events, etc.
Necessary features for the first round (temporary list, may be expanded):
The program should randomly create a field of 15 fighters to participate in the tournament. Each fighter should have a name, essential stats (maybe weapons and armor if I can work it out).
The gamer should be able to create a fighter to enter in the tournament.
The game universe should be savable and loadable.
The program should be Windows XP friendly and work cleanly. No crashes, no gameplay bugs.
The combat should allow the gamer to control general fighter directions in the tournament (aggressive, defensive, normal, surrender, etc.).
Although there will be no visual graphics to depict the fight, there should be some textual explanation of what is going on.
The computer should fight rationally. Not brilliantly, but respectably well.
The tournament management screen should work, showing the fighters advancing in rounds, etc.
The game should be visually clean. What little there is should at least look professional.
Defeat
I lose if I give up or do not finish this within one year.
The Language
Visual Basic 6.0. This language is comparatively easy to learn and should give me all the horsepower that I want to write a text sim of this scale.
Godzilla Blitz
08-12-2004, 11:48 PM
Background
Beginning Programming Knowledge
Basically zero. A couple of times I’ve made it through the first three chapters of a Visual Basic textbook, but that’s about it. Once I signed up for an online course with Barnes & Nobles, but bailed out after the third lesson.
Over the Past Month
I’ve off and on been hacking away at Step by Step Visual Basic 6.0 (http://www.amazon.com/exec/obidos/tg/detail/-/0735618836/qid=1092366991/sr=1-1/ref=sr_1_1/103-9624783-8222245?v=glance&s=books), and have managed to get to Lesson 7. This represents about 5 hours worth of time, so basically I’m starting from scratch here. I think I have a rudimentary grasp of variables, basic events, basic controls, and properties.
Work Done to Date
Two weeks ago, I created a simple, one-form program that simulates two fighters battling. There are some basic textual descriptions, and each fighter has randomly determined hit points and accuracy. There is no strategy, you simply push buttons and read about the guys fighting. It works, but it sucks.
Off We Go!!!
That should do it as far as the introduction to all this goes. From here on out, I’ll make posts that tell what I got done during a particular day. For the first couple of months it will probably log what stuff I learned in the Step by Step textbook, but I tend to wander and try programming when I learn something new.
Godzilla Blitz
08-12-2004, 11:51 PM
11 August 2004 (Yesterday)
Worked through Chapter 6 in Step by Step. Got a better understanding of If…Then statements. Learned how to use VB’s debugging mode. Total time: 30 minutes.
Next, I did a web search for sites on VB programming, and found a neat site (http://markbutler.8m.com/vb-tutorial.htm) that describes how to make a simple RPG. Ended up reading the thing for about an hour, and learned a lot about defining variable types, creating arrays, and creating a programming structure for a game. Total time: 1 hour.
I think now I have just about all I need to know to try and program the code that will create the 15 fighters that will be in the tournament. I need to learn about loops, but that comes up in the next chapter of Step by Step.
Total time to date: 1 hour, 30 minutes. 365 days to go.
Godzilla Blitz
08-12-2004, 11:52 PM
12 August 2004
Worked through the first few pages of Step by Step, Lesson 7. Learned the basics of Loops. This will come in handy for generating an array of fighters to populate the tournament, which I may try to get working sometime in the near future. Total time: 15 minutes
Next, I wrote this log. Total time: 1 hour.
Short-term Goals: Finish Lesson 7 in Step by Step. Try to write the code to generate a 15 fighter array.
Things to Figure Out: How to get VB to read text files of first names and last names, concatenate them, and assign them to locations in the array. I'll need to do this to be able to assign random names to fighters in the tournament. No clue yet on how to do this.
Total time to date: 2 hours, 45 minutes. 364 days to go.
Blade6119
08-13-2004, 12:03 AM
godzilla dynasties own me...crap, by bye to all my dates for awhile
Godzilla Blitz
08-13-2004, 12:06 AM
godzilla dynasties own me...crap, by bye to all my dates for awhile Thanks, but this won't be a good dynasty. ;)
More like a journal, I think, than a "dynasty".
I can't imagine reading about arrays and properties is anywhere near as interesting as reading about Sectoids trying to take over the world.
sachmo71
08-13-2004, 08:56 AM
Good luck, GB.
Agree with sachmo. Good luck GB. Don't forget about Riverside too. ;)
Godzilla Blitz
08-13-2004, 02:34 PM
Sachmo: Thanks!
JAG: I don't know what happened this time when I started playing FBCB. It just didn't hold me like it did last time. I think it must have been the warm weather. I do intend to continue at some point in the future. This programming "journal" won't eat up all of my time, as I want to do other things too.
Godzilla Blitz
08-13-2004, 10:31 PM
13 August 2004
Early this morning glanced through three other Visual Basic books I have to see if they had anything about reading text files. Found one piece that helped clarify some things, but confused me on others.
During the day, I worked through the next few pages in Lesson 7 in Step by Step. Learned a bit more about Loops. Read ahead in the book a bit to see if I could figure a bit about modules, and got a decent idea of what they are about.
Also spent about thirty minutes looking at some of the code on the game programming site.
Lastly, I hacked around in the program for about 20 minutes.
Total time: 1 hour and 30 minutes
Total time to date: 4 hours, 15 minutes. 363 days to go.
CraigSca
08-14-2004, 06:12 AM
Wow, good luck to you, GB. You have a really daunting task ahead of you. I can't even imagine programming a game while learning programming at the same time. FWIW, I've loved every book by Rod Stephens regarding VB. He has a great collection of algorithms in one of them (unfortunately, I forget the exact title) - a lot of, "Oh, I didn't realize I could do that quite that easily," type of stuff.
I'll read this with great interest.
Godzilla Blitz
08-14-2004, 03:14 PM
Craig: Thanks for the encouragement! I have found that trying to make the game is helping me learn to program, as it forces me to apply the concepts in the books I'm reading.
I think the task would be daunting if I was actually trying to make a good game, but for this first round, I'm mainly interested in getting something functioning.
Thanks, too, for the tip on Rod Stephens. I'll hunt some of his stuff down as I work my way through some of the books I currently have (I've got four VB books now).
GoldenEagle
08-14-2004, 03:55 PM
GB, as someone working on a game myself, I would like to wish you the best of luck.
CraigSca
08-14-2004, 07:51 PM
BTW - if you get stuck anywhere, just ask -- I've used VB for years.
TargetPractice6
08-14-2004, 08:55 PM
GB, as someone working on a game myself, I would like to wish you the best of luck.How is your game coming along?
Godzilla Blitz
08-14-2004, 11:20 PM
14 August 2004
Finished Chapter 7 in Step by Step. Learned about conditional loops (Do While/Until) and learned about the timer function in VB. Chapter 8 is up next. It discusses interface design, using multiple forms, error handling, and printing.
<o =""></o>
Spent an hour and a half this evening writing out some thoughts on how to model combat in the game. My own notes now span five pages, but basically…
<o =""></o>
I want to get away from a turn-based, hit point system and move to a pulse-based, realistic damage system.
<o =""></o>
Hit points in a game seems a terribly artificial way to model damage to a human being in combat. I would like to incorporate things like concentration, pain, specific body part injuries, blood loss, and endurance into the damage model to portray man-to-man combat more realistically.
<o =""></o>
As far as combat goes, I am thinking that each fight will be executed in ten-second pulses. The gamer makes a choice of action. The computer makes a choice of action. The program then analyzes the two decisions and produces a result. Possible choices: General Attack (attack any opening), Attack Specific Body Part or Weapon, Defend, Rest, Evade, Run Away, Back Off, Close In. Attacks should further be delineated by mode (Cautious, Aggressive, Normal) and type (jab, slash, overhand, etc.). Defenses can also be delineated to emphasize a particular area (Legs, Torso, Head).
<o =""></o>
The ultimate goal behind this system is to create a wide set of tactical decisions for the gamer, and a number of possible fighting styles to try and win with. For example, if you’ve got a high-endurance, highly elusive fighter with good weapon skill and little power, you may want to mix up defending, evading, and cautious general jabs until your opponent’s stamina and concentration wanes, the pour on the attack. If you’ve got a low endurance fighter, you may be forced to attack early in hopes of landing a decisive blow. If your opponent has weak leg armor, you may want to aim low in your attacks. If you hit your opponent in the head, you may want to adjust your attacks high to knock the guy out. Opponent got a powerful yet fragile weapon? You may want to go after the weapon or the weapon arm. Badly outclassed or getting pounded? Go for a desperate overhead shot to the head.
All of these choices should have consequences and drawbacks. For example, aggressive attacks should leave you more vulnerable on defense and burn more of your energy up. Defending low will leave you much more open to get whapped upside the head. Resting would be disastrous in close against an enemy who attacks, but would increase energy more quickly than defending; if your opponent chose to defend, you would gain more energy back than him.
<o =""></o>The overall effect I’m trying to get in strategy is something like boxing meets Monster Rancher meets Paper/Rock/Scissors meets Coliseum (I think, anyway. I haven’t played Coliseum yet but have just ordered it).
Time Today: 2 hours.
Total Time to Date: 6 hours and 15 minutes
Godzilla Blitz
08-14-2004, 11:22 PM
Golden Eagle: Thanks! Good luck to you as well. What kind of game are you making?
Craig: Thanks! I appreciate it and may take you up on that. Feel free to offer advice anytime as well.
CraigSca
08-15-2004, 09:42 AM
One thing I've found that could possibly make things easier when modeling certain parts of the game - use Excel. There were many times when my original concept for ratings were proven to be unacceptable just by modeling them for a few minutes in a spreadsheet. In Excel, they can be fine-tuned and usually can be play-tested much quicker than in your program.
Danny
08-15-2004, 09:52 AM
Excellent thread Godzilla. Ill be keeping an eye on thos thread while I am working on development for my game.
Godzilla Blitz
08-15-2004, 10:19 PM
15 August 2004
Not much free time today, but managed to get halfway through Lesson 8 in Step by Step. Learned about using multiple forms in one program (kind of understood this already) and basic printing commands.
All in all, I’m surprised at how flexible and logical all this has been so far. I come from a linguistic background; human spoken languages are filled with exceptions and special cases that require brute memorization to master. By contrast, programming languages are straightforward, without exceptions. Total time: 30 minutes
Grand total: 6 hours and 45 minutes
Godzilla Blitz
08-15-2004, 10:21 PM
Craig: Thank you for the tip. I will definitely try that when I get to testing a combat system. I think for the first time through I am going to make a basic combat system, then gradually add pieces to it.
EagleEye: Thanks!
Always wanted to see a game like that GB. I wish you the best of luck and will be following along.
sachmo71
08-16-2004, 09:43 AM
Yes, I'll be beta tester number 1, whenever that happens. :D
Godzilla Blitz
08-16-2004, 10:22 PM
16 August 2004
Messed around this afternoon looking for artwork ideas on the net and creating a rough splash screen (http://home.comcast.net/%7Emwsmart/PitFighterSplashv0.1.jpg) for the game. Mostly just trying to get a feel for the mood of the game.
Also did a name check on the name “Pit Fighter” and found that it’s already been used for a game, so I’ll need a new name. Ideas are welcome! Gladiator would work well, but that one is clearly taken, as is Gladius and Coliseum. One issue that I’ll want to consider is how closely I want to follow the history of gladiator fighting in <st1:city w:st="on"><st1 ="">Rome</st1></st1:city>. I don’t know if it’s better to loosely tie the game to the historical backdrop of <st1 =""><st1:city w:st="on">Rome</st1:city></st1>, or whether to break from that theme altogether and set the game in more of a fantasy setting.
Tying the game closely to actual Gladiator fighting would most be a bad idea, as apparently the death rate in contests was ferociously high, with the winner simply continuing on to fight the next combatant, etc., until nearly everyone was dead.
Time: 1 hour
This evening I finished Chapter 8 in Step by Step. Learned some basic information about Error Handlers, which made sense but I don’t understand it well enough to use it correctly yet. The book did a superficial job with this, and I’ll need more information when it comes time to put error handlers in a real program. Up next is Chapter Nine, which covers adding graphics and artwork to a program.
Time: 30 minutes.
Grand total: 8 hours and 15 minutes.
Godzilla Blitz
08-16-2004, 10:27 PM
Bee: Thanks for the encouragement!
Sachmo: Thanks! I'll start a list! Not sure I'll ever get that far, but this would definitely be the place to recruit beta testers.
sachmo71
08-17-2004, 08:20 AM
Blood for the Masses
We who are about to die
Gladiator Mogul :D
Sand and Blood
For Glory and Freedom
Godzilla Blitz
08-17-2004, 10:01 PM
17 August 2004
Had some time today…
Started & Completed Lesson 9 in Step by Step. Learned about graphic buttons, drag & drop, and basic animation. Useful stuff, and easy to understand. Good progress.
Conducted a survey on the game theme, and received a lot of helpful information. Based on the results and ideas, I’m going to go with a basic Roman setting to start with, but will consider adding a “Fantasy Rome” setting if I can get the basic game to work well. Will try another survey tomorrow to try and brainstorm some possible game names.
Went to Borders and looked through their programming books. Discouraging. The game programming books were mostly for graphic-intensive C++ games, which doesn’t help me, and the content was far over my head. The game AI books were either extremely difficult for me to understand, and/or relating to issues (pathfinding, etc.) that I won’t need to deal with in a text-sim. The game design books were either too theoretical to be of much help, or aimed once again at graphic-intensive games. The game math books were mind-boggling. I realized how far I have to go.
Spent a little time tweaking the splash screen to get a better color and texture.
Found a good forum for VB Game Programming. Learned about file paths and reading from text files. Helpful.
Spent a little time this evening planning how I’m going to attack the programming for the game’s combat. Basically, I’m going to try and develop it in a series of stages…
Stage 1
Actions
Attack (Desperate, Aggressive, Normal, Cautious, Feint)
Defend
Rest
Attributes
Health
Energy
Strength
Accuracy
Once I get this working, I’ll add the following in subsequent stages: weapons; armor & shields; body part specific damage, more complex attributes (concentration; morale), and aiming attacks; weapon specific attacks (jab, swing, overhead); stances (kneeling, prone, standing); distance & ranged weapons; unique actions (throwing sand); broken weapons & armor.
First I need to write some routines that can generate a fighter and his attributes, and design a basic fighting screen. I think I know enough to get started on this part now.
Not a bad day today, the trips to Borders withstanding.
Total time: 4 hours.
Grand total: 12 hours and 15 minutes.
Godzilla Blitz
08-17-2004, 10:08 PM
Bee: Thanks! I've changed it some today, but am not quite happy with it yet. I'll put up a new one once I decide on a game name.
Sachmo: I like Sand & Blood. I'm going to solicit names tomorrow though, and see what the powers of FOFC can come up with. It's time to pick the name.
Vince
08-17-2004, 10:59 PM
You're coming along great so far! I'll volunteer to be Beta Tester #2 ;)
Really looking forward to what comes out of this.
Godzilla Blitz
08-18-2004, 10:44 PM
18 August 2004
Started & Completed Lesson 10 in Step by Step. Learned about modules, functions, and sub procedures. Kind of understood the basics of these things from reading other stuff, but the content was helpful to clarify details. Tomorrow’s lesson is on arrays and collections. Looking forward to that one.
Started to lay out an initial combat screen, but got thoroughly confused with how to do this so that it displays properly at different resolutions. Frustrating stuff. With a lack of good information on how to do this, I think I’ll just lay it out to make sure it looks good at 800x600. The consensus seems to be that going up in resolution doesn’t create much of a problem. If anyone could direct me to information on how to resize controls on a VB form for different resolutions, I’d be grateful.
Lots of suggestions for a game name, but nothing really jumps out at me at the moment. Got to sleep on this one.
Total time: 2 hours.
Grand total: 14 hours and 15 minutes.
Godzilla Blitz
08-18-2004, 10:46 PM
Vince: Thanks! I'll add you to the list! I'm curious to see what ever becomes of this as well.
I must say that this has been a lot of fun so far. Reading back over the past week, I can see that I’ve made progress. Confidence-wise, it’s been a mixed bag. At times I feel like I can do this, and at times I feel like I lack the knowledge to be even attempting this. I have to keep myself from getting discouraged when I bump into programming problems for which I don’t have the ability to solve yet. Got to keep my head focused on the problem directly in front of me, not the problem two months down the road. If I can keep going, one step at a time, I have to believe I can do this.
GoldenEagle
08-18-2004, 10:54 PM
Started to lay out an initial combat screen, but got thoroughly confused with how to do this so that it displays properly at different resolutions. Frustrating stuff. With a lack of good information on how to do this, I think I’ll just lay it out to make sure it looks good at 800x600. The consensus seems to be that going up in resolution doesn’t create much of a problem. If anyone could direct me to information on how to resize controls on a VB form for different resolutions, I’d be grateful.
*Geek Talk Alert*
Do a search in your VB help for mapping modes. In VC++, I can change the coordinate pixes to logical pixels which fit the screen no matter what the screen resolution. The default mapping mode is probably MM_TEXT, but you can may can change it.
VPI97
08-18-2004, 11:00 PM
If anyone could direct me to information on how to resize controls on a VB form for different resolutions, I’d be grateful.You can do something simple like this:
Private Sub Form_Load()
For Each ctlControl In Form1
If TypeOf ctlControl Is TextBox Then
.Width = (Screen.Width / 10)
.Height= (Screen.Height / 10)
End If
Next ctlControl
End Sub
Which loops throught all text boxes on the form and makes them all 10% the size of the screen. Modify to make it do what you want.
VPI97
08-18-2004, 11:09 PM
*Geek Talk Alert*
Do a search in your VB help for mapping modes. In VC++, I can change the coordinate pixes to logical pixels which fit the screen no matter what the screen resolution. The default mapping mode is probably MM_TEXT, but you can may can change it.VB doesn't manage it automatically...you can determine screen size, but any changes to positioning or dimensions have to be done manually (or by a third party control)
sabotai
08-18-2004, 11:46 PM
GB,
Books that will help with creating a text sim...
Well first off, we know you won't be doing anything really graphical, so forget any book with the word "OpenGL" or "DirectX" in the title. :D
Ok, seriously, most game books you will find will deal with graphics and audio and such and such. For you, I would stick with books that generally improve you VB skills. I use C++, not VB, so I can't help you there. (But think I'm good at general design and programming topics)
One thing you need to figure out is if you'll be using a database to store your data or using binary and/or text files. If it's databases, you should grab a book on that (if the intro book doesn't go into that). If it's binary, then whatever intro book you have should be sufficient.
As far as programming the appearence (interface), the intro book should be good enough. Maybe grab a more advanced VB book.
As for AI, this is going to be a simple text sim (sounds like it will be), so you really don't need an AI book. Straightforward if...then and case statements to determine actions and team management should be fine. Nothing advanced (or even beginner like) is really needed.
Data Structures for Game Programmers is a good book to have. But take this as a warning. It uses C++ and it uses something that I'm pretty sure is not used in VB (templates) to code and demostrate the structures. I'm not sure if you would be able to follow it. But the author does a good job os using drawings and tables to explain the structures and how they work. Next time you are in a book store, look through it, read the first chapter and see what you think. $50 is a lot to put down on a book that you may not use/understand so I'm just warning you with that one. (I have about 5-6 $50+ books I have yet to even read more than 2 lines of....I could use that $300 right about now. :) )
And that's going to a hurdle. Most game programming books out there are written in C++ and are for graphical games. Even if they aren't specifically for graphical games, they're in C++. Game Programming Gems and AI Game Programming Wisdom are two GREAT series of game programming books. A LOT of the stuff is not about the graphical part of the games. However, a lot of articles are intermediate-advanced topics and use C++.
There really isn't much out there for the text sim programmer specifically. At least one at your stage anyway. What I would suggest to you is to stick with the VB books, ones that deal with application developement so you can learn the ins and outs of VB itself.
Trust me, it's not the "game programming" that's the bitch when it comes to game programming. It's getting it to the point where you start doing the "game programming" that's boring and the most work intensive. (like programming the interface, programming the file I/O, programming the basic framework of the application, etc. etc. You won't be spending much time on the "fun" stuff like AI. :) ) So you're going to want to know VB inside and out before jumping into more advanced stuff so that doing the legwork and foundation building (which, in VB, is far less than VC++) doesn't take a long time and you can spend more time on doing the cool stuff (the stuff people will actually notice in a game).
I hope my much longer than intended rant helps on some level.... :)
sabotai
08-18-2004, 11:48 PM
VB doesn't manage it automatically...you can determine screen size, but any changes to positioning or dimensions have to be done manually (or by a third party control)
When I used Delphi, it was the same way. I always just designed the forms for 640x480 in mind. (This was several years ago. :) ).
AStott
08-19-2004, 12:57 PM
Oh, oh! Name a variable after me, ok?
:)
Well, how else can we manage to make this dynasty interactive.
Then you can do writeups that explain what "my" variable did in your latest coding session. If you could, make me a global variable. That way a get a little more action...
Godzilla Blitz
08-19-2004, 03:01 PM
VP197, Golden Eagle: Thanks for the help! Regarding the code that changes the size of the controls to a fixed% of screen size, wouldn't I still have issues with font sizes? For example, wouldn't a 10-point font that looks good in a text-box (sized at say 10% of a particular screen) at 800x600 be too small to look good at a high-resolution setting? And wouldn't the same issue arise with text for any labels, etc., that are on the form?
Sabotai: Thanks for taking the time to write all that up. Extremely helpful, and I think it will save me a lot of time. I appreciate it. Some comments...
One of the 15 books I looked through at Borders was that Data Structures for Game Programmers. It did seem thorough, but as you hint at, I think it was a bit beyond me, and the use of C made it more difficult to understand.
Which leads me to another point you make. I need more basic programming skills. When I go to find an answer to something, and find code that hints at how to solve it, I usually have no clue what the code is doing.
I'll take a look for those Game Programming Gems and AI Game Programming Wisdom books. I may have looked through one of them at the bookstore, but I don't recall it off hand.
I was happy to see your comment wondering how I was going to store the data in the game. I was wondering this same question the other day, and have been looking forward to the next three chapters in the VB book (databases, arrays, and text processing). The fact that I was wondering the same thing as you asked makes me think that maybe I'm on the right track here. I think I'll know more in the next week, but I was thinking that I would use a little bit of each. First names and last names for randomly generated characters I was thinking of storing in text files. Weapons and armor (which will most likely be fixed) would probably make more sense to store in a database to read into the game? While I'm planning to randomly generate the fighters in the game world, I'm also thinking of adding certain historical figures to the game and would probably want to store their stats in a database file. Although the early versions of the game will start out much smaller, I'm guessing that the final version of the game world would need about 500 fighters in it, with a hundred or so characteristics for each one. I have no idea how to store, save, and manipulate all this information. Array? Database? Text file? No clue here.
Lastly, I'm actually not finding the general programming stuff that boring yet. The issues are like puzzles to be solved, and searching for and finding the solutions have been fun. That may change, but right now I'm enjoying the quest, even with its frustrations.
Again, thanks for all the input.
AStott: You can be lblStrHum. Your initial value will be randomly generated, between 1 and 100.
Sabotai: I'm guessing that designing for 640x480 would be a bit low now, correct? I can use 800x600 as a reasonable minimum?
Franklinnoble
08-19-2004, 03:09 PM
Awesome thread, GB... makes me think I need to get off my ass and get back to work on my own game idea...
sabotai
08-19-2004, 05:39 PM
One of the 15 books I looked through at Borders was that Data Structures for Game Programmers. It did seem thorough, but as you hint at, I think it was a bit beyond me, and the use of C made it more difficult to understand.
Which leads me to another point you make. I need more basic programming skills. When I go to find an answer to something, and find code that hints at how to solve it, I usually have no clue what the code is doing.
I'll take a look for those Game Programming Gems and AI Game Programming Wisdom books. I may have looked through one of them at the bookstore, but I don't recall it off hand.
I'd wager a bet that if you did open up one of those books, your head would have exploded. :D
But seriously, the Gems and Wisdom series are most likely out of your league, however, for every 4-5 "expert" articles (they're books of many individual artices), there is 1-2 good "beginner" articles. Next trip to Borders, find one and open it up and look at the table of contents and you'll see what I mean. Good reading once you get far enough along.
As for the Data Structures book, you reall should have one. Not the one I said (since it's in C and uses templates), but I'm sure there is a VB Data Structures and Algorythm book out there.
I just went to amazon and foudn this one
http://www.amazon.com/exec/obidos/tg/detail/-/0471242683/qid=1092954048/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/002-7600172-4091247?v=glance&s=books&n=507846
Only $12 used. Now, not suggesting this one exactly (it has good reviews but I don't have it), but you really do need a book that covers lists, arrays, stacks, trees, recursion, sorting, etc. etc. Beleive me, it'll be one of your most used books.
I was happy to see your comment wondering how I was going to store the data in the game. I was wondering this same question the other day, and have been looking forward to the next three chapters in the VB book (databases, arrays, and text processing). The fact that I was wondering the same thing as you asked makes me think that maybe I'm on the right track here. I think I'll know more in the next week, but I was thinking that I would use a little bit of each. First names and last names for randomly generated characters I was thinking of storing in text files. Weapons and armor (which will most likely be fixed) would probably make more sense to store in a database to read into the game? While I'm planning to randomly generate the fighters in the game world, I'm also thinking of adding certain historical figures to the game and would probably want to store their stats in a database file. Although the early versions of the game will start out much smaller, I'm guessing that the final version of the game world would need about 500 fighters in it, with a hundred or so characteristics for each one. I have no idea how to store, save, and manipulate all this information. Array? Database? Text file? No clue here.
Well, I use binary files. Basically what they are is a stored file of what's in memory, essentially. I know Jim also uses binary file. Arles, however, uses a database to store all of the information. It's really just a preference. Binary files take much more legwork, but you have more control over them and you don't have to worry about the user having the most up to date .dll files and such.
Also, I'm pretty sure VB makes it easy to access a database (I took a class in it at college). MUCH easier than C++ anyway. :) So going the database route probably makes a lot of sense in VB. (If I'm not mistaken, Puresim made by Shaun Sullivan and TPF and TDCB made by Arles both were coded in VB and use databases. And since I know Shaun's "real job" involves coding in VB also, it's obviously not a mistake to do it that way.)
Also, like I said, binary file i/o takes more legwork, so doing it the database way will take a lot less time. I use binary files because I'm a control freak. :D
EDIT: I use text files for names to be used. Like just having a list of names the program reads in and picks a name at random. But that's it. I do not suggest storing data in text files.
Sabotai: I'm guessing that designing for 640x480 would be a bit low now, correct? I can use 800x600 as a reasonable minimum?
Yeah, I'd say designing for 800x600 is reasonable now. But you have to remember not to make the forms 800x600. This will take up the entire screen of those using 800x600. Kind of defeats the purpose of having it in a window. :)
Making them 800x600 will have the form covering the taskbar, causing the user to have to push the form off screen just a bit. It's an annoyance. Instead, design you largest forms at slightly smaller sizes. Like 750x525. or something lik that, so you leave room for the taskbar and on the edges so it does take up the whole screen.
Godzilla Blitz
08-19-2004, 09:42 PM
19 August 2004
Started & Completed Lesson 11 in Step by Step. Learned about collections, which was extremely helpful in thinking about how to resize controls and making sense of VP197’s syntax. Also learned the basics about arrays, which I pretty much understood from reading other stuff last week. Getting confused about how one would go about displaying these nicely on screen (for rosters, lists of attributes, etc.), but I won’t worry about that yet.
Coliseum arrived yesterday and I spent 30 minutes getting a feel for how that game works as a comparison. Fun game, but very different from what I am looking to make.
Narrowing in on a game name. Maybe tomorrow.
Ordered the book Ready-to-Run Visual Basic Code Library: Tips, Tricks, and Workarounds for Better Programming, and will look to pick up Ready-to-Run Visual Basic Algorithms in the near future. Both by Rod Stephens.
Got lots of help here with various issues. Confidence is high again.
Tomorrow’s lesson deals with text strings. As an intermediate project, I might try and create a small program that generates Cryptograms. My mom loves those things, and I was thinking it would be neat to make a small book of cryptograms about our family and give it to her for her birthday. Glancing over the lesson, it looks like I'll have just enough knowledge to figure this out, but I'll have to think through how to shuffle 26 letters and reassign them randomly to a spot on an array. Or perhaps mixing up the letters and then placing them in sequence would be better. Something to consider. I think I can do this though, and it would be good practice for me.
Total time: 2 hours.
Grand total: 16 hours and 15 minutes.
Godzilla Blitz
08-19-2004, 10:00 PM
FranklinNoble: Thanks! Glad you like it. As I mentioned above, the credit should go to you for the idea. It's been nothing but fun so far. Sitting down for ten minutes at night and considering what I've done during the day for this project keeps me focused, and the help that people have posted here has been awesome. I think it's very easy for beginners at something to get lost and waste hours and hours studying the wrong things, or banging heads trying to solve something better put off until later, and the guidance and solutions that people are putting up here I think will help keep me from getting really lost.
Sabotai: Thanks for the guidance on the books. I think I will pick that one up you found. CraigSca recommended the author earlier in the thread, so I was looking at that exact book earlier in the week. I thought I might need it later in the project, but it sounds like I might need it sooner.
Thanks as well for the info on the files. Sounds like storing data in either binary files or a database would work fine. I will avoid storing the info in text files. Even if I went with a database storage system, I would guess I'll still need a binary file or two to store a lot of a saved game's miscellaneous information? I'll see how I feel about the whole thing after I read the lesson on managing databases. From glancing at it though, it seems that VB makes it pretty easy to manipulate databases. One of my side goals would be to make the game as moddable as possible, and I'm guessing that storing the information in a database would make doing that much easier for the end user?
And thanks one more time for the info on tightening up an 800x600 window to allow for the taskbar, etc.! I would have only figured that out after I spent hours making a few screens, and then had to redo them all. One thing...You mention going to 750x525. Would there be any importance to maintaining a 4:3 aspect ratio, though?
sabotai
08-19-2004, 10:58 PM
One of my side goals would be to make the game as moddable as possible, and I'm guessing that storing the information in a database would make doing that much easier for the end user?
Not really. Either way would work about the same, as long as you give out the file formats for the binary files. But as long as you leave it un-passworded, the database would be good.
You mention going to 750x525. Would there be any importance to maintaining a 4:3 aspect ratio, though?
No, they were just numbers I pulled out of the air. Coincidence that they laid out in 4:3 aspect. :D
Godzilla Blitz
08-20-2004, 11:56 AM
20 August 2004: Morning
Drank too much Coke with dinner last night and couldn’t get to sleep, so I spent an hour from 1 a.m. to 2 a.m. putting together lists of Latin names. Now have an Excel file with over 400 male first names and over 1000 male last names. From this I can generate a list of female names should I go that route. Historically, there were female gladiators.
Still not sleepy, I spent another hour brainstorming some of the details on how I want the combat system to work, and then brainstorming a list of “world changing” events. Basically, I hope to eventually incorporate optional random events into that game world that can impact the game globally, so that every future plays out slightly different. (I believe this was originally an idea of Honolulu Blue.)
I’ve got a list of about 20 things now, but here are some examples:
* Laws that allow/disallow female gladiators.
* Wars that force some gladiators to go off to war for a number of years. If they come back, they have gained quite a bit of experience, but there is always the chance that they could fall in battle.
* Abolishment of slavery
* Special Tournaments
* Disease and plague that sickens or kills gladiators.
* Laws that make certain types of matches/actions/weapons illegal or more prominent.
* A gladiator guild that will change various regulations governing arena combat.
* Weapon, medical, and metal advances that influence gameplay.
If anyone has any other ideas for such events, feel free to add them here. Some of these obviously will be difficult to do and won’t make it into the game right away, but some of them would be straightforward changes that should be easy to add. Ideally, I want each career to play out slightly different. In one game, you could have female gladiators, penalties for killing other gladiators in the ring, improved tempered weaponry, and frequent wars that draw your fighters away from the sport. In another game, you could have slavery abolished, generally weak weapons, and an emperor that stresses matches to the death. In a perfect world, I’d like to be able to give the gamer the option to select which random events he wants to have as potential events in his game.
Finally, about 3:30 a.m., I fell asleep, then it’s up at 5:50 a.m. to take care of my daughter. Eek.
Reminder to self: NO COKE WITH DINNER. EVER.
Godzilla Blitz
08-20-2004, 11:57 AM
Sabotai: Thanks!
CraigSca
08-20-2004, 12:27 PM
GB,
One thing to keep in mind...using databases with VB is easy and convenient to the programmer (especially the searching and sorting aspect). However, from a personal standpoint I try to use databases as little as possible in order to increase speed. When I originally was program Franchise Baseball keeping all player info in a database it took about 75 seconds to play a day of games. In my eyes that was unacceptable. I re-programmed the entire thing keeping everything in memory and reduced that time dramatically - to 5 seconds. Just something to keep in mind that databases are great, but if they are thrashed your performance will suffer.
Godzilla Blitz
08-20-2004, 10:55 PM
20 August 2004: Afternoon
Started and completed Chapter 12 in Step by Step. I think I learned about text files, but I was so sleepy that I am going to have to read this chapter again.
Hacked around trying to get the text files for the Latin first and last names read into Visual Basic. Success! Tomorrow or Sunday I think I’ll try and write some code that reads those two files and creates a set of 500 random full names. Baby steps.
Total time: 3.5 hours hours.
Grand total: 19 hours and 45 minutes.
Godzilla Blitz
08-20-2004, 11:01 PM
Craig: That is interesting. Easy or fast, eh? I wonder how much of an issue speed will be if I have only 500 fighters in the game world. They will likely have a lot of attributes, stats, etc., to go with them, though.
I think I need to study more before I'll even have a clue what to do with this one. I'm thankful for the heads up, though. I'll be keeping this stuff in mind as I work on this over the next couple of weeks.
CraigSca
08-20-2004, 11:31 PM
GB,
Don't fret, as there are ways around this one (i.e. read in all the fighter data from the db at the beginning of the fight and write it out at the end of the fight). Just don't constantly read/write to the database throughout each fight, that's where you'll run into significant slowdowns.
Godzilla Blitz
08-21-2004, 11:58 PM
21 August 2004
Sleep is a weapon. Feel much better after getting eight hours of sleep last night.
Have selected the game’s name: Libertas Morte (Freedom in Death). Just in case something ever becomes of this, I registered both domain names: libertasmorte.com & freedomindeath.com.
I’m happy with the progress I’ve made through the Step by Step book so far, but I was starting to feel like everything was starting to get mixed together. Instead of working forward today, I decided to try and tackle my first mini-goal of writing the code to give random names to randomly created fighters. Basically, I wanted to read a first name and last name text file, randomly select a name for each from the files, concatenate them, and save them in a names location in an array. Then repeat this 499 more times to get a 500-fighter world. Well, it took 3 hours and much trouble-shooting, but I was able to get the job done! The game now can now successfully assign random names to fighters. We have some code! Yahoo! All in all, it was three hours well spent. It forced me to apply a lot of the concepts covered in the latest five lessons. I feel like I have a much better grasp of the content now.
Short-term goals:
1. Do Lesson 12 in the book (on databases).
2. For the 500-fighter world, generate and assign to fighters the attributes for Stage 1 combat. I think I know how to do this already, so I’m hoping this won’t be so difficult.
3. Get a clue about how to display on screen the information in an array.
Total time: 3 hours hours.
Grand total: 22 hours and 45 minutes.
Godzilla Blitz
08-22-2004, 12:02 AM
CraigSca: Thanks. I don't think I know enough to be worried about anything yet, so no fretting yet on this end. The more I learn, though, the more I realize how much I don't know.
skrath
08-22-2004, 01:50 AM
Best of luck, GB. I feel your pain :) I even know what it's like to make a fighting game - I hacked up a text-based fighting sim back in 2000 for someone (the engine was a fighting only, but they wanted it based on Star Wars - so there were lightsabres and all that jazz), but they never paid me :( Great idea for a dynasty too. I'll definitely be following along.
Marc Vaughan
08-22-2004, 05:02 AM
With the actual fight itself I'd suggest looking into as many RPG's as posssible and seeing how they do their fight sequences (Runequest in particular might interest you - its rather bloody with limbs being hacked off and might suit this sort of game, it also incorporates blocking etc. which makes it more strategic .... allowing Ducks as combatants is optional (you'll understand when you read the rule book).
Vince
08-22-2004, 05:43 AM
Congrats on the name generator...bet it felt good to get that done :)
I remember my CS days, getting the code to actually do what you wanted it to do was a great feeling :)
Godzilla Blitz
08-22-2004, 11:38 PM
22 August 2004
Spent some time trying to figure out what to use to display the data for fighters on the program’s various forms. Should I put it in a listbox, a database, a Flexgrid, or just manually print to a specific spot on the form? Spent some time reading about FlexGrids, which to my untrained eye, seem pretty helpful.
Worked to generate attributes for the fighters in the game world. Made up an attribute set for the simple combat model. That went quickly, so I added ID numbers (for computing purposes) and ratings. Made a FlexGrid to display all this information, and got it to print correctly. It doesn’t look good yet, but our 500 fighters now have a scouting rating, health, energy, strength, and hand-to-eye coordination.
Next up: Work to align text and columns in the flexgrid better. Work to bring the flexgrid to life by allowing someone to click on a cell in the grid and have it select the whole line. Work on getting the data to sort if you click on the column headers.
At some point this week I’ll get back into the textbook.
Total time: 2 hours.
Grand total: 24 hours and 45 minutes.
JonInMiddleGA
08-22-2004, 11:54 PM
freedomindeath.com.
Umm ... if the Dept. of Homeland Security gives you a call, just send 'em here for references :D
Godzilla Blitz
08-23-2004, 12:03 AM
skrath: Actually, as silly as it sounds, I enjoyed it. I didn't really get stuck anywhere and always felt like I was making progress.
Marc: That is an excellent idea. Thank you. I've played a fair amount of RPG's on the computer, and have a basic understanding of D&D rules, but am not familiar with RuneQuest. Is this the one:
hxxp://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&rd=1&item=5916070937&ssPageName=STRK:MEWA:IT
I will try to find a copy somewhere. I found a site about the game, and it sounds like it's had a long and tumultous history.
One of the things that I think will be challenging to do well in this game is the combat. With only one-against-one (for the near future anyway), it will be tough to make the combat into more than just a number-crunching.
Vince: Yeah, it did feel good to get the code to do what I wanted it to. I must have spent 10 minutes after I was done just generating lists of fighter names to see what kind of names showed up. Now that I've got attributes to go with them, and star-ratings, etc., it's even more fun.
Godzilla Blitz
08-23-2004, 12:08 AM
Dola...
Umm ... if the Dept. of Homeland Security gives you a call, just send 'em here for references :D
You know, that actually occured to me, then I figured, naw, that would be silly.
Now that it's occured to someone else, I'm wondering if I maybe I should expect FBI agents at my door anytime soon. :)
Eilim
08-23-2004, 03:50 AM
With the actual fight itself I'd suggest looking into as many RPG's as posssible and seeing how they do their fight sequences (Runequest in particular might interest you - its rather bloody with limbs being hacked off and might suit this sort of game, it also incorporates blocking etc. which makes it more strategic .... allowing Ducks as combatants is optional (you'll understand when you read the rule book).
I have to agree with Marc on this one. I've depended heavily on RPG resources on the few little games I've made. My favorite source for material is www.rpgnow.com . Besides having alot of products dirt cheap and downloadable, they also have numerous free game rulesets and supplements available. Occasionally even the commercial products will be available for free download for short promotions.
I've picked up a bunch of "generic" game rulesets from the site that have really helped when planning/designing my own custom systems.
sachmo71
08-23-2004, 08:52 AM
With the actual fight itself I'd suggest looking into as many RPG's as posssible and seeing how they do their fight sequences (Runequest in particular might interest you - its rather bloody with limbs being hacked off and might suit this sort of game, it also incorporates blocking etc. which makes it more strategic .... allowing Ducks as combatants is optional (you'll understand when you read the rule book).
Isn't this the game that King of Dragon Pass is based on?
EDIT: I checked it, and it is. Man was this a fun game! http://www.a-sharp.com/kodp/
Marc Vaughan
08-23-2004, 09:03 AM
Oh another RPG with a bloody combat system was 'Swords and Sorcery' - great combat system for that one ... rather involved when playing with dice, but would work fine on a computer imho ...
Marc Vaughan
08-23-2004, 09:03 AM
PS. Yes I know I had a wasted childhood ;)
sachmo71
08-23-2004, 10:47 AM
Rolemaster has a very detailed combat system. Hours are usually lost on a single encounter.
Godzilla Blitz
08-23-2004, 01:56 PM
Thanks for all the suggestions on RPG's, especially those with detailed combat. I'll try to make it a point to take a look at as many of them as I can.
I can see it now...
I'll sit around in my office hacking away at RPG's, deducting the cost of the games as tax expenses, and telling my wife, "I'm hard at work, honey!" whenever she walks in and sees me playing. She is going to just love this one.
JonInMiddleGA
08-23-2004, 02:29 PM
I'll sit around in my office hacking away at RPG's, deducting the cost of the games as tax expenses, and telling my wife, "I'm hard at work, honey!" whenever she walks in and sees me playing. She is going to just love this one.
FWIW, it actually worked a lot better with my wife than it did with my CPA
:eek:
Godzilla Blitz
08-23-2004, 09:51 PM
23 August 2004
Sigh. First day off. Too busy at work. Hoping for a big day tomorrow.
Total time: None
Grand total: 24 hours and 45 minutes.
Godzilla Blitz
08-23-2004, 09:52 PM
FWIW, it actually worked a lot better with my wife than it did with my CPA
:eek:
:)
sabotai
08-23-2004, 09:52 PM
23 August 2004
Sigh. First day off. Too busy at work. Hoping for a big day tomorrow.
Slacker. ;)
(j/k. I know how you feel. You need to take an occasional day off or you'll eventually go crazy.)
Godzilla Blitz
08-23-2004, 11:36 PM
Slacker. ;)
(j/k. I know how you feel. You need to take an occasional day off or you'll eventually go crazy.)
Speaking of slackers, how's that alternate reality FOF dynasty coming along? ;)
I'm just kidding too. I know how hard dynasties can be to keep going.
sabotai
08-23-2004, 11:49 PM
Speaking of slackers, how's that alternate reality FOF dynasty coming along? ;)
Not mention my boxing recreation, baseball recreation and best all-time boxer tournament...All dynasties (plus many ideas I have) I want to do, just not enough time. Considering I want to spend much time programming my tennis sim.
Oh, and BTW, I never denied being a slacker. In fact, it describes me quite well. :D
Godzilla Blitz
08-24-2004, 09:30 PM
24 August 2004
Worked through Lesson 13 in Step by Step. Learned the basics of database management. Straightforward stuff, but I think I’ll need to practice using it to feel more confident in how to use it.
Spent some time researching how best to display the fighter information (stats, attributes, etc.) on the various forms of the program. Basically, I’ve narrowed it down to either listboxes (listviews?) or FlexGrids. No idea which one is better/faster. Any input would be appreciated if anyone out has experience with these things.
Looks like this week is going to be busy work-wise. Not going to be able to make the progress I did last week, but will try to do a bit a day.
Total time: 1 hour
Grand total: 25 hours and 45 minutes.
Godzilla Blitz
08-24-2004, 09:31 PM
Sabotai: Oh, you were the one doing the tennis sim. I meant to download the program you had up a few weeks ago. How is it coming?
CraigSca
08-24-2004, 10:07 PM
Really, it depends on what you're trying to show, GB. However...flexgrids allow you to click on a column to perform a sort, and I think allow you to insert images into cells. So, they give pretty good flexibility. You might even look into some of the vendors out there that offer customer controls. Some of them are pretty cheap (while others are outrageously expensive) and can add a little "wow"-factor to your controls.
CraigSca, GB, some flexgrid are free, wait a minute, I have it posted over at hattrick by one of the CHPP developpers (for those ignorant about hattrick, check the hattrick forum or www.hattrick.org (http://www.hattrick.org), this is an online soccer management game with 400k+ users worldwide)
one that does not appear gratis : http://www.glacialcomponents.com/ProdDetail.aspx?pid=GlacialList
a free one : http://www.vbaccelerator.com/home/VB/Code/Controls/index.asp (The S-Grid 2.0 Control )
My 0.02$ contribution to your project
sabotai
08-25-2004, 03:27 PM
Sabotai: Oh, you were the one doing the tennis sim. I meant to download the program you had up a few weeks ago. How is it coming?
Progressing kind of slow right now. Doing a bunch of tedius inputting of data...boring. :)
hoosierdude
08-25-2004, 06:18 PM
I know that feeling. Following this with interest. I thought I was the only one that struggled with some of these things. Inputting of data... ah...the bane of my existence. :)
Godzilla Blitz
08-25-2004, 11:15 PM
Craig: I think I'm going to stick with the FlexGrids for the moment, but keep looking at other possibilities. Thanks.
Alf: Thanks. I took a quick look today, but will take a closer look soon. I didn't realize there were so many custom controls out there.
Sabotai: Tennis player data?
hoosierdude: It seems as if there are a lot of programmers here! Glad you're finding the thread of interest.
Godzilla Blitz
08-25-2004, 11:18 PM
25 August 2004
Damn it. Another shutout today. Too many meetings. Too much work. Too little sleep.
Things are looking to be tough over the next month.
Got to make a committment to spending at least 30 minutes a day on this, at least 6 days a week. Can't lose the ground I've earned so far.
It's clear I need some...
TOTAL CONCENTWATION.
sabotai
08-27-2004, 12:54 AM
Sabotai: Tennis player data?
Tournament structures and the like. Lots of different types, money payouts, point breakdowns, qualifying round size, doubles bracket size, etc. etc. etc.
Godzilla Blitz
08-29-2004, 09:16 PM
29 August 2004
Life is crazy busy now, but I am trying not to lose my momentum here.
Spent 30 minutes working through half of Lesson 15 in Step by Step. Learned about OLE objects and started on Automation using Office programs. None of this is immediately relevant to the game, but perhaps can be useful later.
Total time: 30 minutes.
Grand total: 26 hours and 15 minutes.
GB, you might want to check this thread (or contact gstelmack), there are some nice VB "free" controls that he uses : http://dynamic2.gamespy.com/%7Efof/forums/showthread.php?t=21296&page=3&pp=50
Cap Ologist
09-08-2004, 08:36 PM
How's this coming? I know you've been busy, but are you still making any progress? I've enjoyed reading this and it helped me get started with Visual Basic.
Godzilla Blitz
09-08-2004, 08:50 PM
Alf: Thank you for the info. I've just taken a quick look at the thread, and will find some time to read through it and take a look at the programs/controls.
Cap: I'm glad to hear that this helped you get started with VB. Every day for the past week or so I've written "Work on game programming: 30 minutes" into my day planner, and every day I've failed. Sigh. I've come to the realization that I've just been too busy these past few weeks. (I teach in the mornings and getting the school year running is always busy, plus the work I do out of home has been busy as well) By next Monday I hope to have my life back in order to the point where I can devote some steady time to this. That might be a bit optimistic, but September 24 should be the latest when my life will settle back down. So, I guess the short answer is "It's not coming well at all, but I hope to get back in gear soon."
Cap Ologist
09-28-2004, 09:03 PM
Has life settled down any? I hope you keep plugging away at this.
Fouts
10-08-2004, 02:18 AM
I'm looking to learn some programming and see you referenced this book - Microsoft Visual Basic 6.0 Professional Step by Step, Second Edition (http://www.amazon.com/exec/obidos/tg/detail/-/0735618836/ref=ord_cart_shr/104-2732754-6204733?%5Fencoding=UTF8&m=ATVPDKIKX0DER&v=glance).
Can anyone give me an opinion on purchasing this book? Also, do I need to buy anything else to start creating forms, etc.?
What I'm trying to do is write a program that tracks baseball statistics. Whether its importing from a .csv or just hand entering the data into a database, I want the program to be able to output the data into html pages (similar to catobase, but not for ootp).
Thanks for any help. I gotta start somewhere. :)
Godzilla Blitz
12-18-2004, 08:18 PM
18 December 2004
*Sheepishly returns*
CapOlogist has motivated me to try and get back to this. Spent 30 minutes today reading this journal to refresh my mind where I left off. Goal for the next week is to get back to the level of understanding I left off at in late August.
Wow, has it really been three and half months since I touched this? Yikes.
If anyone is still around, does it make sense to upgrade to VB Net?
Fouts: Sorry that I missed your earlier question regarding the book. The book you refer to is the book that I've been mainly using to learn VB 6.0. Overall, I've been very happy with it. It's a good starting point. You can always add more books later.
Total time: 30 minutes.
Grand total: 26 hours and 45 minutes.
hoosierdude
12-18-2004, 10:01 PM
If you are fluent with VB 6 , I would stay with that. The next version of .Net is good, but most of the PC's out there arent on the .Net framework yet, and some of what you do with version 6 you cannot do as simply or easily with .Net, stay with six for now.
Cap Ologist
12-18-2004, 11:34 PM
Woohoo! Welcome back. I'm sticking with 6.0 mainly because I got it for free and want to save the money right now.
sterlingice
12-19-2004, 10:47 AM
I dunno. I think after 30 minutes, you've barely gotten into the programming and your time is up. Perhaps set aside 2 nights a week (Tues/Thurs or something) and work for 2 hours those nights so you don't have that overhead every day and you spend basically the same time. That said, it's harder to set aside larger chunks of time, too, so maybe this is the best idea.
SI
Godzilla Blitz
12-19-2004, 10:49 AM
hoosierdude: Thanks. Sticking with 6 for now.
Cap: Thanks. Reading through this thread actually helped me remember a lot of what I was working on at the time I left off, so I'm hoping I can get back to where I was pretty quickly.
Trying to set aside 30 minutes a day to work on it, and hoping to put together a string of consecutive days. If I can make this a habit, I've got a chance. Have set aside time tonight for this.
Godzilla Blitz
12-19-2004, 10:59 AM
I dunno. I think after 30 minutes, you've barely gotten into the programming and your time is up. Perhaps set aside 2 nights a week (Tues/Thurs or something) and work for 2 hours those nights so you don't have that overhead every day and you spend basically the same time. That said, it's harder to set aside larger chunks of time, too, so maybe this is the best idea.
SI
SI, Thanks for the feedback. With kids and stuff, it's hard to set aside two hours on a regular basis, but I'm not planning on setting up a rule to stop after 30 minutes, either. If I keep going and work for a couple of hours, that would be fine as well. If this plan doesn't work, though, I might try longer chunks of time every other day or like you mention, a "two hours twice a week" plan a shot.
Godzilla Blitz
12-28-2004, 05:02 PM
28 December 2004
Started relearning the stuff I forgot since August. Spent 30 minutes working with Chapter 10 in Visual Basic Step by Step. Relearned material on standard modules and public variables.
Ordered Ready to Run Visual Basic Algorithms by Rod Stephens, based on the recommendations of a number of people that have posted here. Picked up a new copy from an Amazon book dealer for about $20 shipped.
Spent 15 minutes looking at the code that I wrote in August that generates gladiators, with names and basic characteristics. Wondered about how to best generate a fighter world with a good balance of elite fighters, good fighters, average fighters, and crappy fighters. Remembered reading a post (on FOFC, I thought) from Jim regarding how he generates such a balance in FOF, but couldn’t find it anywhere.
Total time: 50 minutes.
Grand total: 27 hours and 35 minutes.
Cap Ologist
12-28-2004, 11:11 PM
One way to generate gladiators is the use of random numbers. For example, you could generate a random number between 1 and 1000. If it's greater than 950, it's a really great one, greater than 800 but less than 950, it's good and so on.
Glad to see you are back at this. I've been out of town for the last week with family stuff and won't be back at my machine for another 2 days or so.
Godzilla Blitz
12-28-2004, 11:27 PM
Thanks. I'm hopeful I can get off a good run of consecutive days. If I get some momentum, I think I can get back into the swing of things.
One way to generate gladiators is the use of random numbers. For example, you could generate a random number between 1 and 1000. If it's greater than 950, it's a really great one, greater than 800 but less than 950, it's good and so on.
I think that was the gist of the post I read about levels of players. Up until I read that post, I was thinking that I would simply generate random stats within certain ranges and let the statistical odds produce exceptionally good and exceptionally bad fighters, but I'm thinking it would be better to run the fighter creation through a set of stages.
Stage 1: Determines the potential level of the fighter
Stage 2: Determines the total potential attribute points for that fighter based on his level
Stage 3: Assigns the points to various attributes.
I think this will give me greater control over the process and allow for easier tweaking to get the fighter world right. I think the only thing I'm not sure how to do would be to randomly assign the points from a total number of points to various attributes, but I don't think it will be too difficult.
______
I think the next thing I want to do is write down all the forms I'll need, and how the gameplay will flow. Everything is confused now, and I have no idea what forms I will need to get this to work.
hoosierdude
12-28-2004, 11:40 PM
Keep up the good work. I am also watching with keen interest. Good Luck!
sterlingice
12-29-2004, 08:54 AM
I'm curious if you've tried to find any other VB books. I've got a book on the basics and a little more but I've had the hardest time trying to find a decent book for "the next level" programming. I just get this impression that no programmer worth his salt wants to touch it so there's no O'Reilly (Programming not Learning) or Deitel/Deitel type book.
EDIT: I stand corrected- there is a learning/programming O'Reilly set but I've never run across them.
SI
Godzilla Blitz
12-29-2004, 10:01 AM
hoosierdude: Thanks!
SI: I haven't looked too hard for the type of book you're describing, but I haven't run into one either. I must have five or six books on VB now. Four are beginner-level books. One is Stephen's "Code Library". The other is the yet-to-arrive Stephen's "Algorithms" book. I have noticed that each of the beginner books that I have emphasizes different areas, and I'm thinking that I'll work through another beginning book once I finish this first one. I'll skip the stuff that is overly redundant and work on the stuff that this first book I'm using didn't cover in detail.
In have looked over the "What to do from Here" sections at the end of the few of the beginner level books, and I get a sense that once you've gotten the basics down, a common next step is to develop skills in certain areas (e.g., database management, application management), and there seem to be a number of books written on each area. One of the things I'm hoping to understand better as I finish this first book is what is the common skill set an intermediate programmer in VB should have; from there I might try to pick up a book or two for each skill that I think I'm interested in learning. Also, it seems that a lot of books say to get a good reference book, and almost seem to imply that once you know the basics, you can teach yourself a lot of the next level through the use of reference materials. Personally, I look at some of those reference books and get lost, but I'm still only halfway through the beginning book, so I'm hoping things get easier.
The Step by Step book that I'm currently using recommends Mastering Microsoft Visual Basic 6 (Microsoft Corporation, 1998) as a next step, but I can't seem to find it on Amazon.
Godzilla Blitz
12-29-2004, 11:35 AM
29 December 2004
Worked for an hour on a draft of the overall design of the game. I think this will likely change a lot as I move forward, but I think I now have a much better idea of how the game will look, what gameplay will consist of, and what forms are needed. The design follows, but it is a rough draft and hasn't been proofed or touched up to look perty. I hope to edit, refine, and fill in missing pieces tomorrow. I ran out of time to do more right now.
________
Libertas Morte Design Notes
Forms
Opening Form
Select New/Load/Quit/Save/Options
RESULTANT NEEDS: NEW GAME FORM/OPTIONS FORM
Main Form
What will the gamer do here?
1. He should be able to either view his stable here (if the info will fit on this screen) or have access to his stable from here. RESULTANT NEEDS: STABLE OVERVIEW FORM
2. He should be able to get to the tournament calendar from here. RESULTANT NEEDS: CALENDAR FORM
3. He should either be able to see his messages or be able to get to a message screen from here. RESULTANT NEEDS: MESSAGES OVERVIEW SCREEN or MESSAGES
4. He should be able to access the slave market from here. NEED: SLAVE MARKET SCREEN
5. He should be able to access the current game records page from here. NEED: GAME RECORDS SCREEN.
6. He should be able to contact the various other organizations in the game world (other stables, political bodies, trainers, etc). RESULTANT NEEDS: STABLE OVERVIEW FORM
6. He should be able to see an overview of his current game state from here. Financial information, game score, date, etc.
7. He should be able to click an “Advance Game World” button to move time forward. RESULTANT NEEDS: GAME PROGRESS INFO FORM?? (Question: How an I going to give the gamer the subsequent information that results when the game moves forward? Think about this.)
New Game Form (with options?)
What will the gamer do here?
1. He should be able to select the various characteristics of his new game. For example, game difficulty, unique rules options. RESULTANT NEEDS: None?
Stable Overview Form
What will the gamer do here?
1. He should be able to get an overview of the various fighters in his stable and other stables.
2. He should be able to click on a fighter and pull up the fighter’s info form. RESULTANT NEEDS: FIGHTER FORM
3. He should be able to get back to the main form.
Calendar Form
What will the gamer do here?
1. He should be able to get an overview of the various upcoming events in the game world.
2. He should be able to click on an event and pull up the event’s info form. RESULTANT NEEDS: EVENT INFO FORM
3. He should be able to get back to the main form.
4. He should be enter his fighters in events. (Question: How to allow access to fighter info without making this a jumble of two screens? Idea: Take a look at how Gallop Racer does this; this will be similar.)
Messages Overview Form
What will the gamer do here?
1. He should be to see a list of his incoming/outgoing messangers, and a title as to what their message is. (Idea: Make this like an email program so I don’t need a subsequent messages form. Top window has a list of messages. Bottom window contains the messages themselves. Idea: Take a look at FM2005’s system. This will be similar.)
2. He should be able to get back to the main form.
Slave Market Form
What will the gamer do here?
1. He should be able to see a list of available fighters in the slave market.
2. He should be able to click on the fighter to pull up the fighter’s individual form.
3. He should be able to buy slaves here.
4. He should be able to get back to the main form.
Fighter Form
What will the gamer do here?
1. He should be able to see a detailed report on his fighter. It should include:
A. All his current stats.
B. His fighting record and history.
C. His upcoming fights.
D. His current status (hurt, healthy, dead, free, slave)
E. His financial status (money earned, costs. Idea: Look at Gallop Racer for an idea what to include.) RESULTANT NEEDS: INDIVIDUAL FORMS FOR EACH AREA? Maybe one tabbed form like FOF for this? Think about this.
2. He should be able to interact with the fighter if it is one of his own: sell, release, free, kill, schedule in an event, etc.
3. He should be able to get back to the main form
Game Records Form
What will the gamer do here?
1. He should be to access the game world all-time, yearly, and tournament records.
2. He should be able to see a list of the Hall of Fame (rename this to something cooler) fighters. RESULTANT NEEDS: FIGHTER FORM.
3. He should be able to see a list of retired fighters.
4. He should be able to see his stable records.
Event Info Form
What will the gamer do here?
1. He should be to access the game world all-time, yearly, and tournament records.
2. He should be able to see a list of the Hall of Fame (rename this to something cooler) fighters. RESULTANT NEEDS: FIGHTER FORM.
3. He should be
Game Progress Info Form?
What will the gamer do here?
This will result when the gamer advances the game world. If I could fit this on the Main Form it would be great, but I want to see how things play out with this.
1. He should be to see that he has new messages and access the message screen.
2. He should be able to see a list of tournaments that occurred/are occurring that week. He should be able to click on the tournament name to watch/sim any tournaments or to actively manage any fighters in tournaments he has registered for. RESULTANT NEEDS: TOURNAMENT OVERVIEW FORM; INDIVIDUAL CHALLENGE FORM
3. He should be to click “Done” to get back to the main form.
Tournament Overview Form?
What will the gamer do here?
1. The gamer should be able to see an overview of the current tournament and its status.
2. He should be able to click on individual fights to see them or manage them. RESULTANT NEEDS: INDIVIDUAL CHALLENGE FORM
3. He should be able to sim an entire tournament.
Individual Challenge Form
What will the gamer do here?
This is the form the gamer will see just before a fight begins.
1. The gamer should be able to see an overview of the upcoming fight.
2. He should be able to click on a “Fight” button to be able to see/manage the fight, or click on a “Sim” button to automatically sim the fight. RESULTANT NEEDS: FIGHT FORM.
3. He should be able to go back to his previous screen.
Fight Form
What will the gamer do here?
1. The gamer should be able to manage/watch two fighters battle.
____
Wow. Lots to do.
Total time: 1 hour.
Grand total: 28 hours and 35 minutes.
Cap Ologist
12-29-2004, 04:01 PM
Wow, looks good. One more day until I get home and back to work on my programming. Hope you have another good stretch tonight.
Godzilla Blitz
12-30-2004, 05:34 PM
Cap: Thanks!
30 December 2004
Finished a review of Chapter 10 in Step by Step. Relearned material on sub-procedures. Things are starting to come back, but I feel like I’ve forgotten quite a bit. I’m hoping I’ll feel more confident by the end of next week. Frustrating to lose so much ground, and that makes it easy to give up.
Total time: 30 minutes
Grand total: 29 hours and 05 minutes.
Godzilla Blitz
01-01-2005, 10:11 PM
1 January 2005
Worked through Chapter 11 in my review of the Step by Step book. Relearned material on collections and arrays. Went pretty fast, as I am starting to recall more of what I learned in August.
Also read the introduction to Rod Stephens’ book, Ready-to-Run Visual Basic Algorithms. Not much to say about this book yet, as the introduction doesn’t tell me much about how useful the content will be
Total time: 30 minutes
Grand total: 29 hours and 35 minutes.
Godzilla Blitz
01-03-2005, 08:40 PM
3 January 2005
Plugging away on my review of this summer’s material. Am about halfway through Chapter 12 in Step by Step. Reviewed some basic information about text strings.
Starting to remember more. I got to Chapter 14 in the summer, and think that I’ll review up to that point before either doing something else with the LM program itself.
Total time: 30 minutes
Grand total: 30 hours and 05 minutes.
Godzilla Blitz
01-05-2005, 09:50 PM
5 January 2005
Read more on text file processing in Step by Step. This was the stuff I was working with when I stopped in August, and it’s taken me a while to get the hang of it again. Once I get this stuff back down, I think I’m at the point where I can start to dig back into the program itself.
Total time: 30 minutes
Grand total: 30 hours and 35 minutes.
Cap Ologist
01-06-2005, 12:22 AM
Text file reading & writing was so hard for me at first. It seemed like I could never get it to work the way I wanted or it would return really random values that weren't in the file anywhere. Somehow I got it to work, and it has really made a difference in how fast I can go. Instead of having to type things into arrays (which is very inefficient and now seems really dumb), I can just set up a quick routine to read in a csv file or dat file.
I've been busy working on some other projects. I'm definitely a muse programmer. When I have a desire to program, I can definitely crank stuff out, but when I'm uninspired, well I don't accomplish much.
Cap Ologist
01-06-2005, 10:08 PM
What software did you use to create the screen shot you posted when you first started.
hoosierdude
01-07-2005, 12:08 AM
Yes, that would be interesting to know. Really enjoying your thread!
Neon_Chaos
08-04-2005, 03:55 AM
major, major bump. GB, how's the game going?
Godzilla Blitz
03-05-2006, 01:21 AM
Sheesh. I have no idea what happened to me here. I apparently vanished.
Ah! Wait! I know. It was World of Warcraft. Right about the beginning of last year is when I got hopelessly addicted. I must simply have never come back and checked this thread after that happened. Sorry about not replying to people. I try to reply to everyone.
Anyway, the game never did make progress after I got addicted to WoW, and has sat in its same condition since early January of last year. I've been thinking of getting back into this a bit lately, and may start hacking away again on things in a couple of weeks, once I get through a couple of large work projects.
About the only thing I've done since last posting here was to renew the domain name libertasmorte.com for a few more years. I let the freedomindeath.com one expire, as I just couldn't imagine using it.
To answery questions...
Cap, hoosierdude: I used Photoshop to make that first splash screen, but I think I have screens that are more to the stlye that I was looking for, but I never posted them. I'll have to go back and take a look at some point in time. But I did everything in Photoshop.
hoosierdude: Thanks, much belated!
Neon: Not too well, but might be time to make some progress in this again. I'd have to go back and relearn all the stuff I forgot, but I imagine learning it over again will go faster.
Godzilla Blitz
03-06-2006, 05:49 PM
6 March 2006
Well, life is funny, but after reading a lot about Maximum Football and then reading the thread about life's goals and such, I've decided to get back into this a bit.
Just to give myself a bit of a fresh start, I'll likely start a new thread in the next few days.
Spent 30 minutes today rereading this thread to start the process of getting my head back into what I was doing.
Immediate Goals
-Working my way through the chapters that I covered in my VB book the first time I worked on this project.
-Finding the notebook that I was using for this project. Given that I've moved my office in the past year, finding this notebook might be a bit difficult.
I'm aiming to spend about 3 hours a week or so on the project, and hope to get back to where I was previously by the end of this month.
Franklinnoble
03-06-2006, 06:33 PM
Good luck... keep plugging away... I'm still reading.
Godzilla Blitz
03-09-2006, 04:38 PM
Thanks Franklin,
I think I might have been a little bit quick on the gun with this one this time. After looking over all the work projects I need to get done between now and April 15, I realized that restarting this right now would be well, stupid. After April 15, though, life should revert to a more normal pace, and summers are usually good as well.
So, I've decided to aim for an April 16 restart. That should motivate me to get my real work done.
Vince
03-09-2006, 04:41 PM
I'll be looking forward to it as well -- one of these days I might even try to code my own game :)
Godzilla Blitz
03-09-2006, 04:46 PM
I'll be looking forward to it as well -- one of these days I might even try to code my own game :)
Even though I didn't get that far, I highly recommend it. VB isn't that hard to learn, and this was probably one of the most fun learning projects I've attempted in a while. There are tons of simple games you can make as learning projects, too. I'm really looking forward to getting back into this.
Vince
03-09-2006, 04:53 PM
Yeah -- I started College as a Computer Science major, so I know a fair bit of C++ and Java. I just never kept up with it when I switched to History.
Like you said, I think this would be a tremendously fun project, and I'd learna bunch along the way.
Neon_Chaos
03-16-2006, 08:06 AM
If you need any help, GB... I'm a VB programmer. It's my occupation.
sachmo71
03-16-2006, 08:33 AM
I'm learning VBscript...slowly. :)
vBulletin v3.6.0, Copyright ©2000-2026, Jelsoft Enterprises Ltd.