Posts for OmnipotentEntity

Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Warp wrote:
One could naively think "it's not unsolvable; simply go through every possible valid C++ program of 1000 characters or less, and for each one see which numbers it outputs, if any". However, that method might not be usable because you may encounter the halting problem: You cannot know if a given program will ever halt.
This sounds related to the busy beaver function. https://en.wikipedia.org/wiki/Busy_beaver
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
OmnipotentEntity wrote:
19y11m3d0h9m
My post in this thread turned 10 a little bit ago too. Seems weird to be almost 30.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Scepheo wrote:
OmnipotentEntity wrote:
That's really strange to find out because GC discs are CAV.
How is that weird? Even the wikipedia article you linked states that CAV means higher data rate on outside. Unless you find something else weird, in which case I misunderstood.
Because I was under the impression that they used variable density as well (like a LaserDisc). Rather than zones (like a hard drive). Or constant data density (like a DVD? Can't find much info on this.) I know the disc is based off of a DVD. However, I figured that because it was CAV (not like a DVD) they altered the layout. I guess I was just working under an incorrect assumption. Sorry, I articulated my surprise unclearly.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
JMC47 wrote:
I've been experimenting with Cleanrip on Dolphin (it actually runs and works!) and I've found out that Dolphin runs at about 3000KB/s constantly. Metroid Prime should be about 1500 - 1700KB/s on the inner rim and 2600KB/s to 2700KB/s on the outer rim. Older builds of Dolphin went extremely fast before eventually failing, so this is a lot better than before, but it leaves a lot to be desired. Efforts will continue to make it more accurate in the future.
That's really strange to find out because GC discs are CAV.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
If you play from a game clear SRAM you can skip text. Which will make the game go much faster and look more like a TAS.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
everyone talking about the m2k2 forums wrote:
{stuff}
Dude, their TAS, their workflow, their way. It's as simple as that. They either do or don't want to join the 2k2 forums and that's their decision. They either do or don't want to interact with several people in a public way. They either do or do not wish to spend a long time researching the game. But you (as a collective) are certainly not making a good case for your forum. Like most geeks, you're probably used to being correct. And you know you're correct, and you don't know when to back off. You're doubling down on your bad attitudes because you know you're right. And maybe you are. I don't know, and I don't care. But that doesn't make you any less of a prick for broaching it in this manner. It's not going to win friends and influence people. And it's certainly not going to make volunteers want to hang with you. You can choose to lose an argument because you respect the other person more than you care about winning. The fact that you've chosen not to means that you care about a perfect TAS more than the TASers making it. That's fine, you're free to care about that. But realize that that kind of makes you look like an a-hole to the TASers making it.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
JMC47 wrote:
It gets even more complicated technically, we don't simulate the read speed based on where the data is on the disc without magic. (at least, I don't think we possibly could... someone please correct me if I'm wrong.)
I don't think it would be that significantly difficult. Gamecube discs are CAV discs, which means a seek time should be rather easy to simulate, because storage doesn't increase in a sorta kinda but not really quadratic manner, depending on zone domains, like CLV, but instead is the same everywhere. Here's a possibility in pseudocode. I'm not sure how applicable it would be to the dolphin code base, because this is super simplified and I'm sure the level of abstraction in the code base is far higher, moreover this would need to occur in a thread, because otherwise the sleep would screw shit up. And depending on threading the driver might need to handle read queueing as well.
size_t previous_offset; // probably encapsulated in a disk reading class

char readByte(size_t offset) {
  microsleep(simulatedSeektime(previous_offset, offset));
  previous_offset = offset;
  return realReadByte(offset);
}

size_t simulatedSeektime(size_t start, size_t dest) {
  auto startTrack = start / TRACK_SIZE;
  auto destTrack = dest / TRACK_SIZE;
  auto delta = startTrack < destTrack : destTrack - startTrack : startTrack - destTrack;
  return delta * SEEKTIME_PER_TRACK_IN_USEC;
}
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
TAG wrote:
how does one fix this issue?
UPDATE phpbb_topics SET topic_replies = topic_replies - 1 WHERE topic_id == 267; UPDATE phpbb_topics SET topic_replies_real = topic_replies_real - 1 WHERE topic_id == 267; ... Probably.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Nach wrote:
Unfortunately, a compliant asprintf() cannot use C++. If this was C++, the right approach would be to printf() into an std::string. My std::string implementation actually has a printf() method, as well as a way to build up a string from anything without silly format instructions.
Have you taken a look at the tinyformat library? https://github.com/c42f/tinyformat
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Nach wrote:
OmnipotentEntity wrote:
If you're already on the C++14 bandwagon, make_unique is a thing, no more need for new.
Sounds useful. I imagine there's a make_shared as well?
make_shared was a thing in C++11. C++14 added make_unique because it was an oversight, and they originally intended to. Using make_shared and make_unique are generally advised for performance reasons because of cache locality (ie, they can use just one call to new, to contain both the object being held and all of the various doodads that the pointer class needs, rather than taking some object that's already been newed somewhere, and newing somewhere else the pointer information.) C++14 is near or at its final draft, and because make_unique is considered a correction of a defect in C++11, I don't see it going away in any quantum reality.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Nach wrote:
Not sure how you get to hundreds unless you're including every derived problem. std::unique_ptr is rarely the best solution though, as very often, you'll be better served with an std::deque, std::vector, std::string, or something along those lines. In a ~25,000 line library I have, new is only called in two places. Also, don't forget about std::shared_ptr.
If you're already on the C++14 bandwagon, make_unique is a thing, no more need for new.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Tub wrote:
pointer nulling will help prevent that one elusive bug, but std::unique_ptr and exceptions for OOM handling will prevent hundreds. Just saying.
That would help if he were making a C++ tutorial. ;)
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Stevmay09 wrote:
Why are superswims so hard to optimize? I'm not really familiar with how TASing this game works.
Regular Swimming in Wind Waker has several aspects that make optimization extremely difficult. 1. Speed is periodic based on the frame of swimming displayed. 2. The distance traveled affects your swimming frame. 3. Speed decays as your breath meter goes down. 4. However, animation cycle becomes shorter as your breath meter goes down. Super swimming adds the following: 1. Determining the optimal amount of time to spend storing super swim speed vs swimming (longer you spend the faster you go, but because of regular swim 1 and 2 this isn't linear, more like x sin x^2, the graph was posted up thread and it's completely crazy). 2. Determining the optimal time to leave shore nearby (if you leave shore 3 causes your speed increase to take longer; however, not leaving means having to cover more distance.) 3. And the big one: finding the correct controller positions to alternate between. Super swimming does not require perfect 180 degree turns, smaller ones can be acceptable (as small as 144 degrees?) Having a smaller angle means you move more sideways while charging your super swim, which can be toward your destination (but not too soon because of 3!). You have to find the controller positions anew each time your camera changes angle. There has not been discovered any new way to programmatically determine the proper super swim angle to use. Super swim problem/technique #3 might also (I'm not certain) reduce the rate that speed is stored. One more thing to optimize.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Depending on how few A button presses are required for the Bowser skip and 50 star door skip, minimal A press route might include them. Return of a 16 star route?
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
TheYogWog wrote:
OmnipotentEntity wrote:
At timestamp 1:50 - There seems to be a ring on the far left bottom corner that you pass by as you're entering the boss area.
There's 13 of them, gotten in Act 2.
Oh wow, all of the way at 3:18. Ok.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
At timestamp 1:50 - There seems to be a ring on the far left bottom corner that you pass by as you're entering the boss area.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Stupid question. I'm sure it's been researched before. Do you actually need 11 power bombs to do the crystal flash? Or is 10 + a PB drop enough? (Lay bomb, kill enemy, it drops a power bomb item, pick up item, crystal flash triggered?) It might be hard to arrange an enemy to die and grab the pickup after laying the bomb, (because you can't move after laying the bomb?)
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Browser: Links (2.8; Linux 3.13.0-24-generic x86_64; GNU C 4.8.2; text) IFrame iframes unsupported Follow link to IFrame => First Party Session: Success First Party Long Term: Success First HTTP Authentication: JavaScript Disabled IFrame iframes unsupported Follow link to IFrame => Third Party Session: IFrame iframes unsupported Third Party Long Term: IFrame iframes unsupported Third HTTP Authentication: JavaScript Disabled Follow first link to IFrame => Success Follow second link to IFrame => Success
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
OmnipotentEntity wrote:
AngerFist wrote:
What do you say Omnipotententity?
Won't be a snap. But I'll see what I can do if I have free time after my game's initial release.
I'm still doing this stuff. My free time actually went way down after release. It'll probably take me much longer to get around to it. So, it's probably best if you're thinking of just doing it, to just do it. Don't wait around for me.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
I'm stuck on 10 for right now. EDIT: On to 11 now. EDIT: 12. EDIT: On 13. EDIT: Now 14... EDIT: Giving up for now, stuck on 14.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
The score counter hasn't been able to keep up since the second stage. Any idea what your score should have been?
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Kuwaga wrote:
OmnipotentEntity wrote:
Potential Energy is not an abstract concept. ... This is a simplification, of course. But I just wanted to fight the notion that potential energy only makes sense when you relate it to something else, and that it's only an abstract concept.
It isn't just an abstract concept? How can that be shown? Any theorem must be based on axioms, which can't be proven from within the system. How can any knowledge at all ever be anything more than an abstraction? You are saying that it truly exists, right? Not that it truly exists within the framework of physics. I wonder how that can be done.
Oh wow, really? A pedantic absurdist?
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.