Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Tuesday, 31 July 2018

Can Electronauts help make VR more social?

Virtual reality is an isolating experience. You power it up, strap the headset on and just sort of drift off into your own world. But maybe that doesn’t have to be the case. Maybe there’s a way to slip into a virtual world and still interact with your surroundings.

Electronauts presents an interesting example. Survios sees the title as a party game — something akin to what Guitar Hero/Rock Band was at the height of their collective powers, when people would set them up in their living room and invite friends over to play.

The new title has one decided advantage over those older games, however: It’s impossible to hit a wrong note. That’s kind of the whole point, in fact. Unlike the gamification of Guitar Hero/Rock Band, Electronauts is more experiential, designed to create remixes of songs on the fly.

I played a near final version of the title at a private demo in New York the other week, and mostly enjoyed the experience — my own personal hang-ups about doing VR in front of a room full of strangers aside. The experience has a very Daft Punk/Tron vibe to it as you operate a spaceship control while hurtling through psychedelic space.

There are several ways to interact with the basic track in the process, using the Vive or Oculus controller. The more complex tasks take some figuring out — I was lucky and happened to have the game’s creators in the room with me at the time. I suppose not everyone has that luxury, but the good news here is that the title is designed so that, regardless of what you do, you can’t really mess it up.

I can see how that might be tiresome for some. Again, there’s no scoring built into the title, so while it can be collaborative, you don’t actually compete against anyone. The idea is just to, well, make music. Hooked up to a big screen and a home theater speaker system, it’s easy to see how it could add an extra dimension to a home gathering, assuming, of course, the music selection is your cup of tea.

Here’s the full rundown of songs [deep breath]

  • The Chainsmokers – Roses (ft. ROZES)

  • ODESZA – Say My Name (ft. Zyra)

  • Steve Aoki & Boehm – Back 2 You (ft. WALK THE MOON)

  • Tiesto & John Christian – I Like It Loud (ft. Marshall Masters & The Ultimate MC)

  • ZHU & Tame Impala – My Life

  • ZHU & NERO – Dreams

  • ZHU – Intoxicate

  • 12th Planet – Let Me Help You (ft. Taylr Renee)

  • Netsky – Nobody

  • Dada Life – B Side Boogie, Higher Than The Sun, We Want Your Soul

  • Keys N Krates – Dum Dee Dum [Dim Mak Records]

  • Krewella & Yellow Claw – New World (ft. Vava)

  • Krewella – Alibi

  • Amp Live & Del The Funky Homosapien – Get Some of Dis

  • DJ Shadow – Bergshrund (ft. Nils Frahm)

  • 3LAU – Touch (ft. Carly Paige)

  • Machinedrum – Angel Speak (ft. Melo-X), Do It 4 U (ft. Dawn Richard)

  • People Under The Stairs – Feels Good

  • Tipper – Lattice

  • TOKiMONSTA – Don’t Call Me (ft. Yuna), I Wish I Could (ft. Selah Sue)

  • Reid Speed & Frank Royal – Get Wet

  • AHEE – Liftoff

  • BIJOU – Gotta Shine (ft. Germ) [Dim Mak Records]

  • Anevo – Can’t Stop (ft. Heather Sommer) [Dim Mak Records]

  • KRANE & QUIX – Next World [Dim Mak Records]

  • B-Sides & SWAGE – On The Floor [Dim Mak Records]

  • Gerald Le Funk vs. Subshock & Evangelos – 2BAE [Dim Mak Records]

  • Max Styler – Heartache (Taiki Nulight Remix), All Your Love [Dim Mak Records]

  • Riot Ten & Sirenz – Scream! [Dim Mak Records]

  • Fawks – Say You Like It (ft. Medicienne) [Dim Mak Records]

  • Taiki Nulight – Savvy [Dim Mak Records]

  • Jovian – ERRBODY

  • Madnap – Heat

  • MIKNNA – Trinity Ave, Us

  • 5AM – Peel Back (ft. Wax Future)

  • Jamie Prado & Gregory Doveman – Young (Club Mix)

  • Coral Fusion – Klip [Survios original]

  • GOODHENRY – Wonder Wobble [Survios original]

  • Starbuck – Mist [Survios original]

Can’t say I go in for most of those, but I can pick out a handful I wouldn’t mind sticking in rotation — Del the Funky Homosapien, DJ Shadow and the People Under the Stars, for instance. I wouldn’t be too surprised to see additional music packs arriving, as the company secures more licensing deals.

Meantime, Electronauts will be available on Steam for the Oculus Rift and HTC Vive, priced at $20. The PlayStation version will run $18. For those who want an even more public experience, it will be arriving in Survios’ 38 VR Arcade Network location.



from TechCrunch https://ift.tt/2mYBK36
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support