• Content count

  • Joined

  • Last visited

Community Reputation

599 Good

About timothyjlaird

  • Rank
  1. Not Sure Where To Start

    Can you be more precise about your background (previous knowledge or experience) beyond playing the kind of games you want to make? Do you have any prior coding knowledge (not necessarily game or graphics related)? Or experience with 2d or 3d art?
  2. Good Pc Games

    Try FEAR (first encounter assault recon) and Splinter Cell. Loved FEAR because of the well done FPS horror element (unique). Loved Splinter Cell because it is more or less a puzzle shooter...shooters that require thought are rare...the higher the body count you generate the more you make it hard on yourself to complete the mission. You are rewarded for being stealthy and getting the job done.
  3. I've made a model of a chess piece and exported to OBJ. I'm trying to load and render it in c# WPF and having some trouble with shading/lighting.   I have a white directional light and white ambient light. The chess piece is rendered with a black material.   The problem I am trying to solve is the lighting/shading. It does not seem to be working. Any suggestions? All I see is opaque black. However, when I open the same model in Open3dMod it looks perfect so I don't think the vertex normals are wrong.   Screen shot from my running code (shading wrong)...     Screen shot from open3dmod viewer (shaded correcty)...     I have attached my rendering code (code-behind and xml). I have also attached the model (obj format). Any suggestions to get the lighting and shading working in my code would be appreciated. I don't know what I am doing wrong here.   Thanks, John    
  4. Put game data to files or using database tool

    XML if you have only a few files and they are not huge. Another solution... Having a compact file based database like sqllite is good if you have to store a lot of information. I would forget about anything more than a file based db...I work on a product that uses mssql and properly installing it and configuring it is difficult for most of our customers. In your case I would go with XML though. I would also recommend you take the time to write xsd files to validate your XML files. XSD also serves as excellent documentation too.
  5. obj format question

      Thanks. That did the trick. Got it working.
  6. WannabeDev:Stuck in Finance

    1. I would suggest that you start coding in whatever language is convient for you. C#, VB, CPP, Python, whatever. Keep your projects very small in scope with clearly defined goals. Also grab a lightweight 3d modeller (I suggest deled) and experiment. Explore and figure out what you enjoy and what you are good at. You'll need to know both skillsets in some capacity as a designer anyway. 2. You'll need the degree (piece of paper) to get a paying job. I would worry about that later though. I would focus on teaching yourself the skills first given your resources.
  7. Starter APIs

    Not strictly an API but I would check Panda3d since you mentioned python.
  8. obj format question

    As to the 'why'...this is more a learning project than a practical one. I wrote some python code to parse three md3 files that form a complete player model, take a frame from each, transform them using a matrix derived from tag data in the md3 files and then output the whole thing to one obj file (player_out.obj). The reason for obj is simply to make sure I got everything right before writing my own rendering code.
  9. obj format question

    Question: can I have more than one object (denoted by 'o myobject') each with more than one group in it (denoted by 'g mygroup') in one wavefront obj file? This is my goal but it is not working.   if I do that I get a mangled model. The verts are in all the right places but they are not linked into triangles correctly (model is there but looks like crap).   If I split each wavefront object ('o') into its own seperate file with its own groups the model renders correctly. If I don't bother with groups ('g') and replace each group with an object in a single file the model renders correctly. Is this supposed to be the case? I have tried this with two different 3d model tools (open3dmod and DeleD) and the pattern seems consistent.   That is a bit long winded so I attached some files... 'head.obj', 'upper.obj' and 'lower.obj' each have one object (one file per object). These files import right. 'player_out.obj' has 'head.obj', 'upper.obj' and 'lower.obj' in it but it does not render correctly. Same text, just all appended in one file.   What combining all three objects with groups in one file and importing renders as...     What importing all three obj files separately (each with only one object) renders as...     My goal is to make player_out.obj work but it doesn't seem to be happening. I'm trying to figure out if I have misunderstood the format or the rendering programs (DeleD and open3mod) are not working correctly (unlikely).   To be clear...the model files I have attached were extracted (converted from md3 to obj). I did not make the original md3 models. [attachment=29717:ayumi_objs.zip]
  10. I've parsed out several quake 3 md3 model files and I consistently see less frames in the individual files than what is in animation.cfg (which groups the frames together to form animations).   On parsing the model for a player model set, here is the frame count I get (NUM_FRAMES on the header)... lower.md3 has 191 frames upper.md3 has 153 frames head.md3 has 1 frame   However, there are animations that exceed these numbers...like LEGS_TURN starts at frame 247 when the highest frame count is 191 in lower.md3.   The only logical reason I  can think of is maybe the frame indexes are added together (like 191+153+1) but I'm not sure of the order.   Does anyone know for sure how animation.cfg is supposed to link up with the frames in the individual files?   Here is a copy of the animation.cfg file if it helps... // animation config file sex m // first frame, num frames, looping frames, frames per second 0 30 0 20 // BOTH_DEATH1 29 1 0 20 // BOTH_DEAD1 30 30 0 20 // BOTH_DEATH2 59 1 0 20 // BOTH_DEAD2 60 30 0 20 // BOTH_DEATH3 89 1 0 20 // BOTH_DEAD3 90 40 0 18 // TORSO_GESTURE 130 6 0 15 // TORSO_ATTACK (MUST NOT CHANGE -- hand animation is synced to this) 136 6 0 15 // TORSO_ATTACK2 (MUST NOT CHANGE -- hand animation is synced to this) 142 5 0 20 // TORSO_DROP (MUST NOT CHANGE -- hand animation is synced to this) 147 4 0 20 // TORSO_RAISE (MUST NOT CHANGE -- hand animation is synced to this) 151 1 0 15 // TORSO_STAND 152 1 0 15 // TORSO_STAND2 153 8 8 20 // LEGS_WALKCR 161 12 12 20 // LEGS_WALK 173 11 11 21 // LEGS_RUN 184 10 10 20 // LEGS_BACK 194 10 10 15 // LEGS_SWIM 204 10 0 18 // LEGS_JUMP 214 6 0 20 // LEGS_LAND 220 8 0 15 // LEGS_JUMPB 228 1 0 15 // LEGS_LANDB 229 10 10 15 // LEGS_IDLE 239 8 8 15 // LEGS_IDLECR 247 7 7 15 // LEGS_TURN
  11. I want to make a simple multiplayer game

    The only way to stay useful as a programmer is to learn, learn, learn as you say. The tech is always changing...new languages, new APIs/toolkits, new ways of doing things. Its a fast moving target. Having the aptitude and motivation to learn is vital.
  12. A request for advice

    You mentioned JavaScript and HTML. Did you look at webgl? You can certainly make a 2d game with it (3d isometric they won't be able to tell the difference). It'll run right off the browser. Makes it very easy to show off to friends.
  13. I want to make a simple multiplayer game

    Animation part of your question... Games typically use either skeletal animation (ie verts linked to bones and joints) or morph target animation (you store a copy of the verts for each frame of your animation and interpolate to fill the gaps). Of course there are lots of variants of the above and some games may use both. Quake 3 arena uses morph target. Old technology yes. However its been around for a long time so the format is well documented and straightforward. And there are lots of models you can extract from the game and experiment with. I would start there.
  14. Basic Programming Knowledge Need Some Advice

    In addition to what has already been said I would suggest... 1. As a general guideline you want to separate your code into more discreet pieces so a function does one thing only. Code is cleaner, easier to maintain/understand and opens the door to unit testing. 2. You are returning integers to represent states and it was suggested to use enumerations which is great. However, for error conditions I would suggest exploring exceptions instead. 3. Read up on classes (OOP) at some point. Nibble on it in small pieces. I would start with data hiding (private, public and protected variables and functions). This will keep you from stepping over yourself when you get more ambitious. It seems simple now but if you hit a time crunch at 2am you are more likely to experience less pain and frustration.
  15. Game Idea

    To add to what they said...suggest you research and try blitz3d. I think it went free not long ago. Smooth learning curve and quick tangible results. Great if you have a narrow attention span. Just does not scale very well but you probably don't care about that now. http://www.blitzbasic.com/Community/posts.php?topic=102907