Long story short, I will try to update on Saturday. Friday
is going to be lost to Secret World beta weekend #2.
ivanaedler Wrote:Blargh, thank you for you time to answer. You know, so many things to exchange. All for a better Princess Peach game. FTW.
Spoiler (click to show/hide):
Blargh Wrote:I keep having to look up which is which all the time (key codes)
Me too. But as I've discovered, using a variable for a given key (like keyLEFT, keyW), not only
is easy to understand, but faster in performance!
Blargh Wrote:You pretty much have to have some sort of limiting variable to keep it out of the 'if' statements
The problem
is that game engines really use that 'big main loop', with all those ifs and cases (its a commonplace).
[spoiler]But these 'onClipEvent (enterFrame)s' are devil, as they run about 1000 to 10.000 times each second!
It doest work like in frames (one entire loop per second). So those ifs are tested in a blazing speed. (if masturbate if run if masturbate if right , if masturbating then pressing down, if masturbating then pressing down again.... As the 'ifs' are in the top hierarchy (no nesting ifs and cases), they can mangle the code while trying to apply jumping IF in certain circuntances (like wandering into char frames). So these enterframe areas
is nice for 'immediate code', as 'notice' events that will run before anything else in this on-object in general (it will run first than any code inside its timeline).
In the beginning, I've thought the 'enterframe's acted only 'when entering the frame once'. NO! Its actually an endless loop! Thats why some guru coders recommends the minimal cases there (better, clean the code altogether in the on-object, putting code into a timeline frame instead, and having , say, two frames, with gotoAndPlay(1) in the second one, so this frame will check all those if / cases in the frame time (one second), instead of thousands of checks per second in the 'enterframe', giving more performance).
If 'enterframe' (in on-object area) aren't avoidable, gurus recommend the least code as possible in them, making structured cases that executes only if a really important thing
is about to occur, like notice events. Instead, if we have three CASE statements in regard to moving types in the enterframe, with ifs inside each of them, the loop will respond faster to the statements, as the second and third may not be required to enter (the program checks for them right away). Remeber that the enterframe checks those cases in a blazing speed.
This logic also applies to every enemy. They're with their enterFrames running like the Large Hadron Collider! Depending on the optimizations done (not necessarily new code, as collision, but a more structured nested ifs or better, code transferred for the first action frame in the timeline), the game might be even 2x faster.
Blargh Wrote:And it'll be a lot more effort to program pathing for other enemies.
I'll study the enemy pathing code. It will be so nice to have goombas and mushrooms wandering along the level, instead of the fixed 'walk left, then walk right', for example.
Spoiler (click to show/hide):
Its not difficult to make it, theoretically. Its like 'living peaches' wandering around, with their own _x and _y properties being changed with some gravity and the default ground collision peach uses already (if ground_hittest(_x_y, true)). I can point you which peach on-object code the goomba may need to use in its on-object.
Blargh Wrote:I only have one system, and I built it to play everything.
Me too
Its normal to do that. A dedicated computer for gaming. We usually use mid to high-end cards. Its so nice to play latest games with good to incredible performance. All
is slick and so fast. However, I'll be addressing what can be done to increase performance for low end systems, as sometimes it's nice to play, say, in a laptop. Sometimes, a given frame that
is not 'stopped()'
is causing a performance hit. The less hungry the program
is, the better, anyway.
I'll doing this in a "code lounge" spare time.
Blargh Wrote: these blue and all (water cum)
I noticed this cum was acting on with a sensation of 'wrong color' (mostly in morton scenes). Peach was cumming in white, all
is being good, yeah, "morton, more!" Then, all of a sudden, a blue liquid comes out. A clean pee? Mineral water coming from the urinals? So I readjusted the colors to the normal ones (white/light brown shadow). Total of 25 small pieces.
But losing the onClipEvents sounds so AS3'ish! Also, I think the difference between actionscript code on-object and the calculations necessary to change an object's orientation/position between frames might actually be in favor of the onClipEvents. The coins might make the best comparison, since they should be easily modifiable into using timeline code, there's a hundred of them for stress-testing, and they're already programmed to stop spinning when the quality
is set to medium.
For enemy paths, I don't mean complex calculations to determine their position, mode of movement, and gravity. I just mean how they move from left to right. Even going left to right and up, then down, then reversing became a huge mess of calculations. Trying to add gravity and ground hits would surely break the code bank, at least for me. I'll just be settling for tweens and figuring out why focusing doesn't work even though the variables all trace correctly except for them inexplicably tracing 0 for long periods before going back to tracing correctly.
The color change on Peach's cum was to set it apart from the cum wads from Morton and others. If it's the same color as the male cum, it gets lost in the noise and just looks like Peach herself
is cumming like a guy. >_>
(I'm hiding your post because it's pretty long.)
ivanaedler Wrote:The code I'm using from now on (look for the scroll at the right - the list
is bigger):
Spoiler (click to show/hide):
- Code: Select All Code
keyUP=38;
keyDOWN=40;
keyLEFT=37;
keyRIGHT=39;
keySPACE=32;
keySHIFT=16;
keyCONTROL=17;
keyALT=18;
keyESC=27;
keyDELETE=46;
keyBACKSPACE=8;
keyW=87;
keyS=83;
keyA=65;
keyD=68;
key0=48;
key1=49;
key2=50;
key3=51;
key4=52;
key5=53;
key6=54;
key7=55;
key8=56;
key9=57;
Now, its only a matter of time to change all Key.isDown(83) to Key.isDown(_root.keyS) and others.
Even being larger ('Key.isDown(_root.keyS))', its much more understandable.
You may say: hey, how about the variable that substitutes the entire Key.isDown?
It didnt work :/ Peach didnt respond to commands. This may only work in AS3. So, no performance gain here.
Thanks for the list! That'll shorten my reference time. There wasn't much of a need to replace Key.isDown with keyDown, though, was there? Since they'd both be functions that do the same thing and aren't really named much differently, right? Although, most likely the reason it didn't work
is because you'd just copy the 'isDown' function, but not the Key object that holds it, so it wouldn't have the same functionality anyway.
LuftMallow Wrote:I've been working on improving the faces of the Pokemon girls since I'm still unhappy how they turned out. I don't know if it's the eyes or the fact I can't cover the jawline all too well. I also have been experimenting with the straps of the sling bikinis. Trying to make the static move dynamic is an exercise in frustration, but it's a learning experience.
The jawlines are kind of a hard point because they
need some bit of hair or other thing to cover the point where the jaw and head piece meet at the ear, but it of course can't be too big with short hair.
Does it need to be a string bikini, though? Why not just a bikini? In either case, I guess, the straps should just match up (on Normal and Smaller sizes, if possible, but smaller at the least) when there
is no movement. During movement, the illusion of bouncing boobies will hide any inconsistencies of the connections. If you're going to keep the piece that hangs away from the body, though, it should only need to match up to the smaller size because all the other ones will drop down and cover it over. There's no need to overthink it.