load_bitmap_file

Members
  • Content count

    1313
  • Joined

  • Last visited

Community Reputation

826 Good

About load_bitmap_file

  • Rank
    Contributor
  1. Problem Building boost libraries with bjam

    Perhaps it's trying to run a command which requires an Administrator console? Also, there are prebuilt Boost libraries available.
  2. Quote:Original post by theOcelot I go even farther than Ariste. I just tell entities, "You came in contact with fire. Deal with it." And they work out their own reactions to it, with the help of a couple extra tools for doing the "algebra". I basically use the same system. No entity directly interacts with any other, they can only send messages which contain the relevant data. It's the entity's responsibility to respond correctly to its message queue.
  3. Pixel Shader Effects for 2d Games

    Good suggestions so far, thanks! Turns out that Facewound game I mentioned originally has been abandoned and released for free. There are some really slick pixel shader effects there. A few things I've seen so far in it, that aren't on the list yet: - shockwave explosions - glowing (e.g. for neon signs) - muted colors (e.g. for slowmo) - water surfaces
  4. I'd like to use pixel shaders for the next 2d game I'm working on, using SFML's GLSL support. I'm looking to get some ideas for interesting effects to overlay on top of pixel art (no 3d rendering from a 2d perspective or anything). There are some nice fullscreen post processing effects in this Facewound shader tutorial, e.g. color saturation, black and white, embossed, etc. Besides fullscreen effects, we can also apply shaders to arbitrary textures like the current player sprite or whatever, so there's definitely more room for creative use. Ideas/examples of what sort of effects you've seen can be done would be appreciated.
  5. Haskell workshop?

    Quote:Original post by DevFred Quote:Original post by Sneftel I'm pretty comfortable with Haskell... I'd be willing to help out in any way I can. Have you ever written a game in Haskell? Because that's what this workshop should aim for in my opinion :) I wrote most of the code for a game last semester called Raincat that was written in Haskell. Would you be interested if I put the sourcecode up somewhere?
  6. Quote:Original post by Yann L And about Amarok. I currently use it, because it's the only Linux player that halfway works (with the OSS definition of 'working', ie. it doesn't crash every five seconds wiping your HD at every tenth crash). So yeah, it kind of works. But it stops there. Its UI is another good example of how to NOT do it. Amarok has a couple of nice ideas and features. But the extremely unintuitive, unflexible and ugly UI destroys a lot of that potential. Why is the Linux community completely unable to finally settle on one single UI standard ? Why does this Amarok thing pollute my relatively clean Gnome environment with its KDE interface from hell ? It might be worth looking at Exaile if you don't want a KDE app. It's basically an Amarok clone written with GTK+, and less clutter. It isn't as fully featured since it's kind of recent, but it works well enough.
  7. USB Pens & Recycle Bins

    Quote:Original post by Extrarius Quote:Original post by nerd_boy [...]A bit of Googling and whatnot reveals that you'll also need to have Hide protected operating system files (recommended) unchecked, in addition to the regular showing hidden files, to have Windows Explorer display the RECYCLER folder(which seems to have the attributes of both system and hidden.)Yes, which is what I meant by the 'and system files' part. I checked using explorer, the command line, and a custom file list utility, and all show the same thing - none of my flash drives, memory cards, etc have a recycle bin folder or anything that looks like it might possibly be related. The only system files on the drives are things that were copied from elsewhere (an occasional desktop.ini, the thumbnail database, etc) I don't remember ever seeing a recycle bin folder on flash drives under Windows either, even with show hidden folders/protected operating system files etc, either. It does show up mounted from linux though.
  8. Linux firewalls

    Quote:Original post by frob Quote:Original post by _Sigma So..is it worth while installing a firewall under linux? I'm not sure of the actual security of *nix systems.Yes, they are necessary. There are relatively few viruses, but many more worms out there, and they are very active. Check the SANS survival time for Unix variants. It's currently at about 700 minutes for a *nix installation to get hit with a platform-specific worm attack. Aren't these figures only relevant for unpatched boxes? If you keep your Windows/*nix OS regularly updated these holes tend to be closed as they find them. Ubuntu is considered secure "out of the box" since as Simian Man said, it doesn't expose any ports by default. That, and keeping it updated through the automatic updates I would think is enough.
  9. Crapcastic Internet FTW!

    250GB a month is a ton. This is also a good thing in that Comcast is now defining exactly how much is too much bandwidth to be using a month. Previously I think they would just take the top x% of people using however much bandwidth and tell them to cut back, which seemed to make some people angry because the connection was supposed to be "unlimited".
  10. Randy Pausch RIP

    Oluseyi: I don't like it when random people take it upon themselves to consider it a personal tragedy whenever someone well known and liked dies either. I don't see however, why you feel it's necessary to subsequently demean the man afterwards. Like cowsarenotevil has said, it is very obvious you haven't seen or read Randy Pausch's "Last Lecture". Quote:Original post by OluseyiI'm starting to find it incongruous to receive all these exhortations to live life to the fullest from people who didn't (what, Pausch's childhood dream was to create an entertainment technology center at Carnegie-Mellon?) at a stage when they know they can't. If you had seen his lecture, you would have known he did actually accomplish every listed childhold goal. The only exception was playing in the NFL, although he did get invited to a Steelers training session after they heard the lecture, IIRC. And no, "creating the ETC" was not a listed point. But again, you would have known this if you had seen the lecture. It's remarkable you believe you can decide for other people whether or not they achieved their dreams, and whether or not those dreams meant anything. Quote:Original post by OluseyiPerhaps that exhortations to "live your life to the fullest" are empty because we all necessarily compromise on at least some of our dreams for very valid reasons - to have families, for instance? I'm not really sure where this is coming from. Why would having a family compromise your dreams? Do you believe that focusing everything on a direct path to your goals at the expense of everything else is the optimal way to get there? Randy Pausch's interpretation of achieving your childhood dreams very clearly does not advocate this. Why do you think he gave the lecture? Who do you think he was really talking to? Again, something you would have known if you had seen the lecture.
  11. 2D concave polygon collision detection

    Separating axis theorem will work for everything you've mentioned. It only works for convex polygons, but that's not a problem since you can simply split any concave polygon into a series of convex ones. Check out oliii's posts here and the tutorial made by the N guys, links are in this thread.
  12. Haskell Pong

    Quote:Original post by apatriarca Hi, I have played the game on Windows and I have noted some errors in how the collisions with the rackets are handled. Sometimes, the ball is reflected even if it hit the wall (but always near the racket). I changed what part of the paddle its (x, y) position indicated part way through making this but never updated the collision checking accordingly, so the "bounding box" is offset a bit from the paddle. The ball angle is also sometimes way too close to vertical. I'm aware of these problems but I decided to be lazy and not fix them since Pong itself wasn't really the point of this. Thanks for bringing it up though.
  13. Dr. Horrible == good?

    Quote:Original post by Spoonbender Sorry to interrupt this literary analysis, but what were Penny's last words at the end? I didn't hear that part properly because of a big noisy truck outside... [lol] Don't remember if this is the exact wording, but it was something like "it's okay, Captain Hammer will save me".
  14. Haskell Pong

    Quote:Original post by dwahler #1: The code in GameInput.hs is a lot more verbose and repetitive than it needs to be. You can use record updates to take away a lot of the tedium: *** Source Snippet Removed *** Looks very useful! Wasn't aware that existed. Quote:#2/#3: Check out the State monad, and in particular the StateT monad transformer. In the same way that your current code implicitly modifies the state of the internal random number generator, you can make the modifications to the game state implicit as well. You can also keep a RandomGen instance in your game state to avoid depending on the IO monad for random numbers. If you haven't already, be sure to read "All About Monads". Thanks for the link; the name sounds familiar but I don't believe I ever actually read it. Makes me wish I had done so sooner, since it's much more clearly written than the other monad tutorials I've found. I'm still reading over it, but I can already see some situations where monads would have been useful. There are definitely places I could have used Maybe, liftM_, and StateT, and no doubt several others I haven't seen yet. I probably shouldn't be surprised monads are turning out to be so useful since dealing with side effects is the underlying question here. Quote:#4: Don't worry; despite what you may have heard, "imperative" is not a dirty word in Haskell! I've heard something along the lines of Haskell programmers considering it their favorite imperative language. Didn't make any sense to me at first, but I'm beginning to see why this might make sense in the context of monads. Quote:Anyway, good luck, and happy hacking! Thanks for the great feedback and nudging me in the right direction! [smile]
  15. Haskell Pong

    I've been learning some Haskell this summer so I decided to write Pong as an exercise. The source code/binaries are here: HPong (Windows) | HPong (Linux) These are some thoughts/problems that occured to me in the process in the hope that some of the Haskell people lurking around here will see this thread and address: 1. Callbacks require modifying state in some manner in order to let the normal program flow know something has happened. For Pong I used IORefs to modify a "KeysState" structure for when the user presses a key. It seems like we'd want to minimize the amount of state changing we have to do so this seemed like the best route rather than try and modify the world directly. 2. In the HPong source in the gameMain function I have three functions in a row that need to update the ball velocity variable (if the ball went out of bounds, if we hit a wall/paddle, if it needs to be reset). If I were using a "normal" language that allowed variable modification I would just update the ballVelocity variable in each function, but in Haskell each time I return a new ball velocity variable I have to give it a new variable name, e.g. ballVel, ballVel', ballVel'', etc. Is there a better, more functional perhaps way of doing this? 3. Dealing with random variables seems kind of annoying (particularly for games) since it violates referential transparency. This means any time I need a random number for the result to be useful the return value has to propogate upwards through do blocks until it reaches its destination. On second thought we could probably store the IO result and retain purity until we actually need to evaluate the result. I haven't fully thought this through yet. 4. The approach I took for the "gameMain" function seems fairly straightforward in that we can call whatever operations need to be done and pass around whatever pieces of the world state we need, then encapsulate all the game/world state pieces in a more-or-less monolithic data type, which gets passed back into gameMain when we tail recurse into the next iteration of the gameMain loop. Then in the new iteration we can extract whatever pieces we need from the monolithic "GameState" structure and repeat. At this highest level gameMain function though, it is basically imperative since I spend the entire time sitting in a do block (for the HPong source at least). The functions I'm calling are almost all pure themselves however. I'm wondering whether or not a game main function has to be imperative like this inherently, since the order is rather important (e.g. first check player inputs, then check collisions, then update A.I., finally draw everything). So, hopefully that's not too long winded. There's still a lot I need to learn (in particular monads), but I'd like to see what this discussion brings up.