1. Subscribersonhouse
    Fast and Curious
    slatington, pa, usa
    Joined
    28 Dec '04
    Moves
    52619
    01 May '08 13:25
    I have worked on a game, I won't tell you what it is right now, but the game needs a 3D matrix with play at the intersections of the lines, X, Y and Z. I need to be able to zoom in on the whole thing and look at smaller volumes of the setup or zoom out and see the whole thing and to be able to rotate it in all dimensions, as if you were rotating a rubics cube one way and another looking at it diagonally, face on or whatever. I would like to know what programming language does that sort of thing easiest. I know a bit of VB, but am told there are not many built in commands that can do that kind of thing. The game play would be the X,Y, and Z intersections would light up, some color like white ( like a small globe appearing out of nowhere at the intersection and lighting up a bit, and another color, like darker or even black at some other intersection by the other player and you take turns lighting up intersections) So eventually the matrix would be full of one color or the other mixed with intersections with no globes. Kind of like those classroom atomic stick models. Anyone know how to do that? Thanks ahead of time.
  2. Standard memberwormwood
    If Theres Hell Below
    We're All Gonna Go!
    Joined
    10 Sep '05
    Moves
    10228
    01 May '08 20:25
    Originally posted by sonhouse
    I have worked on a game, I won't tell you what it is right now, but the game needs a 3D matrix with play at the intersections of the lines, X, Y and Z. I need to be able to zoom in on the whole thing and look at smaller volumes of the setup or zoom out and see the whole thing and to be able to rotate it in all dimensions, as if you were rotating a rubics cu ...[text shortened]... of like those classroom atomic stick models. Anyone know how to do that? Thanks ahead of time.
    you define a data structure to hold the board, a camera, lights, transformation system, clipping, probably culling, texturizing, a 2d screen and a separate thread to process user input. it's a huge volume of graphics theory to cover, and there's no way anyone could guide you through it. you'll need to work it out yourself.

    the details depend heavily on the graphics system used, but you can do it in any language.

    but the first thing probably is you need to stock up heavily on math. linear transformations, projections, basic vector and quaternion math, differentials etc. -you can avoid most of it by using a sufficiently high level graphics library, but as computer graphics is 99% math you'll likely end up in huge trouble which you can't solve if you don't understand the math.
  3. hirsute rooster
    Joined
    13 Apr '05
    Moves
    16091
    01 May '08 22:49
    Originally posted by sonhouse
    I have worked on a game, I won't tell you what it is right now, but the game needs a 3D matrix with play at the intersections of the lines, X, Y and Z. I need to be able to zoom in on the whole thing and look at smaller volumes of the setup or zoom out and see the whole thing and to be able to rotate it in all dimensions, as if you were rotating a rubics cu ...[text shortened]... of like those classroom atomic stick models. Anyone know how to do that? Thanks ahead of time.
    What programming skills do you have? Are you coming from the procedural or object orientated paradigms?

    What target platform are you aiming at? Standalone application or browser based?

    Is this multi-player (network based) or single user?

    I'd suggest that if you're asking these questions on a chess-site forum (even if it is the science forum) then Catfoodtim has already provided the correct answer.

    Good luck.
  4. Subscribersonhouse
    Fast and Curious
    slatington, pa, usa
    Joined
    28 Dec '04
    Moves
    52619
    02 May '08 03:25
    Originally posted by orangutan
    What programming skills do you have? Are you coming from the procedural or object orientated paradigms?

    What target platform are you aiming at? Standalone application or browser based?

    Is this multi-player (network based) or single user?

    I'd suggest that if you're asking these questions on a chess-site forum (even if it is the science forum) then Catfoodtim has already provided the correct answer.

    Good luck.
    I wasn't aiming at any platform particularly, just wondered what language is best at this sort of thing. It would be a two player game like chess, alternating moves. I don't have much programming experience outside some VB commands and HP 48 calculator stuff.
    I am not even close to being called a programmer. I thought there were some graphics oriented languages that could do transforms, spinning a rubics cube kind of thing, zooming in and out and such. I just downloaded Google Earth and it has the kind of zooming I would need. Do you have any idea what language it is written in?
  5. Standard memberwormwood
    If Theres Hell Below
    We're All Gonna Go!
    Joined
    10 Sep '05
    Moves
    10228
    02 May '08 10:47
    Originally posted by sonhouse
    I wasn't aiming at any platform particularly, just wondered what language is best at this sort of thing. It would be a two player game like chess, alternating moves. I don't have much programming experience outside some VB commands and HP 48 calculator stuff.
    I am not even close to being called a programmer. I thought there were some graphics oriented lang ...[text shortened]... it has the kind of zooming I would need. Do you have any idea what language it is written in?
    well I'm not a seasoned veteran by any means, but I am a few credits short of MSc degree in computer graphics. and like I already said, it doesn't matter what language you use, there are graphics libraries for pretty much any language. c & c++ are the most common choices, so it's probably easiest to find tutorials online for them. but the biggest problems always boil down to math.

    as for graphics functions, opengl or direct3d are the most common interfaces. you can use them with visual basic as well. both have a learning curve associated, and it takes a while to even reach the point where you get to actually draw something.
  6. Subscribersonhouse
    Fast and Curious
    slatington, pa, usa
    Joined
    28 Dec '04
    Moves
    52619
    02 May '08 11:132 edits
    Originally posted by wormwood
    well I'm not a seasoned veteran by any means, but I am a few credits short of MSc degree in computer graphics. and like I already said, it doesn't matter what language you use, there are graphics libraries for pretty much any language. c & c++ are the most common choices, so it's probably easiest to find tutorials online for them. but the biggest problems a ...[text shortened]... iated, and it takes a while to even reach the point where you get to actually draw something.
    And here I was thinking a 3D matrix was just a matter of a few keystrokes. Like a spreadsheet thing but 3D. So even after you have the matrix you have to solve the math of twisting it around in a controlled fashion, and then have the ability to zoom inside the matrix for a closer look at smaller pieces of it. I'll give you a big hint:
    The matrix wants to be 19X19X19.
    So is there such a thing as a 3D spreadsheet? That would solve part of the problem anyway.
  7. Standard memberwormwood
    If Theres Hell Below
    We're All Gonna Go!
    Joined
    10 Sep '05
    Moves
    10228
    02 May '08 14:19
    Originally posted by sonhouse
    And here I was thinking a 3D matrix was just a matter of a few keystrokes. Like a spreadsheet thing but 3D. So even after you have the matrix you have to solve the math of twisting it around in a controlled fashion, and then have the ability to zoom inside the matrix for a closer look at smaller pieces of it. I'll give you a big hint:
    The matrix wants to b ...[text shortened]... 19.
    So is there such a thing as a 3D spreadsheet? That would solve part of the problem anyway.
    well, the short answer is no.


    but like anything concerning programming, it could be built. you're thinking of a 3-dimensional matrix, but in reality that would probably be an awkward implementation. a 1-d list is the 'normal' idea, but depending of what kind of functionality your game should have, some kind of tree structure might be a far better choice for a data structure.


    coding up a game when you have no experience is a huge task. you need to start with something extremely simple, like an asteroids clone or similar, and even that will keep you busy for a couple of weeks at least. it's no coincidence why nerds code up stuff through the night. it all takes a huge amount of work, tears and energy drinks, and things NEVER work like you thought they should.
  8. Joined
    11 Nov '05
    Moves
    43938
    02 May '08 14:26
    Sunhouse, I think you should consider MatLab.
  9. Standard memberThequ1ck
    Fast above
    Slow Below
    Joined
    29 Sep '03
    Moves
    25914
    02 May '08 17:55
    Originally posted by sonhouse
    I have worked on a game, I won't tell you what it is right now, but the game needs a 3D matrix with play at the intersections of the lines, X, Y and Z. I need to be able to zoom in on the whole thing and look at smaller volumes of the setup or zoom out and see the whole thing and to be able to rotate it in all dimensions, as if you were rotating a rubics cu ...[text shortened]... of like those classroom atomic stick models. Anyone know how to do that? Thanks ahead of time.
    You can do some pretty funky stuff with Actionscript.

    There are a number of 3D class structures available in AS2 that
    are quite straight forward to implement.
    http://www.adobe.com/devnet/flash/articles/3d_classes.html

    If you're feeling brave,
    you can have a crack at something called 'Papervision' for AS3.
    http://www.creativesunlimited.com/
    http://drawlogic.com/2007/12/04/as3-papervision-20-alpha-greatwhite/
  10. Subscribersonhouse
    Fast and Curious
    slatington, pa, usa
    Joined
    28 Dec '04
    Moves
    52619
    02 May '08 17:572 edits
    Originally posted by FabianFnas
    Sunhouse, I think you should consider MatLab.
    Yeah, I was thinking about that, we use matlab at work but I am no expert on it, I just use the programs generated by it and another one called Labview, but that one is just to run simulations and tests and such, not big on graphics. The graphics for labview is just for data entry and results and images can be included, such as our optical oscilloscope, an Agilent 86100B, records the images of 'eye' data on fiber optic modulators we build and includes it in labview but thats about all it can do. I have to talk to a matlab guru at work. The problem there is I am right now on third shift, midnight to 8 kind of thing, nobody important is around, only us lab rats๐Ÿ™‚
    Did you see my thread on 'sage'? Its a freeware package open source software that is supposed to rival all the big guys like matlab and such, I downloaded a huge file trying to get it to work but its not simple, plus the file took about 4 hours to dl even with broadband, its a 2 GB file, made the download look like it was from a dialup! The main problem is it has to use a host software called VMware, which I also downloaded and it wasn't exactly tiny either, at about 200 Mb, but I haven't gotten them to connect yet, you also have to use it within a browser, firefox, which I did but its very intricate but there is a forum on google that deals with Sage, I asked my newbie questions there. If you are expert, you can use sage to develop your own extensions to the main package. Time will tell if I can get it off the ground. The good news is, it's free.
    BTW, I think you are making me out to be a bit brighter than I really am, calling me 'SUNhouse'๐Ÿ™‚
Back to Top