• 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

196 Neutral

About Geocyte

  • Rank
  1. I said to decrement it IF you planned on re-using it; since you don't there is no need =)
  2. You don't need to use back() at all. In your case it is irrelevant. You don't really need to use end() either but you should understand that it returns an iterator pointing to a dummy element PAST the end of the list. The last VALID element in a list is at --end(). This is to allow various operations, algorithms and loops to be more strraightforward, for example: for ( std::list<int>::iterator itor = intList.begin(); itor != intList.end(); itor++ ) { *itor += 5 } Here no special attention has to be paid to ensure the last element is included in the operation because we can check our iterator against the dummy element returned by end().
  3. To insert an element after the iterator simply increment the iterator before you insert. mylist->insert( i++, ... ); No need to check if you are on the last element... if you are your iterator will point to the dummy element at the end of the list and your new element will insert before that. Only thing is if you are using the iterator again don't forget to decrement it beforehand or it may point to the wrong element or even the dummy element at the end of the list, which is to help with list management and may not be referenced (this sentinel element is returned by the end() function). owl: yes back() returns the last element, not an iterator.
  4. I don't wish to rain on your parade but there is a flaw inherent in your concept, namely that 'near future' and 'space travel' do not belong together in any realistic fictional universe. By the time we colonise other parts of this star system we will already have invented super human AI, cybernetic brain implants, a variety of weird new weapons (energy based weapons are unlikely, however) and totally mastered fusion as a power source, which would be the natural choice to power spaceships. HOWEVER, if you are looking for a retro-futurist 'steampunk' vibe then thats a different story and reality has little to do with it, in which case why not just use PETROLEUM? It has a whole car culture associated with it already which you can use as narrative and stylistic inspiration. (btw it's not completely unfeasable to run a spaceship on gas, just very impractical)
  5. Pentagrams ARE a pagan symbol no matter which way up they are. Point up is for white magic, point down is for dark magic. Obviously point-down is associated with devil worshipping etc but this is naive since devil worshipping and paganism are two very different things. The devil is part of christian mythology, not pagan mythology, thus devil worshippers are actually a type of christian.
  6. I do this at the quadratic interpolation stage, given four quats: quat_previous, quat_a, quat_b, quat_next // try to make sure that the shortest paths across the 4D hypersphere are followed... if ( quat_a.dot(quat_b) < 0) quat_b = -quat_b; if ( quat_a.dot(quat_previous) < 0) quat_previous = -quat_previous; if ( quat_b.dot(quat_next) < 0) quat_next = -quat_next; For a simple slerp you probably only need the first line. Hope that helps.
  7. Evolution, among other things, teaches us that diversity is strength. A planet with a homogenous culture runs the risk of encountering unexpected problems that it cannot easily solve. If all technology failed, for example, they may lack the skills to adapt quickly to an agricultural or hunter-gatherer lifestyle. If all technology on todays earth failed, however, some people wouldn't even notice. Regarding the genealogical question, as people move around more we'll average out a bit but there are lots of social and biological factors which work against this process. For example, your body can tell from pheremonal cues how compatible your immune system is with a potential mate. The most efficient mates have fairly compatible but not identical immune systems so people aren't biologically that inclined to choose mates with radically different DNA. So that's a no on both counts.
  8. well if i may interject with a useless fact, pure water is not tasteless and actually tastes quite weird, it's just that you quickly get used to the taste of whatever type of water you drink.
  9. A vertex may be affected by more than one bone to achieve a soft body feel to the animation. Around the elbow, for example, verteces are usually transformed by a combination of the upper arm and lower arm bones. weights for any one vertex usually add up to 1. Using weights in your animation is easy as you can simply get the position for the vertex as transformed by each bone that affects it then do linear interpolation using the weight values as your percentage argument.
  10. not sure what specific applications you need this for but bear in mind that it is often enough to just draw your _models_ in back to front order, switching culling to front faces, rendering the 'inside' then switching culling to backfaces and rendering the 'outside'. This is much faster than sorting every individual triangle, but occlusion is not a trivial problem and it depends what exactly you are trying to do.
  11. I did this a while ago using ASCII. Not sure if it was the best way but it worked for me. I used blocks to represent the tree structure, after each bone was written out I wrote flags to mark the beginning and end of the list of child bones { bone 1 childlist begin // some bones } bone 1 childlist end then when the reader comes across them it knows to call down() and up() on the write iterator for my tree class. each bone consisted of its origin relative to its parent and its transform data relative to that origin. To make life easier when reconstructing skeletons I also stored the accumulated origin and transform data relative to the model. You can work this out as you go but its easier to just read/write it and it's not a performance critical bit of code anyway. I stored skins in seperate files which allows me to apply different skins to one skeleton and its corresponding animation data (skins are just a big list of all the verts, each one stating the bones it is linked to and the weight for each one). Anyway, like I say, not necessarily the best way... just the way I did it at that time :)
  12. Dont be afraid to NOT say things. Rather than try to describe an environment, character or situation I usually try to touch on one or two things that capture it's essence or just touch on the most important points. You have to trust your readers to fill in the gaps. This helps them engage with your work and it keeps it moving along quickly which stops people getting bored. Similarly, you should try to get your message across not just by what you say but also how you say it. If you can put a sub-text in a sentance which reveals something about your story and negates the need for you to explain it outright then your work stays fast, energetic and acquires depth because it necesitates interpretation which engages the reader. Character development and ambience are not bad things but they should always serve the story and neither can be indulged as an end in itself. If something is not absolutely integral to the story I leave it out. Try to work these things into crucial story elements. I usually end up relegating most character development to sub-text and try to make sure that any descriptions of environments are relevant to a situation or to a characters mood (affecting it, reflecting it or contrasting it), or ideally both. a overly simple example: Jake held up his old gun and wondered if it would even work in this rain. Illustrated that Jake is a loser (his gun is rubbish). Established that he has a sardonic nature since this amuses him more than frightens him. We have described the environment and provided ambience (rain). We have also engineered some tension... now if the gun works we will be more satisfied. Anyway, it's not bad. Don't take me too seriously, you probably do more writing than I do anyway and also I should mention that J.K. Rowling, for example, does none of the above and has sold hundreds of millions of books. peace
  13. With glut (which is what I use) the raster position is automatically moved to the right as characters are drawn (so all the characters are not drawn in the same place). Try setting the raster position every frame before you draw the text.
  14. Anonymous: Asking for a little help with homework/coursework is allowed... asking for the answers is not. Nothing in this thread is out of line.
  15. Sven has to acquiesce to the demands of premiership managers who don't want their players coming back from England duty exhausted / injured and even the FA cannot change this because the clubs own the players contracts and the law is on their side. However, we have a series of 'prestige' friendlies scheduled which are presumably designed to address this exact situation and we can expect to see our best team fielded for all these games. The quality of Englands players is undoubtable, Sven is a good tactician and he has done a great job of building team spirit. If we are fortunate enough to avoid injuries I think we have a very good chance :) Don't be disheartened by media pessimism. Get your news form a more positive source... www.england-supporters.com :D