Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Friday, August 4, 2017

Kids, Squids, Art Memes & DIY Hacks

The Splatoon series is well-known for two things: inventive multiplayer non-violent FPS action and the Miiverse player art accompanying player profiles that often showed some surprisingly intricate artwork. In fact, even though the Miiverse function won't be included in the Nintendo Switch, Splatoon 2 includes a profile function that works essentially the same way... so artists have kept on arting.

Some of the profile art looks jaw-droppingly detailed. Two examples:



How were these done? The two images were made using two different approaches: one involved a lot of patience, and the other involved hacking a game controller to run an external program.

The first image was created by reddit/twitter user Tobi, who explained his process this way:
“I just used a capacitive stylus for rough shapes, a zoomed in copy of the guy's face in 2-colour mode which I constructed in Photoshop, and a looooooooooot of patience to recreate the face. You don't have to be pixel perfect, because the entire thing hinges on visual noise to begin with, but it's nice if the face had some semblance of coherence to it. The clothes and hair are mostly random dots, whose only purpose were to create the illusion of texture and depth.

The second image, however, was not made by hand. Splatoon player and programmer ShinyQuagsire23 figured out how to trick an external USB input capture device to repurpose a fighting game controller to create the input needed to recreate an image pixel-by-pixel . The entire image creation process takes about an hour.

ShinyQuagsire23 uploaded the entire project to GitHub so that the rest of the world can share detailed Splatoon profile art too.

Or use it to make the dankest of memes.

Tuesday, June 27, 2017

Listen Up: Open Ended

Opened Ended is a weekly podcast hosted by best friends Cher Vincent and James T. Green. Every week, they take a deep dive into the latest technology and computer news, best practices in programming code. But they don't just focus on gadgets and shiny tech in the tech sector, they discuss everything coding to code-switching to gender.

Even though they're best friends, Cher and James don't always agree, and there can be plenty of spirited but respectful debate, which makes for an interesting listen.

Follow them via the Open ended web archive or via iOS on iTunes.

Listen Up is an ongoing series devoted to shining a spotlight on podcasts by diverse creators. You can check out all the podcasts previously featured here. If you have a podcast you'd like to recommend, post it in the comments or email me at shawnstruck at gmail dot com.

Wednesday, December 7, 2016

Knit 1, Pwn 2: Learning Programming Via Knitting Games

Description: Illustration of a knitting work in progress of a heart
pattern using a knitting guide. Illustration courtesy Idea Studios.
Writing for Vice.com's Waypoint section, Nicole Carpenter muses on how knitting has connected her with two things very important to her: her grandmother, and computer programming. It's not as unlikely a connection as one might think, As she explains:

Knitting is an exercise of binary code: knit or purl. One or zero. Knitting patterns—and patterns for other yarn crafts—can be considered some of the first programming languages. 
"Computers ultimately started off partially inspired by weaving and the Jacquard loom," electrical engineering professor Karen Shoop of Queen Mary University in London told Mind/Shift in 2013. "Arguably, some of the earliest programmers were the people making paper punch hole patterns for weaving patterns."
While yarn and its aesthetics have been a part of video games over the years, present in titles like Yoshi's Woolly World or the more recent Unraveled, Carpenter explores designer April Grow's work  on two games that center on yarncrafting as actual game mechanics: Pattern and Threadsteading.

Both games use craft in its literal sense—the act of making something—as well as as a storytelling theme, in a more abstract way. They bridge the perceived gap between technology and craft, a perception that Shoop discusses, too: "I loved the fact that there is a perception—usually wrong—that there's a world of computer (soulless, technical, 'geeky') and a completely different domain such as knitting (traditional, 'female', craft)—yet there is a clear overlap." 
Pattern is knitting as binary made literal, using crochet as the craft of choice. Like knitting, crochet uses patterns. Grow's game intends to teach players to decipher a pattern's programming-like expressions; she wanted to highlight the math, systems, and equations she saw in crochet—the ones and the zeroes.
The entire article is an interesting exploration of the way knitting as a mechanic bridges the gap between technology, craft, code and personal memories. Read the whole article here.
dddd

Wednesday, January 27, 2016

Bitcoin Developer: 'Bitcoin Has Failed'

Description: A screenshot from the cartoon South Park showing a white man in
a gray business suit with a blue and white tie sitting at a desk with the caption:
"We have put all your money in Bitcoin. And it's gone."
Nike Hearn, a Bitcoin software developer for over 5 years wrote about the success- or lack thereof- with the virtual crypto-currency Bitcoin in an essay last week:
I’ve spent more than 5 years being a Bitcoin developer. The software I’ve written has been used by millions of users, hundreds of developers, and the talks I’ve given have led directly to the creation of several startups. ...From the start, I’ve always said the same thing: Bitcoin is an experiment and like all experiments, it can fail.
But despite knowing that Bitcoin could fail all along, the now inescapable conclusion that it has failed still saddens me greatly. The fundamentals are broken and whatever happens to the price in the short term, the long term trend should probably be downwards. I will no longer be taking part in Bitcoin development and have sold all my coins.
Heard then goes into just why Bitcoin was a good idea that flopped, and flopped hard:

It has failed because the community has failed. What was meant to be a new, decentralised form of money that lacked “systemically important institutions” and “too big to fail” has become something even worse: a system completely controlled by just a handful of people. Worse still, the network is on the brink of technical collapse. The mechanisms that should have prevented this outcome have broken down, and as a result there’s no longer much reason to think Bitcoin can actually be better than the existing financial system. Think about it. If you had never heard about Bitcoin before, would you care about a payments network that: Couldn’t move your existing money, had wildly unpredictable fees that were high and rising fast, allowed buyers to take back payments they’d made after walking out of shops, by simply pressing a button, is suffering large backlogs and flaky payments, and in which the companies and people building it were in open civil war?

Heard goes into each of the failure points in more depth in his essay. One of the more interesting things was seeing the Bitcoin project itself slowly being eroded by the same petty disagreements and flame wars that tank tiny, obscure open-source projects.

What do you think, readers?

Friday, January 15, 2016

DIY Kill-Bot: A.I. Plays Dark Souls PVP

Description: A screenshot of a giant headless rock creature (golem) kicking an
armored knight square in the butt. Heehee, butt.
The Dark Souls series is known for its punishing difficulty in single player mode (and making it even worse for pirates who accessed it early) and its cut-throat competition in player versus player strategies. One user on gitHub going by the handleMetal Crow decides to combine his love of programming, his passion for playing Dark Souls PVP and desire to have an AI do his bidding into making his own bot that can play Dark Souls PVP and shared it with the world.

What's really interesting to me, coming at it from a non-technical viewpoint, is how much of this project was complicated by the fact that for all the strategy talk surrounding Dark Souls, the system is a closed system, making it sort of akin to trying to peer into a sealed black box. As he explains, he had to pretty much reverse-engineer the game:
In order to have the AI do anything, i needed to be able to feed it data about the game state. The simplest and most direct way of doing this is would be to have it watch various variables in the game code, such as the enemy's x and y location, and then use that with the AI logic. However, since the game's code isn't open source, i needed to reverse engineer anything i wanted to use.
Ok, so maybe that doesn't sound that surprising, right? Just point a program at a game, observe it crunch some numbers, and you're done? As it turns out, writing a bot to play against a human is really tricky-- and not just because us humans can be highly illogical. Nope, Metal Crow had to teach the bot to avoid backstab damage, and he had to create a sort of neural network to do it. He explains:
{In PVP]...the primary combat isn't standard attacks, but the backstab metagame. This is a beautifully complex mechanic, which allows players to instantly damage another player if they manage to get behind them and close to their back. Unlike standard attacks, an AI cant dodge this very simply, because it is executed instantaneous, there's no windup the AI can see and roll away from. The backstab metagame with humans revolves around identifying if a person is about to go for a backstab, then dodging it or countering it ahead of time. Unfortunately, even though I can easily identify backstab attempts when I play, I cannot for the life of me translate it into discrete logic. Its just something I know from experience, I cant really explain it. However, it is vital the AI be able to detect and dodge backstabs, so I needed to figure out a way to teach it.
So how well does it work? You can watch a teaser video of it in action below:


Share This Post