|
201
|
Developer / Technical / Re: The Experimental Technology Thread
|
on: September 13, 2009, 07:01:08 AM
|
Oh, and in addition to using Bresenham on lines, you may want to check out the Cohen-Sutherland line clipping algorithm. This will take care of boundary checks before a line is drawn/iterated through, effectively allowing you to throw away and trivially reject completely out-of-bounds lines, and clipping off the edges of lines that go past the boundaries before starting the more expensive line iteration part (which would be slow if you're comparing on every line step).
|
|
|
|
|
202
|
Player / General / Re: TIG Favorites: 2D Graphics Software
|
on: September 12, 2009, 04:59:41 PM
|
|
I use Photoshop for high-color, hi-res images and stuff that requires layers. Generally, really good interface, and all the tools you need. But Photoshop feels too heavy-duty for things like pixel art.
So to solve that, I have Paint Shop Pro 4 (The good ol' 90s, when it was Jasc, not Corel) for pixel art. There are numerous disadvantages to this program though. No layers (only a floating selection), only one level of undo, no specific pencil tool (but drawing 4px or below will use a non-antialiased brush). On the plus side, the color replace tool feels just right, and can allow you to cleverly paint over only specific colors in an image, allowing interesting layering. In addition, it's got pretty much all the functionality of Paint, but with really nice selection management tools, and intuitive CTRL/SHIFT modifiers to clicks, allowing you to pick a color and blob away really fast.
However, neither of these two programs feel particularly well-suited towards animation (Paint Shop Pro 4 has no animation tools). And, well, I mean, Photoshop CS3+/Image Ready come with animation tools, but they feel clunky, due to the odd layer-per-frame based way of making animation.
So finally, there's Graphics Gale for constructing sprite animations. I only have the free edition. I don't like the fact that right-click picks a color instead of painting with a secondary, and the selection management feels really awful. But after those things, the animation preview stuff itself feels really right. Onion-skinning is hella useful.
I've been meaning to give Cosmigo Pro Motion a whirl one of these days, but I keep getting sidetracked, so I can't really vote on that one yet. I hear plenty of rave reviews from Pixelation users though, so I'm feeling fairly persuaded. I have the installer lying around, I haven't quite bothered yet.
I don't approve of GIMP, although I used to use it as a free editor. The concept of an open-source image editor is good, but the user interface is just terrible, in my opinion. I can't even use it anymore. If the tool windows always appeared within a main frame, and didn't appear on the task bar, it might be less annoying to me.
Have yet to try Paint.NET, but it looks like a pretty sane option.
|
|
|
|
|
203
|
Player / General / Re: The TIGForums Twenty 2009 Discussion
|
on: September 12, 2009, 08:11:31 AM
|
|
I listed my "top 105". The problem is, I feel like the ranking is in utter chaos. I don't have the time to really bang my head against a wall, debating which belongs above what. So it's really, really rough.
Props to Paul Eres and Evil-Ville who came up with 210 games. That probably required tons of free time.
|
|
|
|
|
204
|
Player / General / Re: The TIGForums Twenty 2009!
|
on: September 12, 2009, 08:07:03 AM
|
|
1. [2] Kirby's Advenutre 2. [2] Kirby Superstar 3. [2] Castlevania: Order of Ecclesia 4. [2] Castlevania: Aria of Sorrow 5. [2] Super Metroid 6. [2] Metroid: Zero Mission 7. [2] Super Mario Bros. 3 8. [2] Secret of Evermore 9. [2] Katamari Damacy 10. [2] Final Fantasy 6 11. [2] Metal Slug 3 12. [2] Phoenix Wright: Ace Attorney 13. [2] Super Mario RPG 14. [2] Chrono Cross 15. [2] Guilty Gear XX #Reload 16. [2] Mega Man 2 17. [2] Okami 18. [2] Paper Mario 2: The Thousand-Year Door 19. [2] Castlevania: Dracula X 20. [2] Jet Grind Radio 21. [2] Advance Wars 22. [2] Gradius 3 23. [2] Legend of Zelda: A Link to the Past 24. [2] Viewtiful Joe 25. [2] Super Castlevania 4 26. [2] Kirby: Squeak Squad 27. [2] Legend of Zelda: Link's Awakening 28. [2] Legend of Zelda: Ocarina of Time 29. [2] Valkyrie Profile 30. [2] Knights of the Round 31. [2] Cave Story 32. [2] Super Mario Bros. 2 33. [2] Super Punch-Out!! 34. [2] Monkey Island 2: LeChuck's Revenge 35. [2] Shadow of the Colossus 36. [2] Persona 3 37. [2] Odin Sphere 38. [2] Gradius 5 39. [2] Harvest Moon: Back to Nature 40. [2] Star Ocean: The Second Story 41. [2] Mario & Luigi: Superstar Saga 42. [2] Disgaea: Hour of Darkness 43. [2] F-Zero GX 44. [2] Phoenix Wright 2: Justice for All 45. [2] Ikaruga 46. [2] Terranigma 47. [2] Mario Kart: Double Dash 48. [2] We Love Katamari 49. [2] F-Zero X 50. [2] Xenogears 51. [2] Final Fantasy Legend 2 52. [2] Commander Keen: Invasion of the Vorticons - Marooned on Mars 53. [2] Commander Keen: Goodbye, Galaxy! - Secret of the Oracle 54. [2] Final Fantasy 4 55. [2] Lemmings 56. [2] Raptor: Call of the Shadows 57. [2] Final Fantasy Tactics 58. [2] Knytt Stories 59. [2] Final Fantasy Legend 60. [2] Pokémon Red 61. [2] Apollo Justice: Ace Attorney 62. [2] Super Robot Taisen: Original Generation 63. [2] Fire Emblem: The Sacred Stones 64. [2] Keen Dreams 65. [2] La Mulana 66. [2] Bio Menace: Episode 1 - Dr. Mangle's Lab 67. [2] Secret of Mana 68. [2] Tetris Attack 69. [2] SaGa Frontier 70. [2] Final Fantasy Adventure 71. [2] Dr. Mario 72. [2] Zeux's World 73. [2] Kirby Star Stacker 74. [2] Sim City 2000 75. [2] Teenage Mutant Ninja Turtles: Turtles in Time 76. [2] Sonic the Hedgehog 2 77. [2] Super Mario World 78. [2] Legend of Mana 79. [2] Harvest Moon 80. [2] Dynasty Warriors 4 81. [2] Final Fantasy: Mystic Quest 82. [2] Builder's Block 83. [2] Mega Man X 84. [2] Descent 2 85. [2] Mega Man X5 86. [2] Exile II: Crystal Souls 87. [2] Metroid Fusion 88. [2] Parodius Da! 89. [2] Ogre Battle 90. [2] Bit.Trip Beat 91. [2] R-Type Final 92. [2] Resident Evil 4 93. [2] E.V.O.: Search for Eden 94. [2] Descent 95. [2] Mario Party 96. [2] F-Zero 97. [2] Civilization 2 98. [2] Cosmo's Cosmic Adventure 99. [2] Gyruss 100. [2] Sim Isle 101. [2] Sim Copter 102. [2] Sim Tower 103. [2] Skyroads 104. [2] Pyrotechnica 105. [2] Qix
The ranking is really rough, but I had a hard enough time just listing 105 interesting games. They're roughly bubbled together in terms of ranking though, except for the bottom, which is a complete mess even when I've tried to clean it up.
|
|
|
|
|
205
|
Community / Competitions / Re: The official TIGSource dueling thread
|
on: September 06, 2009, 06:28:57 PM
|
Yeah, so our duel that turned into a contest turned back into a duel! Anyways, I present you with wuv, my 48h game! Get it here.You need to save your relationship by delivering flowers to your lover, and dodging the evil monsters (intimacy problems and commitment issues)! More talkies in the readme.txt.
|
|
|
|
|
207
|
Community / Competitions / Re: The official TIGSource dueling thread
|
on: September 03, 2009, 10:51:10 PM
|
|
Oho. There hasn't been a duel in some time, huh?
I am challenging ForteDante to a 48-hour game-making duel about "growth" (treating it like a 24h contest, but with breaks).
The game content itself (ie. game logic code, art) must be created during that time period, but we can use existing engines and libraries to help. Not like these do, usually.
It starts on Saturday at 12:00 AM EST (GMT -5), and goes until Monday 12:00 AM EST.
It's ON. :D
|
|
|
|
|
209
|
Player / General / Re: Browser wars
|
on: September 02, 2009, 12:41:05 PM
|
|
Shade! I decided to look at your list there. I put things Opera has in green, and things that I think you could live without in blue, and everything else unchanged (might be useful).
-Tabs color-coded to their favicons. -A blog post editor and publisher. I use Wordpress's control panel itself. -A system for alerting you of new messages on deviantArt. -A front-page that organizes feeds into a magazine layout. -An ad-blocker to block ads from/on specific sites. Right-click, and choose "Block Content" and then click on the parts you don't want to see. -A feature that automatically saves text put into boxes like this forum post thing. If you mean when hitting back on a page or something, yeah, it'll keep form data in memory just like Firefox. It won't SAVE it if the browser crashes or anything, but last time I checked Firefox didn't either. -Integration of tons of search engines. There has been a search bar in Opera for eternities. And yes, you can customize which search engines it uses. It has a bunch, plus it even lets you customize it so you can type search queries into the address bar with mnemomics preceding them, like "g thing" (will google "thing" and bring up the results). -Alt-text list of BBCode and HTML tags. I'm not sure what you mean here, but I usually just click the buttons above messages to figure out BBCode, and I google HTML tags. I lived.
-IRC client. -FTP client. Well, you can't UPLOAD to FTP from the browser, but you can view an FTP, no problems. Personally I think uploading to FTP/SSH is better done with a specialized client like WinSCP anyways. -Canadian english dictionary and spell-checker. Opera 10 has a spell checker -Currency and measurement converter. Use google! -Twitter integration. I have Digsby, so I see this is as a non-issue. -Status bar for downloads (instead of alternate window or tab) Opera can put Downloads in the Panel section along the side of the browser, so you can have a Download sidebar
-Status bar with info on percentage loaded, speed, and the like. -Scripts so Paul appears to be using caps. While this bugs me when people write in lowercase, I see this as not necessary for browsing. -Preview images of websites while searching Google. (Did Google themselves add this feature to the search engine yet?) -A toolbar with various web development tools, allowing you to disable things like CSS, JavaScript, images, font sizes, and the like. (Got it during the Image Scare of TIGSource a few months back.) Between Dragonfly (which is like Firebug) and many View menu settings, it can do all this. -Ability to get into the configuration settings of the browser and change things, potentially screwing things up or making things MUCH BETTER. (Like disabling caching into RAM.) The caching in Opera is great already, in my opinion, but there is "opera:config", which lets you change a bunch of low-level things, and there is also Tools >> Preferences for a more user-interface driven customization.
|
|
|
|
|
210
|
Player / General / Re: Browser wars
|
on: September 02, 2009, 12:04:45 PM
|
|
What? Okay, Opera is one of the fastest browsers out there (Chrome beats it, still). Firefox went to crap after FF2. FF3's full of bloat and horrible user interface design decisions that weren't there in the previous version. And until recently, there was no way to turn off image interpolation. I switched to Opera after being immediately unimpressed with Firefox 3.
Opera admittedly does have features you don't need. But they're also easy to disable. And it's also packed full of features that ARE useful (to me), like Speed Dial and mouse click gestures (motion gestures are stupid, but click-based history navigation stuff is very handy). It has plenty of intuitive interface decisions and it's very fast! It doesn't have extensions like Firefox does, but the functionality out of the box is more than plenty.
Of course, Chrome is faster than Opera. But sadly, Chrome lacks the level of customization that Opera has, so until it fixes that and offers more ability for the user to tweak the small settings, I can't see myself switching.
Oh and Opera 10 came out! It's even faster than Opera 9, which was already really fast.
Anyways.
|
|
|
|
|
211
|
Player / General / Re: Are you indie? (incredibly biased quiz)
|
on: August 27, 2009, 05:56:19 PM
|
Heh, I got 40%, with honest answers. But apparently so did about 70% of the other people who took this quiz. I don't think that buying commercial products or making a living is somehow "evil", I guess? D: i think there should be only three questions:
1. do you make games?
2. do you finish them?
3. do you have all the rights to those games?
if yes to all three, you're an indie game developer
I was almost with you in your definition of what makes an indie game dev. Except I disagree with (2). You don't need to finish a game to be a developer. Just like you don't need to publish things to be a writer, although it certainly helps your reputation! You just need to demonstrate you're making something (1) to say you're a game developer, and to be "indie" on top of that, you just need to have the rights to what you're making (3). But yes, to have a successful reputation in something, you need to finish what you start (2), and make something that is worth mentioning. You aren't a "wannabe" just because you don't finish what you've started. If you can demonstrate that you have experience making things, and they're neat, regardless of your ability to complete them, you are a developer. It's a lot harder than it's made out to be to actually focus and commit to something. I think saying that somebody is not a developer just because they're unable to see their work to completion is downright dismissive. That said, it's always a letdown when people don't finish ambitious game projects. I just don't think we should look down on those of us who haven't completed a game, because there are plenty of people with experience, but lack the opportunities to execute their ideas (myself included). Instead of dismissing them like that, and calling them "wannabes", we should encourage good ideas. I guess this attitude just sort of annoys me. I have completed games for a few contests now. I have contributed to existing game engines. I have had plenty of experience with various project ideas, teams, and other things that have fallen apart. If I didn't have other obstacles in my way, I would have finished these games by now. I don't think of myself as a wannabe, since I actually make regular attempts to create games. I am always busy during school, so progress is slow then. Sometimes I make the mistake of taking on too much at once during my breaks. It frustrates me not being able to complete something, and seeing other people in similar circumstances, I relate. My other developer and artist friends are the same way. Busy, and unable to really collaborate due to similarly chaotic schedules. Have sympathy towards your fellow developers, even if they're less reputable for not completing what they set out to do! Anyways. I think I may have brought this off-topic a bit too much, but I think it was important that we get this straight.
|
|
|
|
|
212
|
Developer / Technical / Re: The Lua Thread
|
on: August 27, 2009, 02:05:32 PM
|
Love and Verge are two game engines that I know of which use Lua. There are others, but I don't know enough to help you out there. I don't personally like Love too much, but I recommend it because it's a popular option. I recommended Verge because it's fairly flexible and I'm a little biased because I'm one of its maintainers. In other news, I am slowly making a Lua-based game engine. It's got a while to go still, though. EDIT: I wrote love2d.com instead of love2d.org when I first checked it out. Whoops.
|
|
|
|
|
213
|
Player / General / Re: Metroid Prime Trilogy (re-release with wii controls)
|
on: August 26, 2009, 11:32:12 PM
|
what's wrong with MP2? It's a good Metroid and hence a fantastic game.
Weeell, you mistake that MP2 was good, and no amount of brand loyalty fixes that. >_> My previous post briefly describes a few things wrong with it. Also, let's not forget that entire game was a lame linear fetch quest to collect all the keys so you could enter the Dark Temple and then ANOTHER fetch quest to enter the Sky Temple. Roughly. I never beat the game due to boss difficulties. It could've been forgiveable if it weren't for that.
|
|
|
|
|
214
|
Player / General / Re: New game review website focused on meaning and signifiance in games
|
on: August 26, 2009, 11:12:29 PM
|
|
Hmm. You say you're reviewing games based on their artistic merits, but after reading a few of your articles, I think it needs more work. While you claim you're trying to not be subjective in your views, you make many value judgements as to what you think constitutes "art", and like to point out the lackings of the games you're writing about. To state this another way, it seems like you're attempting more to review games, than present an interpretation of games that the reader can decide on themselves.
If your focus was on "art", you'd want to do a more critical analysis, and really read into the semiotics of the game. You would avoid personal statements and value judgements. You would present many different views on an argument, and leave the rest of the thinking up to the reader. Try and dissect content in ways that haven't been explored. Right now your reviews feel like they're just scratching the surface, and don't really mention enough about the subtleties and small things that lend to the overall experience of a game.
Unfortunately, I won't give quoted examples of what you said, but I think reading back you can see what I mean.
Honestly, I don't know that I could do better, but I think to properly analyze games in a way that is more than "this was good" or "this was bad", it should not be done as a simple review. Not to say, that reviews of good games aren't good.
Hey, I like fun games too! But if you're instead trying to look at the artistic merits of games, you need to focus on the art more. You need to broaden your game library, and include some games that don't make it so obvious they have artistic meaning. While I don't think it's pretentious to try to find deeper meanings in games (provided you supply evidence to back your interpretations), I do find it dismissive to think that certain games aren't capable of having deeper meaning.
That said, Maybe that's not what you're going for. Perhaps you are concerned more with sharing your own opinions on your favorite games, than about dissecting a work. In any case, there are definitely things you can improve. Your writing is a bit flighty, and a tad awkward to read. Your quoted thoughts "this is something I'm thinking about right now" aren't particularly well mixed within the text. It seems somewhat unnecessary, since writing a personal review is already your thoughts. Narration can mix with reviewing, if done carefully, but your current approach needs improvement.
Okay, and saying all this has inspired me. I haven't written in ages, and I suddenly feel a bit of an urge to write something regarding the semiotics of a game. I don't promise anything, but I think it could be fun.
You had fun writing at least, I hope? Hopefully, taken carefully, some of the critique offered helps. Good luck.
|
|
|
|
|
215
|
Player / General / Re: Metroid Prime Trilogy (re-release with wii controls)
|
on: August 26, 2009, 08:57:42 PM
|
|
Man, I remember Metroid Prime 2: Echoes. It really was terrible. I got stuck on the Boost Guardian boss, which was like, a stupid unprotected (constant atmosphere damage) room in Dark Aether with only a limited amount of energy you could get back, and the only real way to hurt him was while rolling around in morph ball form while getting hit by hard to dodge puddles of goo and dash attacks which weren't that dodgeable with how small the room was. It started off okay, and I really enjoyed the controls and targetting systems, but the boss difficulty combined with annoying dark world "run madly while you can't see to prevent dying from atmosphere" just got idiotic.
Of the Metroids I've played, I'd rate them: SM>MZM>MF>>>MP2
I don't own a Wii, but I think I should find myself a cheap copy of MP1 for Gamecube, since I always hear good things. I guess I'm just paranoid it'll be as bad as Echoes somehow. I don't know why. But for about $10 now I could find out for sure!
|
|
|
|
|
216
|
Developer / Technical / Re: The grumpy old programmer room
|
on: August 24, 2009, 03:34:41 PM
|
I just found out that there's no 64-bit version of irrKlang for Linux. skipping incompatible libIrrKlang.so
Okay, well how about if I add "-m32" skipping incompatible libSDL.so
 Hmm, that sucks. I was using FMOD until recently, when I switched to using Audiere instead. I've had fairly good luck with it. Has decent streaming support for mp3s/ogg/flac by wrapping their libraries, and module support for it/s3m/xm/mod through DUMB. Had a few hiccups adapting my current code to use the new audio engine, but nothing I couldn't find in the the docs eventually. I've yet to compile it for Linux, but I think it's hopeful, since they have support there for the various audio devices. It's LGPL instead of commercial-ware, so you can actually modify the source without paying if you have to, provided you redistribute that part. They also have a decent support for extensibility without modifying the library. For instance, I made a file wrapper to use zziplib so I could have audio inside zip files, and I just had to provide a few prototypes. Audiere also has reference-counted handles, so there is a less chance of memory leaks. Makes it really easy to pass around samples and output streams as you need.
|
|
|
|
|
217
|
Developer / Technical / Re: Going to C from C++
|
on: August 23, 2009, 09:37:21 PM
|
It just all seems so silly, if you're gonna be doing all that why not just use C++ in the first place  Well, I definitely agree that C++ is a much better way to go. Sadly, some people are wankers and consider some of C++ flexibilities "dangerous" and horrible, like operator overloading and templates and stuff. On the other hand, C++ provides better opportunity for compile-time error checking, inlining, private/public scoping, object-oriented virtual dispatch (can be mimicked in C, but very very unrecommended), type-safe polymorphism, built-in data structures with way nicer time/memory constraints. C is littered with bad design decisions. C strings are terrible. Getting the length of a string is an O(n) operation, and buffer overflow is very easy to have happen due to all char* operations looking for a \0, instead of length-delimiting which is much more friendly. C++ fixes this with std::string. malloc is lame because it's not typesafe, you just get a void*. So, if you refactor, and somehow misspecify the size of the data you're allocating, you're boned. C++ has new instead, which resolves to a type at compile-time and figures out the size for you! printf/scanf are admittedly handy, but they're plagued with problems too. The way I see it, you only use C when you're system-level code (or job mandate, as in this case), or writing for some sort of platform that doesn't have a good C++ compiler. Otherwise, use C++ code, mixing in C only when full-on C++ becomes cumbersome.
|
|
|
|
|
218
|
Developer / Technical / Re: Going to C from C++
|
on: August 23, 2009, 07:28:01 PM
|
Function pointers are exactly the same in C++ as C. Except there's obviously no method pointers, since there is no object orientation. Also, you should learn to mimic the class-style organization that C++ gives you by using functions that take a pointer as their first argument. It kept a lot of my C code organized, and it's always better to avoid global state when you can avoid it. So in C++ you might have: class Monster { public: Monster(int x, int y); ~Monster()
void Update(); void Render(); void Teleport(int x, int y); private: int x, y; }
Translating this to C: typedef struct Monster { int x, y; } Monster;
Monster* MonsterNew(int x, int y); void MonsterFree(Monster* monster);
void MonsterRender(Monster* monster); void MonsterUpdate(Monster* monster); void MonsterTeleport(Monster* monster, int x, int y);
|
|
|
|
|
219
|
Developer / Technical / Re: The grumpy old programmer room
|
on: August 21, 2009, 11:57:28 PM
|
|
handCraftedRadio: That separate tool *is* a debugger! A good debugger will be able to freeze the program execution as it is crashing, and allow you to inspect the contents in memory, the disassembly, and (if you're lucky) a stacktrace with line numbers within functions.
If you haven't used a debugger yet, you really, really should.
Visual Studio is especially good for debugging applications. It will allow you to hook the debugger into any crashing executable (but usually only gives meaningful information if you compile in Debug instead of Release mode). You can also set your own breakpoints (on VS, you can also use __asm int 3;) to force a "user-exception" interrupt which will then let you freeze things before an unresolvable bug occurs.
I've heard gdb is pretty good too, I've never had to use it myself.
You will probably get a LOT more use out of a separate debugger application, because writing your own recovery routines like that inside of your program must be done very carefully. It's pretty easy to introduce bugs into signal/exception handlers, since it typically involves setjmp/longjmp style calls which layer even more complexity into your program. Meanwhile, a debugger comes with a wealth of useful information that you might as well not bother reinventing.
So yes, learn how to use a debugger. It has saved me from heap corruptions on several occasions.
Good luck.
|
|
|
|
|