• 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

963 Good

About TheUnbeliever

  • Rank

Personal Information

  • Location
    United Kingdom
  1. Yes, that's[quote name='StoneMask' timestamp='1343267216' post='4963136']Would it really mess up my timer variable, or my hOut, etc.? I'll post the fixes to the stuff like that in a little bit, but I need help on the base problem here.[/quote] Yes, it would - that's why two separate people have told you so :-) You may have similar problems in other source files, but that is the cause of all the errors you've posted here. Roughly what's happening here is: 1. Compiler looks at function definition. 2. Compiler sees that it claims to be a member function, but there is no matching declaration. 3. Compiler tells you so. 4. Compiler assumes that it is [i]not [/i]a member function, and proceeds to see what sense it can make of the rest. 5. Because this assumption is wrong, Compiler thinks things which you expect to be in scope (e.g. timer) are not in scope. 6. Compiler tells you so, repeatedly. You have to take errors after the first with a pinch of salt. With practice, you'll learn to tell when an earlier error has caused the others. Until then, as I say, a reasonable rule of thumb is that if you get [i]squillions[/i] of errors, then one of the first few is the real problem. I've had GCC spit 40 pages of errors at me, all to be fixed by changing just a couple characters in some header somewhere.
  2. Well, for example, the 'Act_Shoot' declaration in FINALBOSS.h is commented out. The compiler complains about that, and will then spew out a whole collection of errors for the body of the function because e.g. as it's not a member function, it doesn't have (unqualified) access to other members of an instance like 'timer'. More generally, a small number of errors is often unrelated, but a huge number suggests that there's a few root causes cascading, and that you're better taking the first, recompiling and repeating the process until they're hacked down to a more sensible number.
  3. You can index a linear array as if it were multidimensional by using a formula like x + y * width. i.e. Skip y rows of width elements, then x elements preceding the one you want on the row you want. Your code just reverses this. Where width is the number of tiles in the texture, and x < width: integer division truncates so (x + y * width) / width = y; % is the modulo operation, which effectively gives you the remainer: (x + y * width) % width = x.
  4. Can you clarify your system some more? RANSAC is a general robust estimator. It's entirely possible to use it to extract multiple models from a dataset by e.g. running it repeatedly on the 'leftovers'. EDIT: Didn't realize this thread was from March.
  5. [quote name='Ravyne' timestamp='1340211232' post='4951021']Then you could just use the left-eye image for player 1 and the right-eye image for player two, and use standard 3D displays.[/quote] I ruled this out because of the limited viewing angles if the glasses were polarized, but obviously this wouldn't be a problem with active shutter, which I didn't think of for some reason...
  6. Smooth. Do you have a paper? How do you plan on handling perspective for multiple players?
  7. I'm finding it difficult to follow what you're saying, but it sounds like it could be greatly simplified by just introducing iterator invalidation akin to that in the standard library. If I [font=courier new,courier,monospace]erase[/font] from a container, my existing iterator is invalidated - I must instead use the one returned by the function.
  8. Three affirmatives. :-) (I hadn't even noticed the dot first time!)
  9. [quote name='sectrix' timestamp='1339633003' post='4948990']the minimum s' in predecessors of u, as calculated by ( g(s') + c (s', u) ).[/quote] Not quite. That would be written 'argmin', whereas we just have 'min'. This is the minimum [i]value of g(s') + c(s',u)[/i] for any predecessor s', not the predecessor itself. [quote]When comparing: U.TopKey < calculateKeys, ie: (X1, Y1) < (X2, Y2), is this (X1 < X2) AND (Y1 < Y2), or (X1 < X2) OR (Y1 < Y2), or something else entirely?[/quote] Explained from around the middle of the first paragraph on page 478, starting at 'keys are compared according to a lexicographic ordering.'
  10. [quote name='sectrix' timestamp='1339625653' post='4948950']Does the function return two values?[/quote] It returns a pair or 2D vector; the authors have opted for [a;b] over (a,b) to improve legibility. [quote]The other line I had trouble with was this one: min [sub]s' (is element of) pred(s)[/sub] (g(s'), c(s', s)). I don't get that one at all. The s' in pred() with the smallest g or c?[/quote] I don't see this line. I [i]do[/i] see min [sub]s' (is element of) pred(s)[/sub] (g(s') [b]+[/b] c(s', s)) - i.e. the minimum of the expression on the right over all predecessors of s. EDIT: slightly clearer wording.
  11. [quote name='Adam West' timestamp='1339154443' post='4947329']actually, i figured it out myself at school, its quite a cool way too and its not as error prone as polling[/quote] It's still polling - this is actually (a minor variation on) the solution proposed several times earlier in the thread.
  12. Relevant: [url="http://www.chris-granger.com/2012/04/12/light-table---a-new-ide-concept/"]Light Table[/url] (the Kickstarter's finished now - it got funded, and is in this summer's Y Combinator; there's more details available elsewhere on the site)
  13. If you do as I suggested and make sure your curves are [url="http://en.wikipedia.org/wiki/Parametric_continuity#Parametric_continuity"]continuous[/url], you should get what you want. [i]Assuming I've done things right[/i], I get C[sub]2 [/sub]continuity between curves p and q (i.e. position, velocity and acceleration continuous across the join) requiring: q[sub]0[/sub] = p[sub]3[/sub] q[sub]1[/sub] = 2p[sub]3[/sub] - p[sub]2[/sub] q[sub]2[/sub] = p[sub]1[/sub] - 4p[sub]2[/sub] + 4p[sub]3[/sub] Working: [spoiler]p(t) = (1-t)[sup]3[/sup]p0 + 3t(1-t)[sup]2[/sup]p[sub]1[/sub] + 3t[sup]2[/sup](1-t)p[sub]2[/sub] + t[sup]3[/sup]p[sub]3[/sub] p'(t) = -3[(t-1)[sup]2[/sup]p[sub]0[/sub] - (3t[sup]2[/sup]-4t+1)p[sub]1[/sub] + t(3t-2)p[sub]2[/sub] - t[sup]2[/sup]p[sub]3[/sub]] p''(t) = -6[(t-1)p0 - (3t-2)p[sub]1[/sub] + (3t-1)p[sub]2[/sub] - tp[sub]3[/sub]] C[sub]0[/sub]: p[sub]3[/sub] = q[sub]0[/sub] C[sub]1[/sub]: p[sub]2[/sub] - p[sub]3[/sub] = q[sub]0[/sub] - q[sub]1[/sub] p[sub]2[/sub] - 2p[sub]3[/sub] = -q[sub]1[/sub] q[sub]1[/sub] = 2p[sub]3[/sub] - p[sub]2[/sub] C[sub]2[/sub]: -p[sub]1[/sub] + 2p[sub]2[/sub] - p[sub]3[/sub] = -q[sub]0[/sub] + 2q[sub]1[/sub] - q[sub]2[/sub] = -p[sub]3[/sub] + 4p[sub]3[/sub] - 2p[sub]2[/sub] - q[sub]2[/sub] -p[sub]1[/sub] + 4p[sub]2[/sub] - 4p[sub]3[/sub] = -q[sub]2[/sub] q[sub]2[/sub] = p[sub]1[/sub] - 4p[sub]2[/sub] + 4p[sub]3[/sub] [/spoiler] [quote name='Fr4gz0n3' timestamp='1339095376' post='4947129']the increment in every part is T+=1/Curve_lenght, so in a curve T increment can be 2 units and in another one can be 5 units.[/quote] How do you determine the curve length? If you scale your steps in t by the arc length of the current curve, that should work.
  14. If the curves are continuous (which you can arrange by equating however many derivatives as is appropriate for the level of 'smoothness' you want and solving the resulting system of equations) and you carry whatever is left of any step into the next curve, the joins should be imperceptible.
  15. I think, if you laid your spreadsheet out appropriately, you could save as CSV and the only conversion that would be involved would be a fairly simple regex.