• 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

259 Neutral

About coelurus

  • Rank
    Advanced Member

Personal Information

  • Location
  1. You say you studied for grades in school. What is your goal this time, to study only enough maths so you can do the programming you're thinking of right now, or to actually gain that luscious deeper understanding and have a larger set of mathematical tools to choose from in the future?   The best way of learning depends of course on who you are, but having a printed book is hard to beat. As has been mentioned, there are loads of really nice free video lectures online as complementary material, have a look. And considering the level of English in your post, I'd say maths books at the level you're interested in shouldn't be a problem. As always, there's no magic book to open the doors for you, just grab whatever you can find at the local library and have fun. Search for natural science programs in high schools and universities and see in what order they teach maths and go by that. Keep programming and try to find ways to apply what you're learning, and eventually you'll do just that with linear algebra.   Also, don't skip too many parts, thinking they are not relevant to rotating a 3D object. Maths is wonderfully intertwined, and starting with a strong foundation, new things in maths will be "obvious" rather some something you need to cram or constantly look up (i.e. "the reason for this expression is this, so the answer to my question is that" vs "was it this or that, wikipedia help!").   That's what I did, and what I'd do again...
  2.   Note that this will create a higher density of points close to the center of the disc. If you'd prefer a uniform distribution of points in the xy-plane, either generate (x, y)-pairs until one point falls within the circular sector of the player of interest, or scale the points by sqrt(L): [source lang="C++"] x = sqrt(L) * cos(angle); y = sqrt(L) * sin(angle); [/source] Read up on polar integration for more info.
  3. To indulge the OP: A good friend of mine started using Linux many years ago after having seen me tinker. He currently lives with his fiancee who plays the organ in a church and pretty much organizes any music (the choir, inviting "classical bands" some nights etc). They have at least 5 PCs or so (a media server, media player, one or two office computers and a laptop, he's a collector), all running Ubuntu (I think he is trying Arch on the laptop atm) during the day with the power horses dual booting to Windows for hefty games. Even though his fiancee is not a computer monster (she does what "normal people do" on computers), she really likes Ubuntu and have no issues or complaints about it. My good friend takes care of tech related issues anyway, and afaik that's a rather lazy "job". Wouldn't dare say this is the reason they love each other, but they both use Linux and they live a happy life together. For the nervy people: She is really pretty too... And does not smell funny! Aah, online communities, the metal grater back rub.
  4. There are a few things you can do to compress the storage: *) Non uniform zenith angle, use more detail at the horizon, can reduce # verts to at most 60-70. *) Reuse color sets, use one "day color set" and one "night color set" for several hours, 8 color sets should suffice. *) As joe_bubamara stated, you don't need 32 bits precision, or even 24 bits since you interpolate, you will get all possible colors anyway. *) From the good old links by filousnt, skip azimuth dependence for color and modulate brightness. Let's say you have a 12*5 skydome, 8 color sets, 16 bits of color precision and zenith only dependence. With all the above it'd take 5*8*2 bytes = 80 bytes. For the entire skydome, 12*5*8*2 bytes = 960 bytes. A couple of years ago I specified 4 angles for azimuth and interpolated between, 4*5*8*2 bytes = 320 bytes.
  5. In short, there's no explicit expression.
  6. Convert to and from fixed point: unsigned int i32 = ((unsigned int)(v1 * 65535) << 16) | (unsigned int)(v2 * 65535); float o1 = (i32 >> 16) / 65535.0, o2 = (i32 & 0xFFFF) / 65535.0; I don't know specifics of HLSL, but something similar to the above code should do the trick.
  7. Don't remember what happens to keyboard input when you do the override thingy, but what you say sounds reasonable. Grabbing the keyboard will fix it: XGrabKeyboard(dis, win, true, GrabModeAsync, GrabModeAsync, CurrentTime); Make sure to ungrab and regrab whenever you should. I would strongly suggest you take a look at some existing source code, X has a rather steep learning curve. The simplest sources are games, but they still cover the most important parts.
  8. It's all handled with bitmasks: /* Enable redirection override. */ att.override_redirect = True; /* Mask all wanted event bits together. */ att.event_mask = KeyPressMask | KeyReleaseMask | PointerMotionMask | ButtonPressMask | ButtonReleaseMask | etc...; /* Tell window to take care of both override redirection and input events. */ XChangeWindowAttributes( dis, win, CWOverrideRedirect | CWEventMask, &att );
  9. You don't need the override thingie for input, but events: att.event_mask = KeyPressMask; XChangeWindowAttributes( dis, win, CWEventMask, &att ); Check out the source code for the Quake games, they got a lot of useful stuff on X.
  10. I'm in the process of writing my own general-purpose GUI and it'll replace wxWidgets in an editor and be used in-game. Written as a plugin and "only" takes care of the spatial relationships and events, rendering takes place in GUI renderer plugins. Only got a silverish renderer atm, but it'd be possible to make one that co-works with the scene plugins for 3D GUIs with all the available graphics effects, whatever one would do that for.
  11. Do you save your normals using angles? Try vectors and transform your lights into tangent space with a TBN matrix (time to google!), vectors will represent normals in one reference system and you won't get those discontinuities.
  12. I have no experience in FBX files and what parts are relevant to eachother, but do the animation rotation angles follow the rotation axis order parameter ala in the FBX SDK GetEulerRotation{X,Y,Z} and GetRotationOrder?
  13. How about writing one effect file for each possible case regarding both effect and implementation? Gonna be a lot of effect files, so just split up them up into different directories by implementation. This is very much a decision you will have to make, it's mainly a small organizational issue that determines how the effect development will work. Doesn't affect the higher level of the rendering process, so just choose one for now.
  14. Regarding the "coordinate frames", it's already been covered in here. Don't concatenate quats from different coordinate systems (like one from object space and another from world space). But we already know that, right? :p Why are you trying to reconstruct a quaternion from Euler angles extracted from another quaternion? Look at each Euler angle you get and see if they're correct, simple examination that should tell you what goes wrong.
  15. I studied "programming maths" by myself a couple of years back when I was still in elementary school, had one or two old high school grade maths books at home. University only showed me that the stuff I did was all true and how to extend upon what I already knew, plus interesting ways to use programming practically (solving the time-depenent Schrödinger equation in realtime in two and three dimensions, yummy!).