• 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

116 Neutral

About Blossum

  • Rank
  1. I've had VS2010 open on the current project I'm working on for the last 4 months. I can't even remember how long it took to start, but I'm sure it was unacceptably long.
  2. [url="http://en.wikipedia.org/wiki/Degaussing#Degaussing_magnetic_data_storage_media"]http://en.wikipedia....a_storage_media[/url] Also see: http://en.wikipedia.org/wiki/Data_remanence
  3. How about instead of using the naturally serialized structure of a pipe, we use a series of cannons and trampolines to bounce your packages from source to destination. The sources are all cannons that fire to dispatch trampolines, which pivot to direct packages along the trampoline network. Your mailbox would then be replaced by a pillow, which inhibits future bouncing of your package. This way, the system can't get 'clogged', as in the tube case.
  4. Has much more to do with someone who knows about linear algebra. See: [url="http://en.wikipedia.org/wiki/Cross_product"]Cross product[/url], which will give you what you want. Also at [url="http://mathworld.wolfram.com/CrossProduct.html"]wolfram[/url]. Calculate the cross product for a triangle, then normalize said cross product.
  5. [quote name='Sandman' timestamp='1314400258' post='4854243'] This means that while the higher level spells may be awesomely powerful, you will have some tough choices to make about which spells to learn and when to cast them, as replenishing them can be difficult. Even the low level spells need to count, since nothing is really spammable. ISTR the most castings you can have at any level for a wizard is 9 - and that has to be split between attack spells, buffs, debuffs, utility etc.[/quote]The problem with adapting this to a video game platform is precisely this 8-hour uninterrupted rest period. Lots of efforts to do this allow you to just click a 'rest' button of sorts, and get your spells back. Thus every fight ends up being a spell dump, starting from your strongest spells and going down the list [even for relatively weak enemies]. More conventional fighting characters in the D&D universe just aren't meant to operate in this way. The wizard on the team is pretty much always the big gun with one round in it. This 'on the team' part is also a vital thing that makes the sheer damage-doing-capacity less of a focus for D&D wizards, and they tend to assume much more a support roll. If you're talking about a PvP game with wizards, where both fighters are well prepared for the fight, wizards win [chances are, in a fight between 2 wizards, the first one to push the button wins]. They win because they don't need to consider their longevity, and they can just come in with a battery of self-benefitting [shields pretty much] and damage doing spells, and they just dump those spells. Other classes are built for longevity. If you want to make something like this in an online game, you really need to put pressure back on the wizard to conserve their abilities rather than just spell dump at the drop of a hat. Something like, for example, hour-long cool-down timers, and generalized pvp where both parties don't necessarily need to agree to fight or even be aware the fight is about to take place. This would imply a fighter can just wait for a wizard to waste their higher level stuff on undeserving targets, before they take advantage of the situation to cut down the then defenseless wizard. Likewise, if a wizard comes in and spell dumps to kill someone, they are themselves then an easy target to anybody who didn't much appreciate losing a teammate.
  6. Could always take the lame route taken in electronics fab, and keep printing until you get some that match up well enough to make your model. Pretty lame route to take, I know. Maybe though there is a better option, and do something interactive. Print a small handful of markings that you expect people to use just as a coordinate system, then target tablets. Have people fold against the tablet, and show the folding instructions there instead of on the paper. Use the paper only for producing a coordinate system. Just wondering though, but when you say that there is an innacuracy in the print, do you mean that the entire printed images is transformed linearly, or are there different transformation in different parts of the image? If it's just linearly, then the fab approach may work, you just include in your image a number of markers that you expect to line up. When you get a set that match, you start folding.
  7. Operating system doesn't matter, but i'm much more comfortable developing in windows in general [but can operate in either... I'm just much less experienced with linux]. The program being used is written in Java, and is written portably. Input file sizes are typically between 500mb to on the order of 3gb, producing from about 250mb to the order of 1gb. A bit too much to run concurrently from a ram-disk [at least for me, I've got about 4-8 gb per machine on a cluster I have access to, which I need to share with others, or 12 gb on my own machine. The cluster is Linux, my machine is windows]. Outgoing is streamed, incoming is random-access [not completely random, it streams for a few mb, then skips to somewhere else]. I'm not sure how to make files into pipes, but I'll read up on it. Also, I'm reading up on detours. Thanks for the pointers thus far.
  8. Hello everyone. I'm in a bit of a pickle. I couldn't decide which forum section to put this in, so I played it safe and put it in the general spot, but it is a technical question. I'm stuck working with a bit of software that I don't have access to the source code for, so hackery isn't an option. This software operates over files. It's input is files [large files], its output is files [large files]. The way I currently do it, because I pretty much have to, is I run a script that generates the input that'll be fed into this program, run the program, then run a script that chews up the output, grabs one nugget of knowledge, and throws the rest away. I need to run a lot of these runs, but because this thing is so IO intensive, running it on a naive cluster isn't an option since the NFS just chokes on all the file IO. Instead I am spreading it to a few places, but using local disks. Still though, it's super IO bound, and sits on an enormous amount of disk space that is really unnecessary. So I started thinking... These files it inputs and outputs have a very regular structure to them. I know right where the data I need is in this file. Likewise, I'm spinning off the input file from a script that is logically simple. If only I could intercept the file request, and get the file requests to go to my script instead of to the disk. If only I could channel the file output into my script that catches the data I want, and just throw all the rest away instead of even writing it to disk. If only.... then I could take the use of this retarded piece of software that I unfortunately need, and make it scale, and thus soar. So. Any ideas? An instrumentable file system would work great. Virtual files?
  9. I find it to be a perfectly acceptable spider-squasher when you see something big running across your desk. I find that very little is truly wrathful enough to blast those creepy crawlies straight to hell quite like that book.
  10. Quite a number of indie and/or open source game projects benefit greatly from publicity and formation of a following previous to their actual, final, release. This is especially the case for open source projects that rely on the generation of a community of followers from which to draw developers. Many of these projects begin releasing versions as soon as they have something that's barely playable. However, with the growing popularity of indie/open source online games featuring persistence, I've been trying to think if it's possible for this same approach to be applied to this style of project. Is it possible to garner interest by releasing these super-early alpha versions if your game is to feature a persistent world? Just to make things concrete, I'll point out one of the obvious problem with persistent worlds. If you make a dumb alpha-release decision, or have an exploit enabled in an early alpha version, the effects of this stick around. The problem comes up with fixing the blunder, which involves effectively resetting things. A few routes I can think of to deal with persistence in projects of this style: 1) Before final releases, be forward about the fact that players will see a full reset every x days [say, once a month]. This gives an opportunity for developers to cleanly break from early bad decisions, while not making it seem like your robbing your community.. 2) Each major revision sees a new world instance start, with a specific future end-of-life of the now deprecated world. This gives the community more of chance to migrate, but may put a fair bit of extra burden on developers having to keep old stuff running until it's end of life. What is your opinion? Is this sort of development pattern reasonable for persistent online games?
  11. Also, character pointer equality doesn't work that way. You'll thus likely never find what you're looking for. For example, x MAY be true:[code]m_VertexShaderMap["Hello"] = NULL; bool x = m_VertexShaderMap.find("Hello") == m_VertexShaderMap.end();[/code]It MAY be true because you MAY be storing each of these Hello's in different places... or maybe not. Comparing character pointers is thus not equal to comparing the things pointed to. Either use std::string's, or implement a separate comparison operator that compares content instead of address.
  12. The difference is going to be generating your art assets, so what is the point of going 2D with the intention of going 3D later? I can understand it if you're using 2D place-holder art, like triangles to represent characters and such, but pushing toward a full blown 2D game [which is enormously time consuming for artists], only to throw it all away and later push toward a full blown 3D remake [also enormously time consuming for artists] seems pretty silly. If you intend to just dump the 2D later, go straight to 3D.
  13. A machine gun that shoots machine guns that each shoot dogs with bees in their mouths so when they bark in panic from being shot out of the machine gun they shoot bees everywhere.
  14. Perhaps a better way of looking at this rather than performance cost of registering/deregistering callbacks, is the cost per unit of real-world time. Focus switches occur very infrequently, and humans don't type very fast. If you're making a decision between a awkward implementation that executes in half the cycles, or a friendly implementation, those cycles get paid infrequently enough where you likely won't even notice the overhead. Thus, the real choice you're making is between friendly and awkward, and that choice is pretty obvious.
  15. [quote name='Farraj' timestamp='1307627521' post='4821309'] In my point of view, the only way to handle a bully is to give him a taste of his own medicine.[/quote]You can actually approach this from an opposite but similar direction. How about when you initiate PvP combat, for the next N game time units [2 days, 3 days?], a number of NPC's will be hostile to you, which have levels equal to your level, plus the difference between your level and the level of whoever you attacked. So if you're lvl 20, and kill someone who is lvl 2, you're going to have enemies chasing you for the next 3 days who are lvl 38, and will likely dole out the spankings in abundance to your puny lvl 20 character.