View Profile Pahgawk
I'm a computer graphics programmer who occasionally still makes art.

Dave Pagurek @Pahgawk

24, Male


Vancouver, Canada

Joined on 2/8/09

Exp Points:
478 / 550
Exp Rank:
Vote Power:
4.92 votes
Global Rank:
B/P Bonus:

Pahgawk's News

Posted by Pahgawk - July 5th, 2014

Our latest NATA collab is out and can be found here: http://www.newgrounds.com/portal/view/642175 It definitely isn't as polished as it could be and I feel like I'm forgetting something I should have added or something like that, but I just need to get it published right now.

So in the past month, I've been sort of struggling to keep myself from falling apart and in the past week, I had to go out of town for the funeral of a family member. So I'm not exactly in the greatest shape right now. I had intended to make an animation over the summer but it's looking like that won't be feasible. I like to operate in a little bubble and mostly pretend everything is ok and finish everything on time anyway at my own expense, but I think I need to take some time to make sure that I'm alright before continuing with anything. This might mean that since I'm not making an animation this summer, I might not make any large projects at all this year. I guess that's just an unfortunate consequence of the way things are right now.

I'm still going to try to finish the future NATA collabs though, and another will be made for Robot Day. Due to the current circumstances I may need some assistance getting that made though, we'll see.

I'll try to keep up with everything, but my sincere apologies go out to everyone if I don't. Thanks for your understanding.

Posted by Pahgawk - June 18th, 2014

Hey guys! The NATA Sarcastic Creatures Collab is starting! If you want to make something for that, PM me an animation with a creature of some sort (720x405, 24fps) by next week and I'll add you in!

update: Here's my entry:


In other news I just had my last ever class of high school. I've got exams for the next week so I'm really busy and haven't actually watched any of the NATA entries yet, and I might have to delay doing so for a week. BUT THEN I'M DOOOOONE WATERLOO HERE I COME

Posted by Pahgawk - June 2nd, 2014

The NATA sarcastic head turn collab is now up! You can find it here: http://www.newgrounds.com/portal/view/640374

Lots of neat people participated in this, so check out their other stuff. This also features the only completed animation that my 10-year-old sister has made for this site (she's started some other things but isn't as into animation as me so hasn't seen any to conclusion.)

If you haven't heard of this before, here's the rundown: After each round of NATA, the people in NATA (and anyone else who wants to participate) makes a short loop about a theme, embracing the potential for sarcasm, of course. In a few week's we'll be starting another one, so stay tuned for that if you want to participate!

Also, last weekend was my birthday. I got some books (The Ocean at the End of the Lane by Neil Gaiman, Red Dragon by Thomas Harris, I Am America and So Can You! by Stephen Colbert) and a panini press, among other things. Pretty legit.

School for me is wrapping up, although right now I'm in a particularly intense part. Afterwards I'll have plenty more time to work on that longer animation that I was talking about. It's fully storyboarded, the sound is done, and around 20 seconds are fully completed. Going ok so far.

I'll talk more later when the next round of NATA is over and the next collab starts!

Posted by Pahgawk - May 25th, 2014

The open round of NATA just finished and there's some great stuff you should check out. I haven't seen all of them yet myself, but here are some really great ones to get you started, in no particular order:







And then, since the round of NATA is over, we're starting our next Sarcastic Collab: The Sarcastic Head Turn collab! If you want to get in on this, make a head turn animation of some sort, 720x405, 24fps, and PM me a link to your .fla on dumping grounds or something like that. Individual submissions are supposed to be small. Look at our Sarcastic Walk Collab to get a sense of what I mean

Here's mine, to get you started (although mine is probably a bit longer than what we're expecting from everyone):


The final collab will be published next weekend, so look forward to that!

Posted by Pahgawk - May 8th, 2014

The title of this may have been misleading. I'm not doing NATA this year, and here is my reasoning: I've been spending a lot of time making videos in one month, and there is always a limit to what can be accomplished in that time. There were themes from my NATA entries last year that I think I could have done more with in a different context. So, I'd like to spend more time on something and see a concept through to the end with more detail and attention. I've been doing little bits and pieces for that recently.

That'll take a while, though, so in the mean time, I'm available to help with music or consult story or something for NATA if you think that'd be useful. I'll also continue to run collabs in between rounds like the ones from last year. For the uninitiated, the idea is that we give a simple action or animation concept and then you make a short little loop about that. Don't worry about it not being super great quality, the point is for it to be a quick, fun little side project. In the NATA skype group we've decided the theme for the first one will likely have something to do with head turns. More details on that as the NATA deadline for the first round nears.

For the past few days, I've been in Waterloo, Ontario competing in the Skills Canada animation competition. You go there in teams of two and have around five hours to animate to an audio clip (similar to the 11 second club, except sometimes they want it shorter or longer depending on how they feel.) I've been going with luuuka and here are some of the things we've made:


This is our video from the regional competition. I made the half of the scenes and Luka made half. We also couldn't install our tablet drivers so we were stuck in mouse mode, eughh.


This is our video from provincials. I animated the guy and the planes, Luka animated the girl and drew the backgrounds. The animatic we had to submit along with the video is available here on my alternate youtube channel, where animation tests and school assignments go to die.


These are pretty fun to make so there will maybe be more later. 

I've also officially accepted my offer to the University of Waterloo's Software Engineering program, so I'll be there in the fall! Is there anyone else on Newgrounds currently there or will be later?

Lastly, I've started making music again, although right now I'm going through remaking some older things that I've done. This is mainly a way to get me back thinking creatively after coming out of a not-so-great period. More original stuff will happen eventually.

Talk to you guys later!

(also I'll be 18 by the Ontario election in June so I can vote. oh god, the responsibility)

Posted by Pahgawk - January 5th, 2014

I've been working mostly in Javascript for the past little while, and over the winter break, I thought maybe I'd take the time to look at Flash again. Although I think Javascript is the future of front-end web programming, I still just really like Actionscript as a language. All the problems I felt AS2 had were resolved with AS3. It's really just a pleasure to work with a lot of the time, and since I wanted a fun little project to do, I decided to forget about futureproofing the code for a bit and I just wanted to have fun making something.

So, I made OrbitalMechanics: a planetary physics simulator written in Actionscript 3. Click to start adding new masses (first click sets position, second sets mass, third sets velocity.)


Basically, it is an application of various parts of the Grade 12 physics curriculum. Gravitational force is calculated using the formula F = (G * m_1 * m_2)/(d^2), where G is the arbitrary number 100, masses are in arbitrrary units where mass = 1 is comparable to a small asteroid, and distance is measured in Flash units. When two bodies collide (when the distance between them is less than the sum of their radii), they are replaced with a single body with their combined mass. The resulting body’s velocity is found assuming it is a perfectly inelastic collision using the formula m_1 * v_1 + m_2 * v_2 = (m_1 + m_2) * v’.

I decided to make this in FlashDevelop, an open-source Flash/Flex IDE. Flash Professional feels to me to be a little weird to work with, having become used to IDEs for other platforms, so I wanted to use something a little more similar to a traditional development environment. I could have used Adobe's Flash Builder, but I decided to try the free an open-source alternative, and I actually quite like it. Once I got it up and running, I actually had no complaints with it. It has all the useful code writing features that Flash Pro does, plus some, while also being more reliable (have you ever found that code completion in Flash just stops happening for seemingly random intervals? Doesn't happen in FlashDevelop.) 

I didn't fully escape Flash Pro, though. I opened up Flash at the beginning and created the little menu you see in the bottom left of the screen and added it to the library. Once that was done, I exported a SWC from Flash and added that to FlashDevelop's library and I was good to go. Basically, I was fully satisfied with my FlashDevelop experience and if you like using editors more similar in style to Visual Studio or Code::Blocks or Brackets or something like that, FlashDevelop is free and a great option.

So that's that. Hopefully it's kind of fun to play with. You can find the source on GitHub if you feel like taking a look at it.


As far as other updates go, I'm still not planning on doing any more animations for a bit. I've got all my university applications in and I'm waiting to hear back from a few still, but that's basically settled. Right now I'm just trying to get through school and deal with other personal problems and hope the depression medication kicks in a bit eventually. Everything will probably be ok soon enough though.



Posted by Pahgawk - October 6th, 2013

Well, it doesn't look like I'm going to get around to making any new animations for at least a few months because I actually have to apply to universities now and write essays for that. This requires more attention than usual essays because I only get to write one per place (mostly) and this'll affect the next few years of my life. So, making a showreel now is sort of my way of acknowledging to myself that this is it for 2013. However, expect new stuff after university applications are done, since I'll have more free time.

Other news: I redid my website again. This is primarily to make it easier for me to nicely advertise the more programming-related things I've made, since that seems to be the path I'm setting myself up for. Also, the bright yellows from the old version of the site were getting a liiiittle old (but never too old. Highlighter colour will always be hip. Kids these days say "hip", right?)

An update on the HTML/CSS/Javascript Newgrounds media player I made last week: The source is now available and (partially) documented on GitHub, if you feel like taking a look or extending it at all.

So hopefully I won't be gone for six months like I was after last year's NATA. But also if I have to disappear for a bit to get things done, hopefully it'll be understandable.


New Showreel and Website

Posted by Pahgawk - September 28th, 2013

I've been doing a bunch of things with Javascript recently, such as an equation parser and graphing calculator and a bad jokes database. I also submitted a new track to the audio portal today, which got me thinking. Surely something like the Newgrounds audio player could be done with modern web technologies, right?

Short answer: almost.

If you want to see what I made, here's an almost functional HTML/javascript audio player (works in modern browsers): http://codepen.io/davepvm/pen/eDFij

What worked well:
Getting the audio playing part was actually not much of a challenge. Getting the visuals to look reasonably close to the Flash version on Newgrounds took the longest, and it's still not quite the same, since I don't have the same fonts and icons, and I'm missing some glows and textures. Feature-wise, though, everything works in the newest versions of Chrome, Firefox, and IE.

What didn't:
Audio visualizations.

If you've done anything like this in Flash, you'll know that you can grab the current sound sample being played in an event and update the visuals accordingly. The API for the HTML5 <a udio> tag, on the other hand, is much (much much much) higher level than that. It lets you change the volume, pause and play, etc. That's pretty much it.

HOWEVER: there may be some solutions!

1. Using (currently) non-standard APIs
We've got the Web Audio API, which actually is supposed to be supported by a lot of browsers, but only recently (it apparently only works in the current nightly builds of Firefox, for example.) It doesn't work at all in IE. Basically, it only works reliably in new versions of Chrome. If the benefit of not using Flash is to get this thing working on things like mobile devices where Flash isn't an option, then using an API that is barely supported seems a little weird. That said, for the situations when a Flashless solution is best, a visualizer might not even be necessary. This looks like the way to go going forward, though, so possibly over the weekend I'll make a visualizer for the player and then only run it if the browser supports it.

UPDATE: I recently got a basic visualizer working, which you can see if you're running a new version of Chrome! Check out the source code and maybe try making a visualizer of your own! (instructions in a comment at the bottom of the code.)

2. Preprocessing the sound data into another format
This one seems pretty crazy, but in a cool way. Grant Skinner made an AIR app that takes the sound data from a file and puts it into an image, which can then be easily read by Javascript. This solution is great because once the preprocessing is done, Javascript compatibility is a lot less of an issue, since the image isn't a problem at all, and <canvas> support is pretty decent. The problem with this is that it means the sound files need to be preprocessed. There are lots of sound files on Newgrounds so it's definitely not a practical solution (and also I'm just doing this for fun with no affiliations, so that would be impossible for me to test with more than one or two songs anyway.)

Final Thoughts
This isn't very practical right now. It doesn't really do visualizations, so it wouldn't work that well for a desktop site, and this version of the player is pretty reliant on mouseovers, which doesn't apply to mobile. I hear audio embeds for external sites is going to become a thing, though, so possibly a visualizationless player in Javascript might work well for that, with a Flash fallback. Either way, it was a cool way to kill an afternoon.

UPDATE: Once again, there are now visualizations if you're on Chrome. Check those out, and leave a comment with a link if you fork the pen on CodePen and add your own visualizer!

UPDATE 2: Here's a version with much more modular code, without a visualizer, and where it stretches to fit the width of the container: http://codepen.io/davepvm/pen/DgwlJ

UPDATE 3: Here it is as a video player, currently still using the old (read: worse) code. http://codepen.io/davepvm/pen/luqFk


A version of the Newgrounds Audio Player, without Flash

Posted by Pahgawk - September 1st, 2013

I present to you: The Random Bad Joke Database! Basically, it's a website to get bad jokes from. If you guys want to help add your own bad jokes to the database, it's really simple, and would be greatly appreciated!

So, about this project.

Those who know me personally know that I love bad jokes to a fault.

As this was my last free weekend before school, I figured I should probably take the time to do some more programming. Logical, right? But anyway, the last thing I made, CoolStory, was made entirely in Javascript, so there was no backend at all, and it ended up being a lot less practically useful than I had hoped. I wanted to do make something with a database this time and with a simpler purpose, so a random bad joke site seemed like a good thing to make.

- Reloading the website takes you to a new bad joke randomly selected from the database. Pressing the “Random Joke” button does the same but uses AJAX to load in the next joke to minimize requests.
- Press the “Flag as Inappropriate” button to mark a joke as being spam, offensive, or not actually a joke. If a joke is flagged by enough people, it will be automatically deleted.
- Add your own bad jokes to the site without having to create an account. A maximum of ten jokes added per day is imposed per IP address to help prevent spam. If you really feel like adding more, though, just message me.
- There is a page showing every joke that has been submitted by your IP address. You are given the option to update your jokes.
- The site has been built responsively and should work fine on mobile devices and stuff.

So yep, that's what I've been up to recently. Go check it out.

Random Bad Jokes site

Posted by Pahgawk - August 7th, 2013

So NATA's pretty much done now. In case you missed it, here's my video and here's Sif's. Let's reflect on how NATA went this past year.

Visually, I like the style that I've adopted recently. It works better, I think, than the one I was using previously. I also got in that one 3D animation, which is something really hope to do more of in the coming months so I can get better at that.

Story. It hasn't gone anywhere. There are two problems here that I think need to be fixed:

1. Detail - The stories in these movies are never made detailed enough to get real empathy for the characters. People seem to still be able to get empathy out of them, but I think that is just because ambiguous characters let you project your own thoughts as a viewer onto them more, which only works if the viewer's mindset is in line with the video, which it isn't always. Part of the problem is that I can't make movies long enough to add that sort of detail in the one month that NATA gives, so maybe now that NATA's over I can spend more time on making something longer and with a better story. We'll see.

2. Purpose - I'm making some of these videos for the wrong reasons. The more depressing ones aren't really made for an audience; they're made as an outlet for me to get rid of some thoughts, sort of like how some people write angry letters and then rip them up immediately. Except then I get stuck with them for a month and then show them to the internet. So at first that means I feel strongly about what I'm making and it builds upon what I'm feeling, but then after a while that part fades away and I'm just working on something to which I no longer feel any connection and which I feel lacks substance. Basically, I need to find another outlet for that sort of cleansing so that I can have unclouded judgement when working on animations, or I have to snap out of this mood I'm in that's producing all of these dark and pretentious movies. Unfortunately, just snapping out of it is pretty much impossible to do, but that's my problem that I can try to deal with on my own, and I can always force myself to make other types of things in the mean time.

I've been making some little animation tutorials recently. They're not general character animation tutorials since there are plenty of those being made by better animators than me so I'm doing tutorials for specific things in my videos that you might want to try out yourself.

We've got one last NATA collab in the works for this year (here's our previous one, the Sarcastic Voice Collab) so you can look forward to that.

Then, there's school. School always means I'll be busy, but I'm going to try not to disappear again like I did last year.


Reflections on NATA, plus other stuff