Posts for r57shell


1 2
12 13 14 15 16
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
Language: c

const int A = <some>; // no entropy const int B = <some>; // no entropy int seed = 0; // no entropy int rand() { seed = A*seed + B; // A, B, seed - no entropy -> new seed - no entropy return seed; } // so this func deterministic void main () { seed = time(0); // time(0) - source of entropy, so seed isn't deterministic. for (int i=0; i<10; ++i) printf("rand() = %d\n", rand()); // there will be 10 random numbers but! if you know first, you can easily determine all 9 after. } // so if you set seed to some certain value in main, you'll get deterministic program. it will run always same.
List of some sources of entropy: 1) Time, timers, delays, elapsed time between some two points in program. 2) Threads execution order, it can't be same, unless if you syncronize all with appropriate methods (mutexes, events etc.) 3) Program base address (where it was loaded), current stack pointer :D, addresses of memory allocated in heap... 4) User input: keys down, keys up, mouse movements... 5) OS events: WM_MESSAGES, hmmm something else :) 6) Polling stuff: socket recieve packets, socket send packet, sound in poll mode (is there space for next sound samples?)... 7) Special random devices that produces REAL RANDOM! You can expand this list forever. But when it comes to emulators, you may restrict your emulator core from accessing to all this stuff except user input. So your emulator must have only two methods: 1) advance time (emulate frame / emulate miliseconds ...) 2) change current user input (for rerecording) and restrict from any other external input that may have entropy :), also restrict frontend from changing any data used by core. Use "encapsulation" method :). Question: how then I'll show image and play sound if it produce entropy? Answer: yes it produce entropy, but as far as you don't access it from core: (advance time method) you can use it, because while you didn't call time advance methods, state does not change.
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
Also, easy answer to "how to make it deterministic" Just remove any sources of entropy! :D It might sounds complicated, but it easy.
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
Yep, I know what envelope there, and yes, it's parabola. I already told that I'm thinking few days already, so I know something :) If you assume that all straight lines in 2D is stright in 3D then it class of ruled surfaces (hyperbolic paraboloid there too) And then, you can setup many of such surfaces... But, when you see image in 2D you imagine exactly some certain surface. And then, different question - how to understand what you see? :)
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
A little about string art. I'm thinking few days already about it. Here is picture [URL=http://imgur.com/bZTZIgX][/URL] It's made in 2D, but if you may imagine that there some surface. Question is: What That Surface?! (in 3D) How it's made: just draw line between points (0,i) (1-i,0) for i = 0 to 1 by 1/n :)
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
It can't, otherwise you'll get same slow speed. Exodus 1.0 for all MD hardware part create its own thread = ~12 threads Each now and then sync them, that's why it's very slow. In Exodus 1.1 only Nemesis knows what was changed. but still 50fps on Core 2 E7400 (2.8GHz dual core) it's slow. Also, 28fps ->50fps it's only 2 times faster, seems like nothing changed (only optimized)
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
There is Very Serious Question. A matter of life and death. Should we encode what happens after? Or NOT? If we choose wrong, we definitely all die. Don't rush! Think carefully! Or, the world will collapse. LOL That flame, making me laugh! :D
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
For me ACE means 0) unintended - you can argue endlessly about intention 1) arbitrary - do you have some freedom here? 2) code - is it code? yes! 3) execution - is it executed? yes! Then it's ACE.
Tub wrote:
If you cannot do turing complete computations, you haven't been executing code.
lol, I even doubt whether you know what is "turing complete computations". You can run "turing complete computation" in SQL.
Tub wrote:
My personal criterion for "arbitrary" would be: can you use it to replace the game with SMB1, Tetris or any other game available on the platform? If you can't, it's not arbitrary enough.
Ha! Gotcha! "If you can't, it's not arbitrary enough." But, it's still arbitrary! Not enough, maybe, for something. But still, you can write whatever you want, but something won't run. Same thing in any language even in asm, you can write some bad opcodes, and they won't work. You can write some bad code in Javascript, and in certain conditions, it will stop. (exception/error occured). Also, there are many of filters for user input to preventing injections, but still, hackers making exploits writing code with such restrictions: no spaces/no NOP byte. There are even special tools that generate machine code without restricted bytes/patterns.
Tub wrote:
To do so, you must exercise enough control over the platform to
  • stop the previously running game from executing
  • execute your own turing complete computations
  • load or create new game assets, including images and sounds
  • have full access to the platform's inputs (gamepad, keyboard, mouse, ...) to load new data
  • have full access to the plaform's outputs, usually video and sound
I would create tag "platform total control". :D STOP! Who cares how to call it? Is there run that needs tag? Nope, you talking about game. Replay first -> tag after! :D If this "hole" will make fun, then why not?
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
you making me sad :( you need to search string in file, and there isn't such function then make it yourself pseudocode:
f = io.open(file,'r');
all = f:read('*a');
s,e = string.find(all,'X1 Y2',1,true); // find from start plain text
(s,e - start, end, indices)
f:close(); // don't forget!
(didn't read whole thread) if you need to know line number then you must go through lines:
local l = 1;
for line in io.lines(filename) do
s,e = string.find(line,pattern,1,true);
if (s ~= nil ) then // I don't remember correct condition)
   return l,s,e; // returns line number, start, end;
end
r = r + 1;
end
something like that..... think please.
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
yes, jumping macaco :)
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
meh, jumping macaco.
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
For me, "heavy glitch abuse" is not how heavy glitch is. It's how frequently they used, or how many of them. So, if there is one ACE to game end, I would not say that it's "heavy glitch abuse". About clutter of tags. I would like to see button "see all tags" for each movie. Most expensive (common) tags are always visible, and all other tags - is hidden until you press "see all tags". As result, you may have a lot of tags for same movie, including very specific tags. Tags - for search, if you want more info, see publication and description.
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
Great!
Truncated wrote:
* Being able to "see" things outside the screen with feos' script helps immensely.
:(
Truncated wrote:
* The third lock screen was weird. It does not require all enemies to be dead. My best understanding is that it allows you to progress if either 1) there is 0 to 1 enemy left, and that enemy is a big guy 2) there are 0 to 2 enemies left, and neither is a big guy
We discussed about it with feos few weaks ago. I don't remember... Did someone of us described conditions of unlocking? Nevermind, here we go. All event system done in this way: 1) In start of level, current condition and function initialized. 2) While condition is not true, nothing happens. 3) If condition is true then function called. But, this function can have hardcoded additional condition, and this is very common behavior. 4) function can: a) do nothing if some condition was met. b) update condition (set new one) c) update function (set current function to another) d) fork another (condition;function) event system (with same behavior) e) and most of them (of such functions) spawn new enemy, and doing some animations, change music, lock/unlock screen. I have script which shows all awaiting conditions, but there is no way to find out what is hardcoded unless manually viewing all code of all events. Lot of code, for any little scene. So, I gave up to make further investigation in this way. And, it's much faster to figure out contidions in game, than viewing code. But yes, you can miss something.
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
It's awesome. I'm voting yes already :) thumb up!)
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
I see only one reason: my last WIP was 19 march, it was quite a long time ago. You want to go further, but I'm not updating and checking this part. I see only this reason. I suspended this run for uncertain time. That's reason. I don't worry about it. Because every time you have to suspend something and resume another thing. All depends your priorities and desires. Me bad, yes... But I'm not upset. I'll resume, when I have to!
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
Dooty wrote:
Looks like we do have a problem here;
First, may be you have a problem, but I'm not.
Dooty wrote:
I understand your preference for Gens over BizHawk, but we're stuck on those damn platforms.
May be you stuck on platforms, but I'm haven't tried yet.
Dooty wrote:
Also, I've lost something really important, or maybe the most important thing on a TAS; motivation...
That's problem, but not mine :).
Dooty wrote:
So, before it reaches a point that would lead me into dropping the project, I'll keep on working on a BizHawk version.
Do what you want. I don't worry. I'm happy :D Also, I don't interested in any info about BizHawk.
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
Dooty wrote:
and of course, r57shell agreeing to switch to a new emulator.
Nope, of course I don't agree.
Dooty wrote:
We're not going to work on the Gens version for a while.
I'm going to work on Gens version, but when I want. As I always saying: do what you want to do.
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
Only facepalm.
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
Also, don't forget that VBLANK is not instant! It has start, and end. VBLANK start -> Active display end. VBLANK end -> Active display start. So, there are two points where developer of emulator can update input. But game can read input at any point. It can read input twice or more... For real system, joypad state is not changing once in frame. Game reads current state of input when it needs.
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
YYEEAAHH!!!!
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
Ahaha, as russian, I can definetely say: he using translator, or trolling. More likely first. lol
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
xxNKxx wrote:
The person got catched can counter by a catch to who catching him.
How, and in what version? I play a lot in Sega and MAME version, and still didn't know about this.
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
xxNKxx wrote:
I was verus with my friends and we got time up with no damage because counter-catch.
What is counter-catch? I know "reversal" but it deals damage.
Tangent wrote:
http://www.youtube.com/watch?v=9COIMF6cFiw http://www.youtube.com/watch?v=q0x2oPe8l5g http://www.youtube.com/watch?v=343dxeTUF2U
Third link it is bugs made with cheats. Modificated game. It's noted in video description.
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
No, because 1) it's nothing to play easy. When I can walkthrough on hardest difficulty... Not so fast though. 2) I don't hear comentator!?!?! Is it PSX version so ripped? :S
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
When guest first time open site, he does not know anything about it. He read "When human skills are just not enough", and think something like "cool". He does not know that there is featured movies category, but he will see Featured movie at top of site content. And may be somehow realize that he can watch this movie on youtube. May be he will watch one TAS... I don't really think that someone will enter Forum or About right after watching some TAS. I have NEVER read About section. Or even if I read it, I don't remember. Also, guest does not know about Latest publications, but he will see it at home page, same with Vault, and Latest submissions. More difficult is to rate movie, you need to go into publication page, and somehow find "Rate this movie" link. What about workbench, you need to: 1) Start with Home Page 1) Go into Forum 2) Somehow find Workbench in tons of threads and branches, and only after it you'll realize that You Can Vote Submissions! Another way: 1) Start with Home Page 2) Go into Latest Submissions 3) Click on "Discuss this submission (also rating / voting)" Hurray!
Ilari wrote:
Err... Users can't vote before getting a few posts first (and for good reason).
For example... There is one movies catalogue site, and one of its cool features, that it shows almost all registered user interface for guests. So you can easy understand what you can do if you are registered. For example, It shows directories (My films, Favorite...) in which you can put movie if you are registered, and if you not registered, it simply shows "this is allowed only for registered users". I would never register there, if I didn't see all stuff from guest. It would be nice to keep count of not intuitive things as low as possible. Also, I didn't know about WIP storage, but when I learned that it is, I searched for a long time until I saw "Upload a WIP..." link at bottom of home page. :S
Experienced Forum User, Published Author, Player (97)
Joined: 12/12/2013
Posts: 376
Location: Russia
WST wrote:
Upthorn calculated the fastest routes ages ago.
I'm curious too. Because I know what can be calculated and how much time it costs. I don't really know system in sonic bonus, but there are: many blue spheres (each one can be in collected or not state (1/0)) and you can run in 4 directions, and map of stage is not small. So, it's already (2^100)*4*(w*h) different states approximately. where w = map width and h = map height. (2^100)*4 = ~1.27e+30. (1 and 30 zeros). I know that many of them "useless", but it's requires implementation of good cut off algorithm for "bad" states.
1 2
12 13 14 15 16