TANSTAAFL

GDNet Emeritus
  • Content count

    970
  • Joined

  • Last visited

Community Reputation

1160 Excellent

About TANSTAAFL

  • Rank
    Moderator - Isometric Land
  1. Scared, I have ideas, but know not what to do.

    Bear with my allegory for a moment. It'll pay off.   P.S. Yes, it's really me.   I live in Racine, WI.   I have in-laws in St. Paul, MN.   Upon occasion, like weddings and such, there has been need to travel from where I live to where they live.   It is about a 5.5 hour drive according to google maps.   I don't know how to do a five hour drive. Its too long. Its too far. If I think about it, I'll just quit.   So, instead. I drive to Madison, WI.   That's only a 2 hour drive.   Once I get there, I usually stop for gas, snacks, drinks, and to pee.   Then I drive to Tomah. Then to Eau Claire. Don't speed through Eau Claire, BTW.   And finally, I drive to St. Paul.   Why is this germane?   There are things that I am confident that I am able to do.   There are things that I consider impossible for me to do.   And there are things that I think I can probably do, but need to stretch my comfort zone a little.   See what I'm saying?
  2. I loved your book!
  3. Game designs of questionable ethics

    You have stumbled into the realm of serious games. Whether you want to explore this realm artistically, or whether you want to return to a more abstract less cerebral sort of game is up to you. For example, if you change it to breeding different colored and shaped blobs, and breed red and purple blobs to make red/purple striped blobs who don't like green blobs because of pheromones that the green blobs excrete, you've got an interesting abstract game that no one will have issue with. If, however, you decide to go the serious game route, you need to put a little more into it. First, your winged elf/centaur mix don't like cat people. Since presumably the winged elf/centaur combination doesn't happen in the wild, and likely needs some sort of "magic" to enable, I find it unlikely that there is some sort of societal norms nor necessarily any sort of affinity towards their own kind, as they are not only an enslaved race, but also one bred in captivity. The union, for example, may only produce one gender, like the real life case of the mule, liger, or tigon. So then we need to explore WHY they don't like cat people? Are they all allergic? Do all kitten children pester the winged elf-centaurs from a young age? There has to be a *REASON* for the racism, either something that stems from reality, or something perceived. Historical and modern racism (and similar stereotype problems) are often institutionalized over generations, but just having your father not like a particular group is not usually enough for you to dislike the group , there will be some sort of behavior observed(an usually misinterpreted) that helps to reinforce the stereotype. So, really, your game can explore all of these options, if you want. Or not. In which case, make it a Blob Breeding game. It is safer that way. It is also less work.
  4. This is a balancing act. On the two extremes there are: 1) put every single tile into one gigantic image 2) put each tile into its own individual image Option 1 works up until there are a certain number of tiles. Option 2 also works on a lower number of tiles. However, as you increase the number, each option leaves you a bit of a maintenance nightmare, as editing a huge image is hard to do, as is herding a zillion little individual images. What to do? Either organize them into multiple multi-tile images where the images should probably be related. or Still go with individual images, but organize them into folders.(I do this a lot in Silverlight) The key here is "logical groupings" And by logical grouping, I mean groups that are unlikely to be on screen at the same time, like your grass/snow/desert logical division. For performance, it depends on how you are rendering If you are using a 3D api, or a 2D api that uses 3d rendering, then you probably want to have some larger images, as texture switching is expensive. If you are using a 2D rendering api that does not use 3D rendering, then you need to be careful of the capabilities of the rendering hardware (most modern graphics cards will do fine with whatever you want to do). If you are using a library that composites UI images into a hierarchy of other visual elements, then you'll want to use individual images.
  5. I'm not telling you not to use tutorials. (And it doesn't sound to me like others are telling you not to use them, either.) Tutorials show how things are done. Tutorials do not show you how to do things. A tutorial can tell you how a window is created, how directx is initialized, and how graphical primitives are rendered. These are important things to know, especially if your intention is to make windows, initialize directx, and render graphical primitives. Your Data Structures professor (you mention in your OP) is attempting to teach you to think like an engineer. His example is that you don't memorize data structures. This is true. It isn't important for you to be able to implement the equivalent of std::vector or std::list or std::map. What is important is to know in what circumstances each one is the better choice, and the trade-offs between them. The same thing goes in directx (or any api like it). It isn't important how you draw the primitive. It isn't important for you to know how a triangle is rendered on screen, or to know how a triangle list versus a fan versus a triangle strip is implemented. The important thing is to know the trade-offs and when each should be used. Unless you have a 1 on 1 mentor to observe and pick up subtle tricks, you are left to your own experimentation to develop these skills. In other words, find a more knowledgeable friend who can show you what to do, or keep hitting the tutorials, and you'll get it eventually. To be clear... it *WILL* take longer than you'd like it to.
  6. Game Programming Questions ...

    Your question is too vague. We know nothing of what platform/api/etc you are using to do your rendering. The answer is probably "some sort of timer", but without knowing more information, we cannot help.
  7. IG Maker? Anyone?

    Okay: 1) I see that you have a mailinator.com address, which makes me less inclined to help you, since I half expect you to be a spammer or griefer as a result of this. 2) Generally speaking, game maker utilities are fairly narrowly focussed. This means that if you are interesting in making the type of game that it was created to make, you'll be OK. Eventually, you will run into something that it can't do for you. You will need to be OK with that. 3) From your other forum posts, I conclude that you either A) cannot code or B) don't want to code, and likely C) both. From that position, your options will be somewhat limited. You can either 1) pick a tool and deal with whatever limitations the tool has or 2) learn to code. All the best.
  8. A question on design philosophy.

    I second refactoring. My fellow responders have covered most of the good stuff already. I will simply add: the player of your game doesn't care what the code looks like. Also, the ability to spot problems in the way you are structuring your code is a skill that you develop gradually. Unfortunately, you learn this by writing code that isn't well structured, and then have to go through the pain of refactoring it or working around it. Do not Shave the Yak. If you require of yourself that you release only code that is perfect, you will never release.
  9. This is going to sound a little "zen" or something, so bear with me. If you are at a stage of becoming a developer where you regard a lot of things as just those things to be "memorized", you are pretty early on. That's fine. If that is the case, then you don't "know" C++ well. You know "of" a lot of C++ language features, and perhaps even trivial ways in which to apply them. What you don't know (because it cannot be taught, or at least I don't know how to teach it) is how to engineer a solution. There are a number of pieces of code in my personal repository that I've accumulated over the years. Various sorts of "boilerplates" that I can use to quickly start up a particular type of game or application. I also have a number of reusable classes/modules that have been genericized to the point where I can easily move them over into whatever project I am using. I don't start anything from scratch. I wouldn't recommend starting anything from scratch. I actually think starting things from scratch (other than in an academic pursuit of understanding how something works under the hood, as in your Data Structures class) is foolish. I do not believe that you have to understand every single line of code that you make use of in order to use it, either. If you found a nice boilerplate from directxtutorial, then great. Go make games. After you've worked with it enough, you'll likely understand the boilerplate pretty well. However, I don't really use books anymore. I use online references and .CHM files and PDF files and so on, which amounts to the same thing. Keep practicing your computer science fundamentals, and study and learn good engineering practices.
  10. Just one question: Are you a contractor working on this for someone (and getting paid)? Or is this your own hobby project? I ask this because your question basically reads "Can you show me exactly what to do to write the whole game?" and if you are working under contract, I'm not interested.
  11. Only loop through the board until a possible move is found. At that point, bail out of the detection function.
  12. Would someone look this short code over please

    It looks like your code works. There is nothing wrong with your code. Since all the program does is track position, I see no need to involve a struct with x and y positions. You appear to understand fully what you are doing. The code is nice and clean. One minor hit... if the player uses an invalid key, he should be told so, and loop back to enter a key. the way your code is, it will simply repeat the position he is at, which is fine (it fulfills the requirements of the program) but lacks polish.
  13. 1) Solidify your computer science fundamentals. 2) Learn and practice good engineering principles. 3) Don't think that game development is like a lot of other development. While there will be requirements and design, one of the key things in an industry like games is that you will want to continually analyze requirements and ensure they make sense, not simply implement to requirements and the design. #3 is what makes an awesome programmer, but #1 and #2 is what the awesome programmer stands on.
  14. Quote:Original post by CRYP7IK Quote:Original post by godmodder You could take a look at Visual Assist. It certainly boosted my productivity while working with C++. Even though this increases productivity (I used it for the trial) be mindful of becoming dependant on it. Greater programmers than I say not to use it for this very reason. If a person tells you not to use a tool that increases your productivity because you might come to rely upon it, then I would not apply the label "greater" to that person. This isn't a profession where one relies only upon one's own skill in coding. Any tool, API, SDK, Framework, etc etc that makes my job easier I'm going to use.
  15. Question about tile games

    The answer is "Yes". http://playdeez.com/slhamquest.php Not quite up to the level of a zelda or pokemon game, since the animations in the characters aren't there, but this is the work of a single person(me). How long has it taken to get into the state it is currently in? I've been working on it for about two years. I have a job, and I sometimes go months between working on it. Of course, I have some factors in my favor: I used randomly generated levels, I grabbed art from http://molotov.nu/, and I have been writing code for 24 years. For a pokemon type game, your main bottlenecks are generating media assets. Art, world building, level testing. Another big factor will be game balance. In a pokemon type game, the various critters have different attacks and whatnot. If you make one critter too powerful, then it is out of balance, and if you make one critter too weak, nobody will want it.