Discussioni
French Southern TerritoriesPackSciences9 years ago

Another Perspective (AP) is a game made in GameMaker:Studio. The instance known as "player" is called Player and is stored into Objects > Entities > Player > Player. I'll try to focus only on movments variables and not on other variables so the code isn't entirely here. This object has 6 events : Create : Initialisating a few variables, in particular the followings : //Player Settings i_walksp=4.7; //Walking speed (pixels per frame) i_jumpsp=-8; //Jumping speed (negative because it goes up) i_grav=0.42; //Gravity strength (usually a small value)

walksp = i_walksp ¤ sign(image_yscale); jumpsp = i_jumpsp ¤ sign(image_yscale); grav = i_grav ¤ sign(image_yscale);

// On Spawn

hsp=0; //Horizontal speed vsp=0; //Vertical speed grounded=1; //Whether the player is on the ground PlayerControl=true //Give the player control

boost = 0; jumpfree = 0; bufferjump = 0;

A Alarm[0] and Outside rooms events that are related to out of bounds but nothing important. A Draw event to draw the character. A Room Start that saves the game. Everytime the room changes, the player is destroyed and created on the next room. When you go out of bounds (die) the map restarts (same script as before is executed). That leads us to the main "Step" Loop. (My TAS Tool override this Step event with a "Begin Step" event that happens before the Step Loop) Let's analyse actions on the Step Loop step-by-step (in order):

if (!Freeze) { image_speed = 0.2; walksp = i_walksp ¤ sign(image_yscale); jumpsp = i_jumpsp ¤ sign(image_yscale); grav = i_grav ¤ sign(image_yscale); This means if the player isn't stuck (from a restart or something), the variable walksp equals i_walksp. jumpsp equals i_jumpsp. ¤ sign(image_yscale) means the force is applied to the direction facing the player. grav equals i_grav. This part isn't that important is dedicated to the part where you calculate the variables for movement, you don't calculate it in-depth, you don't apply the movement yet. Not calculate it. This means what happen in the end of this step at frame N is applied at frame N+1, not frame N. I will not forget to mention that you are ejected if you can't clip in a block deeply enough because you get pushed during a frame (but it's kinda boring in-depth).

//Left & Right Move Confirm x += hsp; X movements is applied to X axis of the player's sprite

if (scr_tilecollide(x,y+image_yscale)) || (place_meeting(round(x),round(y+image_yscale),obj_collision_parent)) { if (grounded = 0) sound_play(snd_foot1); grounded=1; } else { grounded=0; } If the Player meets the instance the "family" or parent of objects "obj_collision_parent" the variable grounded is set to 1. Else 0.

y += vsp; means that you apply the y axis movement to the y axis player sprite coordinates.

About strafing :

// Left & Right Input Check if (Key_Right) { hsp=(walksp ¤ sign(image_yscale)) ¤ (1+boost); if sign(image_xscale) !=1 image_xscale¤=-1 } if (Key_Left) { hsp=(-walksp ¤ sign(image_yscale)) ¤ (1+boost); if sign(image_xscale) !=-1 image_xscale¤=-1 }

if (!Key_Right and !Key_Left) { hsp=0; }

The horizontal speed is set to the walksp times the boost + 1. The force is applied facing the player.

Now, let's talk about jumping. This is kinda hard to explain, you'll need to read the code to understand it :

if (Key_Jump) { bufferjump = 16; }

if (bufferjump > 0) { if (jumpfree > 0) { jumpfree = 0; grounded = 0; vsp = jumpsp; bufferjump = 0; if (boost < 0.2) boost+= 0.1 } else { bufferjump -=1; } }

//Add Gravity if (!grounded) { vsp += grav; } else { if (bufferjump == 0) boost = 0; }

This code explains in-depth how the physics is calculated for jumping. I assume bufferjump is for the time you have a buffer for jumping. Jumpfree positive means that you can jump after a "Soulchange" (it's on other parts of the code and kinda boring).

And it's done.

I hope you liked it. These are the main datas/functions/variables for the player movement in Another Perspective.

French Southern TerritoriesPackSciences9 years ago

Hello, I have been asked by Bitrain to make a thread about frequently asked questions and their answer. Here are some common questions you should read before making a thread on Portal 1 forums:

"Portal Done XXXXXXX segmented run" There are a lot of segmented run made by SourceRuns Community, which is great. However, there are like a bunch of them that has never been finished. I can understand that making a segmented run with different elements of gameplay can be interesting like Jumpless, 23 Cubes, TSA, and stuffs like that. If you want to make a segmented run, you should have a solid project, skillful friends SourceRunners, and motivation. What I mean is that making a thread to just say "Hey, I am making a run" is useless.

"Proposal to XXX" or "This rule is stupid" Everyone can find that a rule is stupid; it works in real life, on the Internet, at school, at work, in countries. There are rules you can disagree with. However, you have to follow these rules. The only changes that have been done were made when most of the runners of a game were for it. It works the same way in politics (mostly, not everytime), if the majority disagree with a rule, they will delete it. Unless you have the agreement of the majority of runners of a game/a category, don't start a "rule-breaking" thread because that will go nowhere.

"I found XXXX glitch" Ok, this is a difficult case I guess. When this question was asked, most of the time, it was known glitches. However, some runners weren't aware of these glitches. This means you CAN probably make a thread about it, but it will mostly everytime be already known. In MY opinion, I think it's important to make a thread about glitches that may sound obscure to newbies (example : Some people didn't know the lamp could be stuck on the ceiling). Finally, don't try to spam the forums, ask a known runner, he will probably answer you.

"I need help for XXXX glitch" Ask a runner personally. The community is made of great people that are very nice and who can explain you in-depth. Making a thread for that isn't always good and can sound as spam for some runners.

"I found this route for XXXXXX chamber in Inbounds" I know nothing about Inbounds, I am not going to lie. However, I know there are dozens of routes for each chamber in Inbounds. The thing is that save glitching allows you different routes, different playstyles. Some routes are easier, some are harder. Unless you have a "faster than segmented" route, it's mostly useless to do a thread about that. You choose the strat you use, especially for Inbounds.

"Where can I find Maxxuss' Speedrun_demorecorder ?" Here : https://dl.dropboxusercontent.com/u/7002247/speedrun_addonv0.0.5.1.zip

"Is there a Ghosting Mod for Portal 1 ?" No. As far as I know, noone is working on it.

"I experience issues with LiveSplit/Vault Save/ SourceSplit/ SPT Timer/ Demorecorder" Ask a runner directly, he will be probably answer you better than anyone. If it's related with a bug, you can submit issues directly to their makers : LiveSplit : https://github.com/LiveSplit/LiveSplit/issues SourceSplit : https://github.com/fatalis/SourceSplit/issues SPT Timer : https://github.com/YaLTeR/SourcePauseTool/issues Speedrun_demorecorder : Ask Maxxuss

"I want to run the game" Get SourceUnpack if you want to run anything (you don't need it for glitchless). Type on google "Portal Speedrun Tutorial" If you have specific questions about specific elements, ask directly a runner.

"Memes" SourceRuns have often been a place for memes. I mean it's as old as SourceRuns, as old as the community. However I realized that it's not a good place for memes. The forum should be a place where newbies and experienced players could co-exist. If you want to talk memes, we have already thousands of good places to talk about AG, the fact that Save Glitch is OoB or that Vault Save is TAS technically. This became really important since the Portal forums aren't that clean and we must keep it clean for future generations (this sentence looks weird).

I'll edit this post if something new is added. Thanks for reading. SauceRubsly PackSciences

French Southern TerritoriesPackSciences9 years ago

First, here is the TAS Mod I made : https://goo.gl/aMMtpy

How to use it :

// Installation How to install :

¤Unzip the zip file

¤Run the game once (you might think it's not launching); the installation will proceed in the background. It will write 100 001 files under AppData\Local\10SecondNinja_YoYo\

How to use : ¤ Edit the .tas files (see below for how to edit it) ¤ Launch the game ¤ Skip the cutscene ¤ The TAS Tool will start playing all the .tas files (each one matching with its name)

How to edit :

  1. Edit seed : ¤There are a bunch of random functions in this game. I made a system that allow the TASer to choose the seed : the seed.tas file Open it using a text editor and write down any natural number and it will set the seed.

  2. Edit inputs : YOu should have exactly 100000 .tas input files in your AppData\Local\10SecondNinja_YoYo\ folder if you proceed the installation correctly. Their name matches with the order of their reading. Example : TAS_977.tas matches with the input on frame 977 in the first tutorial room. Then, the file is encrypted using the following code :None = 0 global.L = 1 global.R = 2 global.A = 4 global.B = 8 global.C = 16 global.D = 32 global.RS = 64 global.U = 128 global.ESC = 256 Maximum = (2^9)-1 = 511

Each of these variables is an input from the original game. Each number you put into a .tas file matches with an input. To find out which number, you have to add the number of the input using this encryption. Example : 17 on TAS_1865.tas will play the Left Key and the C button on frame 1865 because 17 = 16 + 1 Example : 35 on TAS_2.tas will play the Left Key, the Right Key, and the D button because 35 = 32 + 2 + 1

Finally, play and enjoy :)

WARNING : This can experience lags, the lags are caused by your computer, the device is not lagged and is 100% accurate. WARNING : Don't forget to delete your save everytime you launch the game WARNING : This is a experimental tool, to report a bug, send a PM to @PackSciences

French Southern TerritoriesPackSciences9 years ago

Hello, Recently, YoYoGames released a lot of source code on Humble Bundle https://www.humblebundle.com/weekly including 10 Second Ninja Source Code. I made a TAS Tool for another game of this bundle called Another Perspective and I think I can do that easily for 10 Second Ninja easily. I wanted to know if someone would actually be interested in a TAS Tool or would it be useless ?

French Southern TerritoriesPackSciences9 years ago

Hello, I just wanted to clarify something. Naija clipping isn't allowed for ILs. However, before yesterday, the "Naija clipping through walls or manipulating cycles such as 5-16x will result in times being disallowed" on Light Forest IL page. I wanted to show the community in a funny way that the rules must be written. Ok, you and I know it's not allowed; however, writting down rules seems essential in my opinion; it's not because you know it's not allowed that everyone does. Imagine you are a new runner and you play the game offline for a while and you want to submit a time with Naija clip, you read the rules and ... oh, it's allowed. According to a few people, "if it's not written in the rules, it's allowed" seems to be interesting. So I am just asking all rules for Full-game category and ILs to be written in order to get a clear idea on what's allowed and what isn't. Someone answered me this argument "This is stupid, the rules might be super long for nothing". That happened to the SourceRuns community when we realized we weren't agreeing on some of our own rules when trying to write it down. This is the reason why Portal rules are so long : http://www.speedrun.com/Portal#No_OoB1 So, I am just asking a bit of clarity and I hope you will understand that I am trying to get the SMB running easier to understand for everyone. Friendly PackSciences

French Southern TerritoriesPackSciences9 years ago

Hello, I am PackSciences from France. I was following a while ago A:I speedrunning, I even tried at home but my computer could barely handle the game. Then, I had to go to school, to work, stuffs like that and I was away for a few months and I think the whole community forgot about me :'( . But I have a new PC and I am currently downloading Alien:Isolation and I hope this computer will handle it. Are there tutorials with newest strats somewhere ? I've seen some of you guys streaming but not during a while because I had a lot of stuffs to do.

I honestly want to be a part of your community. Friendly PackSciences

French Southern TerritoriesPackSciences9 years ago

Hi, I got 2 bugs today and I don't know why that happened and I wanted to know if anyone experienced that too. First, all the people I followed are gone : http://www.twitch.tv/packsciences/profile/following I followed around 750+ people yesterday and now it's 0 and I didn't unfollowed anyone. Also, I can't connect any Twitch chat right now with my browser, I am forced to use my bot account "ThePackBot". Have you ever experienced that ? Any solution for that ?

Friendly PackSciences

French Southern TerritoriesPackSciences9 years ago

Hello, I open this thread to report timing errors, I am gonna start with Samot's Naija% current PB : http://www.speedrun.com/run/9yo9lo5y It's saying 17h instead of 17 minutes. http://i.imgur.com/c8SF7DD.jpg

French Southern TerritoriesPackSciences9 years ago

Hello,

I recently discussed with MKDasher & werster about games languages. The fact is that the same game is released in multiple languages all around the world. These versions have really small differences, but, for the PokémonSpeedruns elite, it's a lot. They don't want to have the same category with different languages (as kanjis would be faster and small engine differences). Like it would have top 10 with JAP version and then top 30 with English. PokémonSpeedruns.com only allows english version, but fortunately, this is speedrun.com With current features of the website, we had 3 solutions :

  • Making a "Extra Variable"
  • Making a "New Category"
  • Making a "New Game"
  • Doing nothing and still ban non-english versions

I am gonna start with the more obvious, "Making a "New Game"". It's obviously stupid to make a new game request for the same game but just small differences.

Then, we thought of making a new category. This would be more accurate, technically, but we would have dozens of categories. Small example : Pokémon Diamond/Pearl has Any% Glitchless & Any% and 7 versions : US, JAP, FR, GER, SPA, KOR, IT. So, it's obvious you can't have every category of every version.

Finally, we discussed about "Extra Variable". The idea would be to have a language Extra Variable and then select which one you take. You might tell me it's the easier thing to do. But werster underlined two problems :

  • First, the fact that when you add an extra variable, the leaderboard shows the whole leaderboard by default and he doesn't want it. Like if it would be sub-categories, the solution could be to be able for game mods to disable the "show all runs by default" and force the leaderboard viewever to choose a category and by default take the english one. That's ONE solution, not the easiest to do for admins, but just asking.
  • Also, if the feature I suggest is made, the profile page & the run page would be weird, because it would displays the ranking of the whole category, not the english one. Thus, making it inexact.

Another solution would be to do nothing and allow only english versions like nowodays.

Thanks for reading.

PackSciences

Trollbear666 piace questo
French Southern TerritoriesPackSciences10 years ago

What is the current route for this category ? Is the PokémonSpeedruns.com route the fastest ? What is this thing I've heard about trainer ID ? Can someone explain, please ?

Info su PackSciences
Iscritto
10 years ago
Online
1 year ago
Runs
234
Giochi corso
Portal 2
Portal 2
Ultima corsa 8 years ago
62
Runs
Super Meat Boy
Super Meat Boy
Ultima corsa 8 years ago
35
Runs
Half-Life 2: Episode Two
Half-Life 2: Episode Two
Ultima corsa 9 years ago
21
Runs
Blamod Reborn
Blamod Reborn
Ultima corsa 8 years ago
10
Runs
Portal
Portal
Ultima corsa 7 years ago
9
Runs
Antichamber
Antichamber
Ultima corsa 9 years ago
9
Runs
Yu-Gi-Oh! Legacy of the Duelist
Yu-Gi-Oh! Legacy of the Duelist
Ultima corsa 8 years ago
9
Runs
Pokémon Red/Blue
Pokémon Red/Blue
Ultima corsa 10 years ago
8
Runs
Giochi seguiti
Portal Elevators
Portal Elevators
Ultima visita 1 year ago
906
visite
Portal: Canonical Base of RxRxR
Portal: Canonical Base of RxRxR
Ultima visita 1 year ago
362
visite
Portal
Portal
Ultima visita 4 years ago
2,040
visite
Valiant Hearts: The Great War
Valiant Hearts: The Great War
Ultima visita 4 years ago
83
visite
Black Mesa
Black Mesa
Ultima visita 4 years ago
3
visite
Super Meat Boy
Super Meat Boy
Ultima visita 5 years ago
529
visite
Portal 2
Portal 2
Ultima visita 5 years ago
1,267
visite
Half-Life 2: Sniper's Episode
Half-Life 2: Sniper's Episode
Ultima visita 5 years ago
11
visite
Giochi moderati
Portal Elevators
Portal Elevators
Ultima azione 4 years ago
95
azioni
Another Perspective
Another Perspective
Ultima azione 7 years ago
39
azioni
Portal: Canonical Base of RxRxR
Portal: Canonical Base of RxRxR
Ultima azione 7 years ago
29
azioni
Celestial Mechanica
Celestial Mechanica
Ultima azione 4 years ago
22
azioni
Blamod Reborn
Blamod Reborn
Ultima azione 8 years ago
19
azioni
I Wanna Practice The Game
I Wanna Practice The Game
Ultima azione 7 years ago
11
azioni
Half-Life 2: Sniper's Episode
Half-Life 2: Sniper's Episode
Ultima azione 7 years ago
11
azioni
E.T. The Extra-Terrestrial
E.T. The Extra-Terrestrial
Ultima azione 6 years ago
10
azioni