• 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.

el junk

Members
  • Content count

    22
  • Joined

  • Last visited

Community Reputation

191 Neutral

About el junk

  • Rank
    Member
  1. Stargate - SG-1 and movie. The Goa'uld (alien serpent things) enslave worlds and suppress the population with their advanced technology (which is "stolen", in some sense).
  2. @sunandshadow: Thanks, that was really helpful.   I went to look for example paintings that I liked, but then stumbled onto a concept cookie tutorial that was demonstrating painter shading: http://cgcookie.com/concept/2013/03/15/female-character-series-part-2-base-colors/   Time to practice.
  3. I've only tried a couple of times, but I find it difficult to control color in digital applications. Often I'll see a digital painting that has nice gradients or blending of colors that correctly convey texture, depth/shadow, mood, etc... When I've attempted this, my use of color is granular and it shows. I've seen people convey accurate visual expressions with only a handful of colors, which makes me think that there is some part of this process that I'm not picking up on.   Right now I can do some concept work by silhouetting and shading from there, but I would really like to be able to make it pop with color. What kinds of things can I practice? Or at least it would be nice to have that answered in the paper. :)
  4.   I guess that depends largely on what works for you.   I use vim professionally and so do my fellow team members. We're all working on Linux, though (embedded systems and networking application software). I haven't seen people using things like auto-completion or pop-ups, but some people like to use 'cscope', which integrates with Vim pretty much out of the box. But that's kinda C-specific.   I make heavy use of tabs, copy/paste/cut with markers, search and replace, and regular expressions in Vim, along with formatting features, navigation strokes, etc... I also have my vimrc set to do things like color column 81, color text past column 80, underline the line the cursor is currently on, color trailing whitespace, number lines, etc... That's pretty much it and that, for me, goes a long way. Except for the vimrc stuff, it all comes with Vim. To get the coloring, you can just google and copy someones vimrc, or I can post mine, etc...   Side note: I consider a bash shell to be my IDE (at work) and all the command-line programs like vim, grep, sed, awk, less, cat, gcc, make, git, etc... are like plug-ins for my IDE. So, this is why I don't really super-size my vim. Instead, I focus more on how to improve my shell usage via learning/writing new programs, shell scripting, etc... The other nice thing about those tools I listed is that they have a similar "dialect". Basically, they play nice with each other.   I remapped my hotkeys for gnome-terminal so that I can easily spawn new windows (in tabs or separate), move the tabs around, and move between the tabs. When I want to build, I just spawn, move over, and run make. I just like having the output separate like this. (e.g. ctrl-n: new tab ; ctrl-N: new window ; ctrl-[,]: move to prev,next tab ; ctrl-{,}: move tab left,right) My coworker really likes terminator, which is pretty nice with split-panes, broadcasting to all panes at once, etc...   I have tried this in Windows too, with powershell, vim, cl.exe, nmake, git, etc..., and it works fine, so I do that sometimes. I just find bash easier to use than powershell (maybe I don't grok ps, yet). I think it's important to be flexible, though. I really like the look and feel of visual studio, for example, especially with a Vim plug-in. I also really like Eclipse with a vim plug-in, but I don't work with Java a lot (and I ran into some technical bumps with CDT, not sure how smooth it is now, though).   To say something about the last remark, I prefer Vim over other text editors, not because it does things that other text editors don't, but because it does things better. I know this doesn't sound right if you are new to Vim or you don't get Vim because I was both those things at one time and another. At least, this is how things went for me.
  5.   These editors have a certain level of knowledge that you need to gain before you can use them. It's really not that much info at all, but it feels like a lot because, in addition to learning, it takes practice using something that might seem bizarre at first.   Once you understand something like vim, those "simpler editors" become too simple, way too simple. e.g. I used to not care about moving around text with the arrow keys, but now I feel crippled without an edit mode.   I recommend reading this post on understanding vim: http://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim/1220118#1220118
  6. I've used clutter before for school and playing around with creating widgets: http://blogs.gnome.org/clutter/about/   Fun to work with, based on C (+ gobject), cross-platform, lot's of language bindings (vala, c++, javascript, etc...)...
  7. I'm new here, too, but for what it's worth welcome.   +1 for keep posting.
  8. Check out 3:20 of this speed model video: http://www.youtube.com/watch?v=W1j4iSyMrGE
  9. Two edges of a given triangle span the plane containing that triangle. So you could try looking at what you want to calculate as a linear combination of these basis vectors and solve it that way. Because of the particular X, Y components of your triangle vertices, this might actually be cheap: b(1,1) - b(1,0) + a(1,0) = (a,b).    Another way is to compute the plane equation: Ax + By + Cz = D and then solve for z.   The (X, Y) you gave is in either of the spanned planes, but not on either triangle, since it has a large Y component. I'm not sure if that was intentional. 
  10. I've used modo. The problem with it is that it doesn't have any kind of skeletal animation system (at least not when I used it). Other than that, it was pretty cool.   I recommend Blender. I like the UI. It takes learning, they all do, but it's a good UI. Once you get a hang of the basics, you will want to focus on modifiers and constraints.   Scultping is typically used to create high-res meshes. You "bake" the detail information into a texture that gets used in a lighting equation used to shade a counter-part lower-polygon version of the model. This applies to anything you want to look detailed, but cost cheap, including characters, architecture and other props.     As for your project, I would recommended skipping making the base mesh. Animating and game programming are more than enough for the time period you are looking at. The animation and programming tasks are related, the modeling is, essentially, orthogonal. It will eat into your time and be a little counter-productive.   I suggest doing some personal modeling and sculpting exercises separate. For example, every day, give yourself an hour to work on something that you'll trash. Sculpt a new head or polygonal model a humanoid base mesh or sub-div surface model a vehicle component thing.   You can use this base mesh: http://cgcookie.com/blender/2009/11/14/model-male-base-mesh/ And then follow these tutorials to rig and animate it: http://cgcookie.com/blender?s=rigging Then drop it into unity, create a little state machine system, and start adding more states, animations, and logic to it.
  11. I was playing around with Unity 3D just before their Unity 4 release. I just saw Mecanim and it looks like an optional way to animate and manage animations for a biped character. If you want to animate something like a spider, I don't think it would be much help: http://blogs.unity3d.com/2012/06/20/more-mecanim/   Unity's documentation says that it supports .blend files natively, so it sounds like you could do one or the other: http://docs.unity3d.com/Documentation/Manual/HOWTO-ImportObjectBlender.html    I'm not sure how interoperable animating between the two is, though.   Within the scope of the kinds of things they both can animate, I do not see any kind of fundamental difference. They are both a means to produce data that tells your rig how to transform itself as time passes. However, things like ease of use, personal taste, turn-around time, or available community content are all factors that could sway someone one way or the other.
  12. You'll be fine with Blender. IMO, it's amazing to have software like that available at no cost.   I'm the type of person that loathes tutorials. In general, I just want to read it, concise and lucid, in text, and then apply it. HOWEVER, when it comes to learning about how to use Blender, the BlenderCookie tutorials are far superior to any textbook. IMO, don't even touch a book, just check out their tutorials.   But I'm only saying this for learning Blender's UI and how to get it to do interesting things (how to make rope/shoe laces, polygonal/subdivision surface modeling, sculpting, rigging/skinning/animation, etc...). Though you could probably learn a lot about how to create art from those tutorials, that's not really what I used them for.   The first thing I ever did in Blender was subdivide the default cube a bunch and started sculpting. I ended up making a troll head, but there was no plan for that. I was just sculpting. I recommend just diving in and making some practice stuff. Don't be too precise and take lots of time (unless things are starting to really turn into something), but instead try to play it quick and loose. Try to move stuff and cram things together so that it looks right. Later on, you'll learn how to do things clean and with more intent. Also, you want to focus on the real "problem" here, getting things to look right. That's what you want to learn.   However, one thing I wish I knew before I started playing with modeling apps was the whole workflow thing. Basically: what is the "big-picture" that you're working towards, where does appX fit in, and will I need an appY, appZ, etc... to finish? I'll explain my workflow with Blender. (Note, people have different workflows, where they do things in their own order and use their own preferred collection of tools)   Say I want to create a high-poly looking character that I can animate and put in a game. With Blender, I can: create a base mesh for the character, apparel, extra parts, etc.. sculpt it (high-res) retopologize it transfer my high-res detail to the retopo and touch it up bake maps (normal, ao) texture it (diffuse) create a rig for the model (a collection of bones that have various relationships and constraints with one another) skin the model to the rig create multiple animations export the result (I can also create my own export script in python, to target my game engine directly) So, Blender is pretty much all you need. In reality, I'll sometimes use sculptris or zbrush for 1-2, but I'll usually use xNormal for 5. In steps 1-2, I'm trying to figure out what the character looks like. In steps 3-5, I'm trying to make it look good, but with far fewer polygons. I'm also arranging my polygons in certain ways, in anticipation for animation. In 6, I'm coloring it. In 7-9, I'm animating it. In 10, I'm done and sending it to the engine. Anyways, that's one example of a workflow.   Just for note, Unity 3D can read .blend files. Basically, do steps 1-9. At 9, remove all the intermediate/beginning stuff from the scene that you don't need. Just keep the final work and the animations. Then, drag and drop the file into Unity. This will create a separate copy of the file that unity will keep in the assets folder (if I remember the names correctly). Want to add an animation? double click the file in Unity, Blender launches, then create your new animations. (when I was playing around with it, there were a couple of small bumps here and there, but it was still pretty smooth and quite usable).
  13. If the edges can move freely, you could get a distance value of zero if the edges happened to become parallel, despite a possibly large |AC|.   I don't think your distance function properly captures the concept of distance. (This is probably already clear in the discontinuity that you observe.) See: http://en.wikipedia.org/wiki/Metric_(mathematics)   I think there are too many things going on at once with your formula. First, you have the magnitude of the separation |AC|. Second, you have the relative orientation of this separation with respect to the normal (ABxCD)^. Third, you have a time evolution behavior that dynamically changes the "semantics" of the formula (at least for me, as I try to interpret this as something distance-like). It might be a little too untamed for what you are trying to use it for.   I understand now a little more clearly what you were trying to do in your other post. I think you wanted to try to piece-wise apply this function correctly. If you are seeing positive benefits from using this function and wanted to pursue making it work, I would give that a second look. On a cursory look, you have maybe three things to consider. (a) The cross-product vanishes. (b+c) The two different signs of the cross-product.
  14. Sorry if I misinterpret anything you said.   What I understood is that you want to study a curve. In math, a curve is more general than a line. For example, it can be "curvy". A line, though, is "plain" and "straight".   If your curve happens to be the output of a function (i.e. it passes the vertical line rule), then the ordering of the input points doesn't matter, in that you can first sort them according to their x-coordinate. Otherwise, you would need additional input to tell you how to parameterize the curve (i.e. the order of the input points).   For a curve, there exists a tangent line for every point on the curve. For a line (again, a line is a curve), the tangent lines happen to all be coincident.   The input points are discrete, but a curve is continuous. Given a finite set of points, infinitely many curves can pass through them. There is no "the curve" for these points. However, if your points meet certain criteria and you impose certain constraints, then there can be such a thing (such as the interpolating polynomial of a degree no more than one less than that of the number of points). One way to make "smooth" curves is to impose constraints on a higher order derivatives of an interpolating function.   A simple starting point could be to assign each point the average slope from its neighboring lines. For example: Input: p0, p1, p2, p3, ..., pn   (for 0 <= t <= 1) L1(t) = p0 + t * (p1 - p0) L2(t) = p1 + t * (p2 - p0) ... Ln(t) = p{n-1} + t * (pn - p{n-1})   slope(p0) = (1/1) * (slope(L1))  slope(p1) = (1/2) * (slope(L1) + slope(L2)) slope(p2) = (1/2) * (slope(L2) + slope(L3)) ... slope(pn) = (1/1) * (slope(Ln))   As Emergent mentioned: slope(L1) = (p1:y - p0:y) / (p1:x - p0:x) ...   In my opinion, paper is superior to computer for learning mathematics, but learning how to program mathematics is worth the effort. When making your calculations, check things like divide by zero and look into the implications of using floating point numbers, instead of infinite precision real numbers.
  15. Sorry dirk, I missed the part in your original post where you were talking about the direction being something like n = e1 x e2.   If your difficulty is with giving a negative value to your root-finder algorithm, you could look for the roots of s^2. That function is always positive and has the same roots as s.