Page 1 of 3 123 LastLast
Results 1 to 20 of 43

Thread: How hard can it be?

  1. #1

    How hard can it be?

    You know, I don't know what Funcom's code looks like. I don't. But how damned hard can it be to use the Math.Random() function? I mean, um, HELLO?

    You have a database. It has items. You have a field for each item stating various validities...

    mission_reward
    mission_find
    mission_return
    mission_loot

    So when it generates your wee little mission, it runs the math.random() function (or whatever breed they're dealing with) and VOILA, it just iterates through the possible items and places the one with whatever value you generate.

    How hard can it be, really?

    How on EARTH can you patch the game, which is already working (as far as loot code was concerned), and all of a sudden BAM, you have 2395891859185 maps of Newland and Mort? Do you not abstract out your game code? How can adding items, locations, or anything, effect your loot code? Why does the loot generation code take more than like 1 page tops ANYWAY? At least the random generation and assignment aspects of it... perhaps it is that short, and is that fubar, who can say...

    Same thing with mission locations... Let's say there's 3000 different mission entrances in the game. Take 1 Dev, sit him down in his cube, and say "You're not going to be allowed to go home or use the restroom until you've flagged the various mission locations with QL's." So the mission location object in the database now has the field

    QL

    Wow, tough concept, eh? So you assign it a value, the max QL mission that can be assigned to that location. Do a good old

    SELECT Mission_QL, Mission_loc
    FROM Mission_database
    WHERE QL<=(value character does in slider);

    Dump that into an array, do a Math.Random(yourArray.length) or some such, and BAM... there's a mission location. Would this mean you could get a mission in Tir city at level 150? Yes, and that's cool. We all miss those mission templates...

    My big point here is, I'm a business student, not a programmer, and I still can see that something has to be supremely profoundly SCREWED UP for things like random loot assignment and mission location spawning to go so out of wack...

    Any chance anyone else here, be you Funcom people or not, knows how on earth they've managed to break what should be about as complicated as a small concrete block??

    Oy...

    EDIT: I'd like to point out, in closing, that I really enjoy this game, and I love the direction it's going. I just can't fathom the backwards steps I see it taking, having at least some SMALL experience with coding...
    Last edited by Nietya; Mar 26th, 2002 at 01:29:13.
    Nietya

    Level 77 Clan fixer.

    Trellame ought to be sainted or made a deity or something. I mean, seriously.


  2. #2

    Re: How hard can it be?

    Originally posted by Nietya
    My big point here is, I'm a business student, not a programmer
    Heheh, that's obvious. Someday when you get to manage programmers you can show them how all thier work is really simple, they love that.

  3. #3

    hehe "team leaders"

    dont you love em?

    i think what we have here is what is refered to as "spaghetti code" so changing one thing totally screws up another. but it is annyoing, and i would love to get a little look at the code...
    My lungs arent blackened by tar, they're blackened by SIN!

  4. #4
    I agree that it shouldn't be too tough. All the items that never show up in missions seem to have a QL of "Special" or something like that that sets them apart. There must be some very clear flags on stuff that should never show up in missions. If there isn't, then shame on you, FC for not putting it there in the design phase to begin with. Then again, I sometimes wonder if you guys actually did design before you sat down and started to code.

  5. #5

    Re: hehe "team leaders"

    Originally posted by ReelBigFish
    dont you love em?

    i think what we have here is what is refered to as "spaghetti code" so changing one thing totally screws up another. but it is annyoing, and i would love to get a little look at the code...
    Yeah, definitely spaghetti code.... One more finger in the pot probably wouldn't help too much at this point though. Heh

  6. #6
    Originally posted by PipBoy
    I agree that it shouldn't be too tough. All the items that never show up in missions seem to have a QL of "Special" or something like that that sets them apart. There must be some very clear flags on stuff that should never show up in missions. If there isn't, then shame on you, FC for not putting it there in the design phase to begin with. Then again, I sometimes wonder if you guys actually did design before you sat down and started to code.
    When you work on a code project for 5 years or so, things tend to change from the original design. I have yet to see a code team who didn't eventually deviate from design, sometimes with good results, sometimes with bad results. Never quite works out the way they teach CS students in college. :)

  7. #7
    For the record Griemdall, I used to be a CS major, but I got sick of all the anti-social freaks that were in there. Not to mention the professor that had a massive mullet, insisted that his class be at 8 am, and looked like a demented full size treasure troll.

    Things always change, especially over 5 years like this project, but if you abstract it out from the outset, you don't run into the spaghetti factor, so to speak... at least, you don't run into it full speed like some sprinter into a brick wall...

    *shrug*
    Nietya

    Level 77 Clan fixer.

    Trellame ought to be sainted or made a deity or something. I mean, seriously.


  8. #8
    My general belief is over 5 years of development and god knows HOW MANY programmers, that the code is so damn interdependant on wierd and unrelated areas that changing weapon damage on a Vektor could affect loot in dungeouns.

    Its a MASSIVE MMOG, it may have more lines of code then the space shuttle!

    or even the B-2 bomber!
    I was one of the people who believe that FC had a "secret" 12.0 patch just before launch....he he.

    You start to think that the Shrooms are wearing off and then you look at the ceiling and realize you got a few hours.

  9. #9
    ...
    If I were to take that hyperbole literally... *shudder*

    Documentation, documentation, documentation. I've worked jobs coding where the code was well documented, and it was almost like sitting down at my own code... I've worked jobs where there was little to no documentation, and might as well have rewritten the whole thing myself...

    But regardless of how many different programmers worked on the game and how long it took, there's still no reason it should degenerate to this level... version control, if nothing else, should prevent massive gaping logical dependencies from taking place.

    Ew.

    I'm just glad I don't work as a coder at Funcom, that's for sure, because you KNOW the source they have right now has to be UGLY.
    Nietya

    Level 77 Clan fixer.

    Trellame ought to be sainted or made a deity or something. I mean, seriously.


  10. #10
    I've got a feeling we're looking at a bowl of pasta as well. I was gonna make a post regarding how much they packaged their game constructs such as 'character', 'monster', 'item', 'nano', 'weapon', etc. into well constructed objects but was afraid I already knew the answer.

    You can definately see glimpses of proper OO coding, however, notice that the icons for a particular nanoformula ghost out during execution/recharge in sync on both the quickbar and the big mess panel. Obviously each is simply and interface to the same underlying object.

    However, too much seems to be hard-coded and inflexible to allow the game to progress at a proper rate. Not to mention the slew of bugs that potentially are unleashed anytime you mess with any function that isn't properly encapsulated within it's associated object.

    Could you imagine how much money they could take out of the bloated economy if your Yalmaha 'object' had a field for AlphaShade and when equipped would simply render a tint over the existing skin? If rare enough of a find, people would probably spend more than the ridiculous prices thay pay for Grid Armor discs simply to cruise around in a Candy Apple Red Yalm.

    Thing is, I'm afraid both the code and database structure can't handle much more than simple pointers to table entries that have to be hand-generated.

    Take a look at the Test Server Bugs forum. I'd really like to know how setting yourself '/anon' in the Chat Client can make you float through the air. Now, that's Truly mind-bogglling.

  11. #11
    Originally posted by Nietya
    For the record Griemdall, I used to be a CS major, but I got sick of all the anti-social freaks that were in there.
    I am NOT an anti social person! :P

    their code must be a work of art (pop art that is) OOP taken to a new and highly entertaining level. you've got to ask yourself how hard it is to add a new atttribute to a class, like colour for the yalms... but, FC wont let us see the code, theres nothing we can do about it, except hope that one of the team leaders sudenly realises what tech-doc is.
    My lungs arent blackened by tar, they're blackened by SIN!

  12. #12
    you know waaaaaaaaaaay back i heard that this game was actually written in VB. If it is..(which i doubt) then I want to know how they manage the picture sets...its very simple to manage in VB. You can set a control with a list of references for all the textures then in the game your client basically says hmm ok this char with body size = X fat = X breed = 012 Face = 011 HeadG= (item = 0975) etc etc etc...

    If it was VB they did it in they they did it very ineffieciantly. It seems the graphics have to be downloaded from the server in order to see them. If they made MORE (not all) of the graphics client side it would reduce lag like 500%.
    Id smack em with my boom stick for screwing something that simple up.
    Long live the metal
    Death to OT SCUM!!
    Member of the Mercury Dragons
    Divillian

  13. #13

    i thought

    it was written in C or Java (with various addaptions) but the interface may be VB, but not the game engine
    My lungs arent blackened by tar, they're blackened by SIN!

  14. #14
    Originally posted by Nietya
    For the record Griemdall, I used to be a CS major, but I got sick of all the anti-social freaks that were in there. Not to mention the professor that had a massive mullet, insisted that his class be at 8 am, and looked like a demented full size treasure troll.

    Things always change, especially over 5 years like this project, but if you abstract it out from the outset, you don't run into the spaghetti factor, so to speak... at least, you don't run into it full speed like some sprinter into a brick wall...

    *shrug*
    I hear ya on the CS folks. I didn't go to college much myself. Got lucky and went straight into the biz, and haven't needed it yet. Of course, most of the folks I work with are mulleted as you have stated. :) Mullets for me are ethnically impossible, so I won't be able to conform no matter how immersed I become in the 'dark side'. :)

    As to the code stuff, I was speaking specifically of the small amount of experience I have with game industry folks. Although most of the big shops employ only the most educated and experienced folks they can get, Funcom is a little smaller and leaner than the big shops. There's a good chance that many of the programmers, designers, and others that work for Funcom are talented hobbyists rather than trained professionals. This is where the problem comes in. Stir in some liberal turnover into the mix, and you suddenly have spaghetti. It's happened at several of the studios I've frequented/worked at, even with some of the most talented teams. Fortunately poor code philosophy doesn't hurt average off-the-shelf games as much as it hurts a mmog. :(

    I could be wrong about Funcom, they might be a huge megacorporation on thier side of the Atlantic, but the only two games I've ever heard of that they have released are The Longest Journey and AO, so I assume they are lean.

  15. #15
    Originally posted by Divillian
    If it was VB they did it in they they did it very ineffieciantly. It seems the graphics have to be downloaded from the server in order to see them. If they made MORE (not all) of the graphics client side it would reduce lag like 500%.
    Id smack em with my boom stick for screwing something that simple up.
    The graphics are definitely client side. One of my haxx0r buddies wrote a utility to extract the graphics from the various dat files on the AO cd (he was attempting to use the minimap data to construct a map). He ended up extracing thousands and thousands and thousands and thousands of textures at one point, including all the skins/armors/guns/faces/monsters/etc. He was having a blast picking through all that stuff for a while.

  16. #16

    Re: i thought

    Originally posted by ReelBigFish
    it was written in C or Java (with various addaptions) but the interface may be VB, but not the game engine
    The interface at least is written in C++ (you can tell that by the file names which show up as part of client crash records), don't know about the back end. I've worked as a developer since 1987 and in C++ for about 10 years and this app shows all the signs of a first OO project by a team of C programmers. There's a reason why they say you should throw your first OO project away. Also, their change control seems to be somewhat lacking (now there's an understatement for you).

    Someone above was marvelling at the possible size of AO. While this is only a guess, I wouldn't think it was more than a few hundred thousand lines of code, I'd be surprised if it was as many as 500,000. While that sounds huge, it's really no bigger than a fully developed e-mail system (server, client and gateways), and you'd never make any sales if your e-mail system worked as badly as this game does. Every large system has potential dependency problems, it's the development teams responsibility to correctly manage those problems.

    If you want to see large, correctly managed systems, look at the ones which run the telephone and electricity grids. Just be glad the folks who wrote AO don't work on those.

    Unas

  17. #17

    Re: Re: i thought

    Originally posted by Unas
    If you want to see large, correctly managed systems, look at the ones which run the telephone and electricity grids. Just be glad the folks who wrote AO don't work on those. :)

    Unas
    Heh, interesting examples. Maybe after FC has a hundred or so years to work on stability this game will be as ubiquitous and reliable as electricity. lol.

    Have you ever lived in a small town? Power and phone service are not to be taken for granted for some. :)

  18. #18
    Yep, that's definately true, about the game industry... my brother worked at Raven for about 5 years, and he always told me the churn there is absurd, that people come in, do some work, and then either get hired elsewhere or just peter out into nonexistance, and none of them are really trained 'hardcore' programmers...

    It's absolutely mind-boggling to look at the pace at which changes happen in an mmorpg, on a side note... having developed content in the past (as well as currently working on a gaming system and world as well) I know that it shouldn't take 10 people 8 months of a game being released to come to some of the conclusions they have...

    At least, from my subjective outsider standpoint, that's the way it surely looks...
    Nietya

    Level 77 Clan fixer.

    Trellame ought to be sainted or made a deity or something. I mean, seriously.


  19. #19

    Re: Re: i thought

    Originally posted by Unas


    The interface at least is written in C++ (you can tell that by the file names which show up as part of client crash records), don't know about the back end.
    regarding the back end:

    im an AI student, i could write better AI into this game, FC, gimme the code and let me make those mobs think!

    no offense guys i know you had a deadline, i know the game engine isnt friendly, but you do need to take a look at it.
    My lungs arent blackened by tar, they're blackened by SIN!

  20. #20
    In theory of course, everyone is smarter and has better ways of solving a problem than the people that are actually trying to do it.

    But then in reality, something occurs and another thing occurs and pretty soon your f*cked. Like deadlines, ect.

    It may be easy to just point and say 'Ah, this and this must be fixed in this way.' But when you ALSO have to work with constant bugs/complaints/balance issues/server issues/ect. it's hard to issolate one problem and fix it.

    The code is still pretty fubar though...but hey, show me some that's not =)

Page 1 of 3 123 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •