3D Game Programming
Sunday, October 25, 2009Uh oh! Book from 1996 :)
That was the MMS I sent earlier from my phone after stopping by Half-Price Books. I found what I wanted, mostly. It's an old 3D Game Programming (with C++) book which is about cutting edge circa 1996. The beginning of the book talks about the frustrations with 2.5D play and the jump to full 3D, so it will probably work for me. I'm just interested in creating something Doom-quality.
Yeah ... what!?
I'm crazy, I know, but this seems to be about the time of year when I begin yearning to create a game. It probably doesn't help that lots of games come out at the end of the year and I've just spent the past 1.5 weeks playing Oblivion. I used to write crappy little games all the time, it's what really got me into programming -- as it does for many people I've known. Actually it might also be that programming computers starts out as a game and thus you naturally want to program games. Anyway, I fell into business programming and have been here ever since. Tomorrow, for example, I start a 3 month consulting contract for a web service that will accept credit cards and blah blah blah. I look forward to the chance to re-sharpen my C#, ASP.NET, and SQL skills, but when have I last created a game? This may end up being my hobby for the next few months while I let my side project FanSiter simmer.
I think around the time I stopped coding up little games and graphics demos was when I got obsessed with frameworks and how things worked. One thing that's always haunted me is a lack of mathemtical education and experience, seriously I've only been up through Algebra 1 with a dash of Geometry. I think I can safely say you can be a fine programmer without advanced math, but it definitely hurts me inside when I don't understand all the algorithms behind some of the stuff I use. Trying to learn math on my own just hasn't worked out so well, but maybe the reason is tied to why I have previously failed to finish my little projects. My mind gets so wrapped up in the tiniest details and things that don't quite fit together that I simply halt. Plus with homework I get bored and stop doing it.
Maybe nothing is different now and I'll put this book down after a few chapters and never pick it up again. You might be wondering why I bought a physical tome at all since I have a Kindle. Well, two reasons pop into my mind: I want to keep it for home use and not get it mixed up in my contract work and also because I wanted to find an old book that was written around the time when I was green and felt like a C++ god. Not that I plan to use C++.
No, I'm going to write this for the modern web browser using Canvas. I like the concept of SVG, but it's just not getting much love and the performance improvements are being put into Canvas. Also, Google's latest plug-in for IE (Chrome Frame) makes it viable for me since those users can use that rather than installing and learning an entirely new browser. I'm not using Flash, because I'm looking for something that I can get my "quick fix" on. Back when I was playing in Q-Basic, at the height of my game making frenzy, I really enjoyed (or remember enjoying) the ability to just hit F5 and see my changes show up. Lastly, I want this to be accessible, and what is easier than visiting a web page? Nothing to install, no agreements, and no registration.
[On a side note, check out this ray-casting engine done in JS+HTML without Canvas or SVG: http://dev.opera.com/articles/view/creating-pseudo-3d-games-with-html-5-can-1/ Audio is going to be trickier!]
Yes, single player. I already have a very rough plot that I'm going to iron out. I need to focus on the end result and work backwards, because I believe that's why FanSiter actually got done. The ideas I have for large games are too staggering to contemplate making, so I have a small 3D RPG adventure that will be modeled after a traditional Daggerfall dungeon romp and linked loosely to my lore for Kytos. I do want to prove a few interactive concepts that I believe would make games like Oblivion, better, but I realize the end result isn't going to look very modern or particularly pleasing. I'm not ready for heavy criticism, but I plan on subjecting myself to it.
One aspect that might be unliked is it's going to be first person and I want to keep the player's character somewhat unknown to the player. This is a bit hard to explain, but think of GTA 3 where you're a silent "every guy" and people talk to you without you talking back. Or Gordon Freeman in Half-Life. Except that no one ever says your name or eludes to you being a girl or a guy. The NPC's will be limited to talking at you, but you won't ask them questions and things. I realize this is weird, but for the small storyline I have planned, it will make it easier to code the engine. My focus is going to be on ambiance/atmosphere and exploration with a garnish of NPC goodness. I also kinda like the idea of a silent protagonist -- I just haven't figured out yet how I'll make "ouch" sounds without hearing a gender-specific grunt.
There's no definite time frame on this. I just thought of doing it today while walking and listening to Steve Roach (Dreamtime Return) and Deuter (East of the Full Moon). It might fade by tomorrow. Tonight I'm going to tire myself out reading this ol' book. Already on chapter 2 the writer(s) are assuming too much about my mathematical knowledge so I decided to try some stuff out. That's how I got here, however, because I can't for the bloody life of me figure out how to just draw a single pixel in Canvas even though it's a raster friggin' based object! Everything is move here, draw that ... where's put pixel!? Let me start simple and no, I don't want to make a stock ticker or financial graphs!
Posted by
Neil C. Obremski
on
10/25/2009 05:41:00 PM
That was the MMS I sent earlier from my phone after stopping by Half-Price Books. I found what I wanted, mostly. It's an old 3D Game Programming (with C++) book which is about cutting edge circa 1996. The beginning of the book talks about the frustrations with 2.5D play and the jump to full 3D, so it will probably work for me. I'm just interested in creating something Doom-quality.
Yeah ... what!?
I'm crazy, I know, but this seems to be about the time of year when I begin yearning to create a game. It probably doesn't help that lots of games come out at the end of the year and I've just spent the past 1.5 weeks playing Oblivion. I used to write crappy little games all the time, it's what really got me into programming -- as it does for many people I've known. Actually it might also be that programming computers starts out as a game and thus you naturally want to program games. Anyway, I fell into business programming and have been here ever since. Tomorrow, for example, I start a 3 month consulting contract for a web service that will accept credit cards and blah blah blah. I look forward to the chance to re-sharpen my C#, ASP.NET, and SQL skills, but when have I last created a game? This may end up being my hobby for the next few months while I let my side project FanSiter simmer.
I think around the time I stopped coding up little games and graphics demos was when I got obsessed with frameworks and how things worked. One thing that's always haunted me is a lack of mathemtical education and experience, seriously I've only been up through Algebra 1 with a dash of Geometry. I think I can safely say you can be a fine programmer without advanced math, but it definitely hurts me inside when I don't understand all the algorithms behind some of the stuff I use. Trying to learn math on my own just hasn't worked out so well, but maybe the reason is tied to why I have previously failed to finish my little projects. My mind gets so wrapped up in the tiniest details and things that don't quite fit together that I simply halt. Plus with homework I get bored and stop doing it.
Maybe nothing is different now and I'll put this book down after a few chapters and never pick it up again. You might be wondering why I bought a physical tome at all since I have a Kindle. Well, two reasons pop into my mind: I want to keep it for home use and not get it mixed up in my contract work and also because I wanted to find an old book that was written around the time when I was green and felt like a C++ god. Not that I plan to use C++.
No, I'm going to write this for the modern web browser using Canvas. I like the concept of SVG, but it's just not getting much love and the performance improvements are being put into Canvas. Also, Google's latest plug-in for IE (Chrome Frame) makes it viable for me since those users can use that rather than installing and learning an entirely new browser. I'm not using Flash, because I'm looking for something that I can get my "quick fix" on. Back when I was playing in Q-Basic, at the height of my game making frenzy, I really enjoyed (or remember enjoying) the ability to just hit F5 and see my changes show up. Lastly, I want this to be accessible, and what is easier than visiting a web page? Nothing to install, no agreements, and no registration.
[On a side note, check out this ray-casting engine done in JS+HTML without Canvas or SVG: http://dev.opera.com/articles/view/creating-pseudo-3d-games-with-html-5-can-1/ Audio is going to be trickier!]
Yes, single player. I already have a very rough plot that I'm going to iron out. I need to focus on the end result and work backwards, because I believe that's why FanSiter actually got done. The ideas I have for large games are too staggering to contemplate making, so I have a small 3D RPG adventure that will be modeled after a traditional Daggerfall dungeon romp and linked loosely to my lore for Kytos. I do want to prove a few interactive concepts that I believe would make games like Oblivion, better, but I realize the end result isn't going to look very modern or particularly pleasing. I'm not ready for heavy criticism, but I plan on subjecting myself to it.
One aspect that might be unliked is it's going to be first person and I want to keep the player's character somewhat unknown to the player. This is a bit hard to explain, but think of GTA 3 where you're a silent "every guy" and people talk to you without you talking back. Or Gordon Freeman in Half-Life. Except that no one ever says your name or eludes to you being a girl or a guy. The NPC's will be limited to talking at you, but you won't ask them questions and things. I realize this is weird, but for the small storyline I have planned, it will make it easier to code the engine. My focus is going to be on ambiance/atmosphere and exploration with a garnish of NPC goodness. I also kinda like the idea of a silent protagonist -- I just haven't figured out yet how I'll make "ouch" sounds without hearing a gender-specific grunt.
There's no definite time frame on this. I just thought of doing it today while walking and listening to Steve Roach (Dreamtime Return) and Deuter (East of the Full Moon). It might fade by tomorrow. Tonight I'm going to tire myself out reading this ol' book. Already on chapter 2 the writer(s) are assuming too much about my mathematical knowledge so I decided to try some stuff out. That's how I got here, however, because I can't for the bloody life of me figure out how to just draw a single pixel in Canvas even though it's a raster friggin' based object! Everything is move here, draw that ... where's put pixel!? Let me start simple and no, I don't want to make a stock ticker or financial graphs!
Moon
