|
2161
|
Player / General / Re: I am pissed off
|
on: April 29, 2009, 10:44:04 PM
|
also, kotaku commenters are mostly stupid and shouldn't be taken seriously.
Yes it's true but something about this specific comment really struck a nerve. Maybe its because there's more ignorance in that post than words, and it's not the "playing stupid" kind of ignorance. His statement is wrong, but even moreso if his statement was right it's a stupid one then to. Why should the "fun" job pay more than the stressful job? It pisses me off that there's people like this that exist period.
|
|
|
|
|
2164
|
Developer / Technical / Re: Rinku & Increpare (and more?) Learn Flash
|
on: April 29, 2009, 02:38:59 PM
|
Can anybody tell me the specific things I should stay away from/use always to make sure my flash apps have the same framerate across different browsers? I really need a quick and dirty guide for this shit since it's been driving me and Annabelle crazy.
Basically you have to deal with this, some browsers run slower than others, some cap the framerate it seems, some cut 10 fps off the framerate, but it's entirely inconsistent and they might have changed it. Best thing to do is make your game run as fast as you can (i.e. turn the flash fps cap to max, get it to run as fast as possible on your machine, then put the cap back on. Closure's cap was 30 FPS which is a good one for browsers, but on mine I could push about 50-55 FPS with no cap.) If you're performance minded, avoid filters at all costs. 90% of the time they don't even look good. But ya they do kill framerate. Know when and when not to use cache as bitmap. Flash's built in cache as bitmap is nice but limited. If you have any sort of camera that does more than just scroll (such as zoom or rotate), do not use cache as bitmap it'll end up slowing down your program. Do not cache anything that isn't static either. You could code your own version of it but you'll end up losing the smooth edges when you rotate and scale, and it'll be a pain to do it for every animation frame if you have long tweens, etc. Flash isn't exactly a powerhouse when it comes to executing code, and can be completely inconsistent. A few test from a friend show a lot of weird performance things such as using the wildcard for passing stuff to functions can be about 30% faster than strict typing, and making a reference in function scope can speed up access time for globals. Also using const is a lot faster to access, and isn't really constant (you can still call any member function you want on it. Funny thing, if you make a const int, you can still do int++ and int--, but you can't do int = 5. It's faster to access a const too because of the way flash handles lookups (i think const is like an address lookup while var is a string comparison). This is all micro stuff though, and can change a lot since it's inconsistent. Also be wary of garbage collection. Flash fucked up new and delete so you can't manually deallocate stuff, you can just mark it for garbage collection by setting references to it to null. It kinda sucks, so avoid using new when possible, or else your game will stutter every couple seconds.
|
|
|
|
|
2165
|
Developer / Technical / openAL memory usage
|
on: April 29, 2009, 02:19:02 PM
|
|
Ok I know nothing about sound cards or anything, and I just hacked together a class using openAL that will start playing a list of WAV files at the same time (tracks for background music so I can fade them in and out and such like what I did in aether and closure)
Anyway I know that later on I'll need to use a better file format then WAV like ogg vorbis or whatever, but I still have some questions:
Right now my memory usage is almost 120 MB for this test, which is 5 tracks of music. Will a smaller file format stay small in memory, or is it decompressed to that large in memory anyway?
Is it standard to stream for this, or load all the tracks into memory in the beginning?
I've been listening to my 5 tracks for about 10 minutes (edit: 1 hour now) now and they still sound in sync, on different computers is this necessarily the case? Or will I have to continually poll playback position and reset on loop?
Anything else I should be aware of?
|
|
|
|
|
2166
|
Developer / Technical / Re: Rinku & Increpare (and more?) Learn Flash
|
on: April 29, 2009, 12:15:20 PM
|
|
ya my rule of thumb is:
hittests are fine for testing and simple things (cause it can be useful to see the hitbox in the animation), but as soon as you have to start figuring out how to hack it to make it work, its time to write your own.
Never draw the hitbox with code, there's absolutely no point in that. Hittest is the most useful when you have hitboxes that need to be synced with animations, in which case you make a black box and set its visible to false within it. That way you can animate it. Otherwise, code your own damn 2 line hittest function.
|
|
|
|
|
2167
|
Developer / Technical / Re: Rinku & Increpare (and more?) Learn Flash
|
on: April 29, 2009, 10:33:07 AM
|
Okay, so I have a MovieClip which I've defined hitArea for: hitArea = new Sprite(); hitArea.graphics.beginFill( 0x000000 ); hitArea.graphics.drawRect( -8, -8, 8, 8 ); hitArea.graphics.endFill(); Shouldn't this MovieClip now ignore all other children of itself when doing hit tests? It doesn't seem to be doing this. How can I make a MovieClip ignore all children of itself and only check against the hitArea when doing hit tests? At the point where your doing this, you should just code your own hittest function
|
|
|
|
|
2168
|
Player / Games / Re: I'm a Mac Guy now
|
on: April 28, 2009, 06:57:34 PM
|
Anyone having audio problems with Boot Camp/XP? I have to restart pretty frequently because the audio starts to stutter while I'm playing games/videos. From what I've read, it has to do with the wifi somehow... but if I try to disable it, the OS hangs.
No, but I can only run XP through parallels, when I try to start up bootcamp it goes "autochk not found" or something
|
|
|
|
|
2172
|
Community / Townhall / Re: New particles editor
|
on: April 28, 2009, 10:14:48 AM
|
When you make a game, you have to make a choice between having fun or actually finishing something  No you don't, just work harder.
|
|
|
|
|
2173
|
Developer / Technical / Re: Rinku & Increpare (and more?) Learn Flash
|
on: April 27, 2009, 08:33:48 PM
|
How can I add a child to a moveclip in a specific layer? Or are all the layers of a Movieclip flattened into one at runtime?
I want to respawn the player object into the player layer, so he is at the appropriate depth in relation to bg/fg art.
layers are flattened at export time, they don't exist in the fla, so nest layers of things in movieclips instead
|
|
|
|
|
2174
|
Player / General / Re: Mac or PC?
|
on: April 27, 2009, 07:20:13 PM
|
|
mac, I can't live without expose, spaces, the search bar that actually works fast, the light OS, and all the trackpad awesomness
|
|
|
|
|
2176
|
Feedback / DevLogs / Re: Closure
|
on: April 27, 2009, 06:00:59 PM
|
Moth tails most likely won't be like this in the final game, but damn does it look cool 
|
|
|
|
|
2177
|
Feedback / DevLogs / Re: Closure
|
on: April 27, 2009, 05:44:28 PM
|
oh, i don't know if you have a thing for these sorts of things, but do you know about this? Ya I know about boost but I'd prefer not to use it. I'm keeping dependencies to a minimum cause I suck when it comes to adding libraries to projects, always gets me compatibility issues.
|
|
|
|
|
2178
|
Feedback / DevLogs / Re: Closure
|
on: April 27, 2009, 02:43:50 PM
|
doesn't look that bad to me (except for personal things like formatting+commenting) wonder what that says about my code  hahaha I cleaned it up, realized I didn't need the }}, and macroed the pedestal loop as for_pedestals(i, j, pedestals)
|
|
|
|
|
2179
|
Feedback / DevLogs / Re: Closure
|
on: April 27, 2009, 11:42:49 AM
|
Ugliest block of code ever (used in the editor for trying to group groups of pedestals together) if(dragtype == PEDESTAL && selected != NULL && Keyboard.pressed(Key::RCLICK)){ for(std::list<std::list<Pedestal> >::iterator i = data.pedestals.begin(); i != data.pedestals.end(); ++i){ for(std::list<Pedestal>::iterator j = i->begin(); j != i->end(); ++j){ if((mouse - j->pos).length() < 30 && &*j != selected){ Pedestal temp = *j; for(std::list<std::list<Pedestal> >::iterator k = data.pedestals.begin(); k != data.pedestals.end(); ++k){ for(std::list<Pedestal>::iterator l = k->begin(); l != k->end(); ++l){ if(&*l == selected){ if(&*k == &*i){ data.pedestals.push_back(std::list<Pedestal>()); data.pedestals.back().push_back(temp); i->erase(j); } else { //k->push_back(temp); for(std::list<Pedestal>::iterator m = i->begin(); m != i->end(); ++m){ k->push_back(*m); } data.pedestals.erase(i); } k = --data.pedestals.end(); break; } }} i = --data.pedestals.end(); break; } }} data.pedestals.remove_if(pedgroupempty); }
|
|
|
|
|
2180
|
Player / Games / Re: Using Flash for Indie Games?
|
on: April 27, 2009, 11:37:54 AM
|
|
Ya I know it's a keyboard thing, as it never happened to m e so I was wondering wtf when people complained a few years ago about not being able to shoot when moving diagonal.
Solution: Don't use the spacebar, ASD are viable alternatives. Or customizable controls
|
|
|
|
|