• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.


  • Content count

  • Joined

  • Last visited

Community Reputation

599 Good

About timothyjlaird

  • Rank

Personal Information

  • Location
  1. 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. 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. 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.   Thanks. That did the trick. Got it working.
  6. 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. Not strictly an API but I would check Panda3d since you mentioned python.
  8. 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. 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. 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. 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. 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. 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. 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