00:00
00:00
ninjamuffin99
I like Newgrounds stuufff

Cameron muffin99 @ninjamuffin99

Age 24

Money

Middle School Dropout

Toronto, Canada

Joined on 10/2/15

Level:
47
Exp Points:
23,971 / 24,520
Exp Rank:
593
Vote Power:
8.79 votes
Audio Scouts
10+
Art Scouts
10+
Rank:
Pvt. First Class
Global Rank:
2,905
Blams:
586
Saves:
2,468
B/P Bonus:
20%
Whistle:
Silver
Trophies:
85
Medals:
514
Supporter:
8y 7m 24d

ninjamuffin99's News

Posted by ninjamuffin99 - August 29th, 2018


I really like this music video and everyone should watch it https://youtu.be/pPZDBF0kei0


Posted by ninjamuffin99 - August 27th, 2018


So Castle Crashers supposedly released 10 years ago

5520715_153540630242_DlobytbU8AAGcUl.jpg

 

To honor the occasion I'll share my story of how I found about Castle Crashers and my experience.

 

I think I've heard the name tossed around various places online way back when I was 10 (2010) didn't know anything about the game, just heard it around. A few years later I merely heard it being mentioned in an Official Xbox Magazine when I was 14 (the issue was from 2010 or 2011 or so, they mentioned how it was a multiplayer game to play with your friends and shit).

Fast forward a few years, I got a Steam account in 2014 and I shared it with my brother and sister. My sister (10 years old at the time) made a friend online through Gmod, and coming during Christmas, we got a Steam card for 50$ to spend (we didnt have too many games on Steam yet). My sister's pal talked to her about Battleblock Theater, since that was somewhat new at the time, and then we ended up buying a copy for my account, and his. Steam had ridiculously good deals at the time, BBT was 90% off for 1.68$ CAD. Looking back it's pretty wild to see that. Anyways, I think he also mentioned Castle Crashers, so we bought that too, only for ourselves though, I think he already had it, and it was about $4.24 CAD at 75% off lol. 

My sister played Battleblock Theater with her buddy a lot, and I actually played Castle Crashers with my sister a lot! We played on our shitty ass laptop, but Castle Crashers still ran like a dream. The laptop screen was actually broken, so we had to set it up at the desk, and connect it to the shitty 4:3 monitor we still had from 2005 (I still use that monitor to this day lol). It was one of the games we had that had local co-op, but I had to connect my broken PS3 controller via some hacky bullshit lol. I remember when we played Castle Crashers, the controller would always be moving the character slightly to the left at all times, so you had to hold right a little bit if you wanted to stay still.

My sister would play as Hatty, since she really liked BBT, and I picked orange knight, for pretty much no reason lol. It was a great time playing through the game with her, probably my favorite memories of playing games with my sister. Althroughout childhood I'd mostly play games with my brother, since he was closer to my age so he had some SKILL. Me and her actually didn't beat the game by ourselves lol. We did get really far by ourselves throughout the year, I think we were a few stages away from beating the game, but then we played online with some rando's and they carried us to the end of the game lol.

A few years later in early 2016 I got into Newgrounds, and it wasn't until then when I realized that Tom Fulp made Castle Crashers AND Newgrounds, so it was like all the pieces in my life were connecting and at that time that was so wild. I didn't pay attention to the opening credits in CC or BBT lolol.

A few more years later (late 2017) I start playing it with my little brothers (twins, 5 years old) and they love it! My controllers broke though so I haven't played that game with them for a while, but everytime I see them they ask to play it

So overall Castle Crashers is pretty sweet, and my fondest memories of playing games with my sister come from that game so god bless it. Hopefully I can get some new controllers and play the game again with my little brothers


4

Posted by ninjamuffin99 - August 18th, 2018


some god damn bullshit happened like 10 minutes ago lol and its gonna ruin this week for me lmao, im still emotional while im writing this. It's nothing too serious but god dammit its awful lmao.

sad and/or crying reacts only pls

So the story starts a few months ago. I won Pico Day 1st place for my stinky game Pico Rising. I got 200$ (about 260$ CAD for me) and I decide to buy some nice things for myself. The main thing I buy is new computer parts, since my mobo, CPU and RAM are straight outta the mid-2000s. So I buy some used, older i7 along with a few gigs of ram and a mobo to support it. I had some cash left, so I decided to buy my friends headset. An upgrade from the shitty headphones that came with my moms phone I've been using for almost a year up to that point. I got a good deal on them (I paid around 50$ CAD I think) since the included extension cord that plugs in via USB didnt work anymore. Remember this bit.

 

Fast forward to today. My brother had borrowed his friend's laptop, so we didn't have to share and take turns on our computer. He's into CSGO and watches a bunch of streams and such for it. One streamer was hosting a giveaway today, for HyperX headphones. From what my friend told me, they were 200$ or so. My brother ends up entering the giveaway, but probably doesn't expect to win, since he's been around the block before in terms of giveaways. He was waiting on our mom to give him a ride into town to his friends house. He told me about the giveaway he entered, which reminded me that I should try getting that broken USB headphone extension cord working, since I didn't try too much before. So I plug the cord in, and surprisingly, the light on it lit up! But there was no sound coming out. My brother went into town with my mom, so I was still trying to fix the headphone stuff, trying to figure out drivers and shit.

I thought the giveaway was something like they'd email you, but it was one that was being hosted live on Twitch. My friend was watching, and he was DMing me a bunch. I didn't read those messages immediately, because my headphone sound wasn't working, because I was trying to fix them because I was getting sick of having a tiny ass headphone cord. Turns out he was messaging me because I won the giveaway, but since I didn't claim the prize within a minute, I was disqualified: https://clips.twitch.tv/FineBrainyMosquitoAMPEnergyCherry

Here's the Twitch clip. I think I saw the messages on Discord exactly when it ended, or very close. I should mention that it's nothing personal against this guy, he did nothing wrong lol. But god damn, it might sound stupid and immature or whatever, but I had a little breakdown after this happened, because it just felt like I'm just doomed to having nothing nice for myself ever in my life (I still haven't been able to use my new PC parts, because the thermal paste is still in the mailbox, and the mail key is in my moms car, which was stolen by her ex-boyfriend, and now it's broken down in the next city over and she hasn't bothered looking for it or getting a new mail key). I was ridiculously mad, and dissapointed, and sad all at the same time it was so stressful.

 

 

In the end, I know this is a bad state of mind to be in. So I know I still gotta appreciate things in my life currently. Years ago, I only had a shitty laptop to play games and do shit, then I worked and saved up some money to buy and build my current PC. I have more instances similar to this, but I don't wanna write shit out right now lol. But most importantly, I gotta appreciate that I have Newgrounds, or else I'd be shouting this into the void of Twitter or some other garbage site, where no one woulda listened lolol.

But those new headphones still woulda been nice lol


10

Posted by ninjamuffin99 - August 4th, 2018


What's up yall, today I finally just done did it and released a small EP on BANDCAMP.COM: https://ninjamuffin99.bandcamp.com/album/a-good-dang-ep

 

5520715_153343814642_albumcover.png

I even made a fancy album cover myself.

It's basically a small chunk of my past few songs that I've also posted here, except you can pay for them and give me money, which you should definitely do since I am very cool and attractive.

They're also in lossless quality if you're a fucken goober like that lolol.

(also next newspost will be a breakdown of my 3AM animation I swear)

Anyways give me money and buy my EP here: https://ninjamuffin99.bandcamp.com/album/a-good-dang-ep


5

Posted by ninjamuffin99 - July 18th, 2018


So @Realfaction announced the AIM 2018 winners! So me and @I0TA donated games, but Realfaction didn't have a list of who has what, so I'll make a little list of all the games I had!

If you're a winner and would like one of these games, PM me with your top 3 picks! If there was a game that was on the OG thread that isn't here, it's probably because I0TA donated them! You'll have to PM them!

All of these are Steam Keys BTW

  • Payday 2 (Claimed by MintyFreshThoughts)
  • Jydge
  • Rakuen (Claimed by BlueOcean, 2nd place winner)
  • SOMA (Claimed by BeauXuan)
  • Skullgirls
  • Punch Club Deluze (Claimed by 8-bitheroes)
  • Invisible Inc. (Claimed by DoctaBGL)
  • Robot Roller-Derby Disco Dodgeball
  • The Stanley Parable (Claimed by Miyolophone, 1st place winner)
  • Rust (claimed by DarkHorseOrchestra)
  • Epic Battle Fantasy 4
  • Shelter 2 (Claimed by FateModified)

If you're a winner, also be sure to keep an eye on I0TA's list, where he has a full list with me and his games.


6

Posted by ninjamuffin99 - July 1st, 2018


Yall know we out here reppin CANADA DAY. Also it's my brother's birthday but that guy sucks Canada is better.

Yall better be eating poutine and/or grilled cheese with ketchup to respect my country. Feed your house hippos.

And I'll leave you all with a classic piece of Canadian media, "What's Your Thing?" https://www.youtube.com/watch?v=OX6qUFm1HsI


3

Posted by ninjamuffin99 - June 26th, 2018


just kidding it's lame stuff. Here's some test renders from my upcoming Bad Dream animation.

https://twitter.com/ninja_muffin99/status/1011109890712952832

https://twitter.com/ninja_muffin99/status/1011110529094463488

As you can see, it's gon be a neato 3D animation since I can't find my Wacom cord lol. But I also wanted to do something new, so I tried out a mixed media sorta thing, similar to something like a Gorillaz music vid, or The Amaxing World of Gumball. The 2D pixel art is made using Aseprite, and then added into Blender and rigged up and shit so I can control the animation in Blender. Here's the nodes for that shit btw (full res: https://i.imgur.com/qN2mCs8.png )

5520715_152999478491_qN2mCs8.pngYou can prob replace the Toon shader with the principled shader. And the end result looks like this(full res: https://i.imgur.com/RZmXOdZ.png ) : 

5520715_152999478381_RZmXOdZ.png

The final result probably will look much less grainy. I'll do a more elaborate writeup on the animation process in a week


2

Posted by ninjamuffin99 - June 23rd, 2018


5520715_152979423672_DgaDR4wUYAAWv_u.jpg

 

ayyyyy first award I got on one of my games DREAMS DO COME TRUE.

(i still dont have the ability to post newsposts to the frontpage hey @TomFulp a boy just wanna shitpost baby) Underdog of the Week is way cooler than daily awards anyways!

 

also go play the game: https://www.newgrounds.com/portal/view/712672


1

Posted by ninjamuffin99 - June 13th, 2018


Yo what's up Newgrounds. I thought I'd share some cool news that got announced today. It's now possible to use the Nintendo Switch as a backend for OpenFL/Lime. This means ANY framework based off of OpenFL (HaxeFlixel, @terrycavanagh's Haxegon framework, Starling) is supposedly able to target the Switch, no different than any other target.

5520715_152893284732_haxeFlixelDropdown.gif

This is the different targets for HaxeFlixel, it's literally just a dropdown menu. Now imagine the Switch being there!

Previously you'd either have to roll out your own solution and you had to figure out the Switch SDK stuff all on your own, or go through a publisher that would port your game and take royalties. Now the only step for you is you'd need Nintendo's approval, and all you'd have  to worry about is making your game. No publisher bs, and no hassle. Also I'm just parroting what others had said, but supposedly once you're approved, the middleware process for this is much nicer than stuff like Unity, where you'd need to fill forms and shit, where in this case you just plop your email into their system and the OpenFL guys will hook you up with the backend FOR FREE. 

This was all announced by Lars Doucet on Twitter earlier today. He's gathering a list of devs interested in getting their OpenFL games onto the system and sending the list to Nintendo after E3. You can check his twitter for more info: https://twitter.com/larsiusprime

 

I think this is great news because most if not all of this stuff is OPEN SOURCE and FREE. Well due to the NDA's you can't look at or contribute to the Switch backend stuff until you get accepted by Nintendo, but it's nice to see that walled off, closed source soltuions like Unity aren't becoming the only options for indies. 


3

Posted by ninjamuffin99 - June 9th, 2018


(This was originally posted to my Tumblr, yall should check that out I'll prob be writing some more technical posts there)

 

What’s up yall. Since November, I’ve been making “Must Murder Mommy” with PhantomArcade. It’s the greatest game about killing your hot mom, which will be releasing for free on mobile and on the web (here on Newgrounds to be specific).

Phantom is a ballin’ animator, so the game is going to have a good amount of animation frames. However very few people actually discuss what goes into loading and handling all these animation frames. So I thought I’d share my experiences in trying to load a bunch of high quality animation to be used in the context of a video game.

5520715_152858564841_tumblr_inline_p9xsxyguhP1ujktb4_540.png

5520715_152858564721_tumblr_inline_p9xsyhCT9L1ujktb4_540.png

(The current spritesheets/texture atlas for our main characters, an explanation on why I use spritesheets will be below)

Backstory

I think I’ll start with the “backstory” of the many different techniques and workflows to me trying to load a lot of frames into the game.

I’m using HaxeFlixel to make this game with my guy Phantom. It’s an open source cross-platform 2D game engine powered by Haxe and OpenFL. None of that nerd shit matters too much other than to give you the info that I ain’t using some hotshot mainstream game engine, such as Unity or Gamemaker. While HaxeFlixel is VERY robust and super great, it’s a bit harder to Google something and find some easy answer, or some plugin that’ll solve all my problems. A lot of the tech I have to figure out on my own, and that includes efficient animation loading and shit.

So onto the game stuff. In the very first week of development, the first issue for me was getting the animation to load in-game. Phantom uses Flash CS4 to animate, so initially I thought that I could use a SWF(what Flash exports files as) to load the animation (in high ass quality too, since it’d be vector!) However this didn’t work out as planned. While OpenFL does have some kind of support for loading SWF’s for animation: 1. I did not actually figure it out lol. and 2. I couldn’t get it interacting with the HaxeFlixel game engine shit. Meaning that the Flixel logic operates completely separate from what would be the animations that play. So I wouldn’t be able to set interactions between game objects, and the mom/kid without reworking A LOT of logic (or maybe I’m just a dumbass IDK lol).

So loading SWFs didn’t work. I then thought of using Adobe Animate’s built in spritesheet exporter. If I couldn’t get SWFs going, spritesheets are the next best thing. However things aren’t exactly all fine and dandy. The way that Animate exports spritesheets are less than ideal. I think when I tried, the spritesheets were off grid (which the way I was trying to load them at the time, I needed them to be on a grid basically). So that was out of the question too (for now….).

After pulling my hair out until about 3AM in the morning, I finally somewhat found a solution, albeit a bit garbage and shitty. What I went with back then, was to export the animations as PNG sequences, so a PNG for every frame of animation. And then I’d stitch them together into a sequence in Aseprite (pixel art tool lol) so I could then export them into a USABLE spritesheet. Why this was garbage and shitty was for a few reasons. First of all I had to basically sort through ALL of the PNGs and manually input them into Aseprite, which was very hard and time consuming because it was repetitive, Aseprite doesn’t handle big images too well, and my PC is shit too lol that prob didnt help Aseprite. It was also hard to manage the files and edit them for the future, thus slowed down seeing and prototyping new animations in-game.

5520715_152858564661_tumblr_inline_pa2um2JyEn1ujktb4_540.png

The Github commits/updates (read bottom to top) of the game for that first night of trying to get animations loaded efficiently

The Aseprite/PNG sequence stuff was alright for a while. Mostly because I did it all in one session essentially so I didn’t deal with it too much. But when I did have to get new frames of animation in, I dreaded doing so. I knew I had to find another way. It was then when I remembered the tool Zoë, which is a tool to convert SWFs to spritesheets. This was SUPER helpful…. But only for so long.

Somewhat recent stuff I’ve tried

5520715_152858564423_X2TRj7X.png

The Zoe website

The way that Zoe works, is that you input a SWF, and you get a spritesheet and/or PNG sequence of the animation. However there were a few catches. I had to export them all as one SWF, through movieclips. So in the .fla Flash file me or Phantom would have to organize all the animations into a single movie clip. Otherwise it would export them all as separate spritesheet files (which I’ll need only 1). But I went along and did that for a while anyways. Until I found out about Spritesheet packer.

5520715_152858564322_tumblr_inline_pa2usoHh3M1ujktb4_540.png

Spritesheet packer is a ridiculously easy, lightweight, and free tool to convert a bunch of PNGs into a usable spritesheet. Actually I think the correct term is texture atlas? You may have noticed, but the images in the spritesheets at the top of this post aren’t aligned to some sort of grid, which I mentioned earlier that I needed them to be in. That’s because spritesheet packer also exports you a simple txt file, that would basically tell a parser where in the image file a certain frame is. So you don’t need the sprite sheet to be ordered chronologically, or in a grid, thus reducing the file size, and simplifying things in a few ways. And it turns out that good ol’ HaxeFlixel has a built in function for reading these Spritesheet packer txt files (called image maps btw). So my life got a lot easier from then on out. However I still had a few problems.

5520715_152858564213_tumblr_inline_pa2ux3ttik1ujktb4_540.png

The imagemap file for the kid, the corresponding spritesheet is the one from the top of the post

I got animation loading almost all sorted out, and the workflow was pretty great too. I would export the frames from Adobe Animate into PNG sequences ( I ditched Zoe because it would require more file prepwork, like making sure it’s all top left aligned or something) and then I literally just drag and drop them into spritesheet packer then it spits out a nifty little texture atlas, and I could get it all loaded into the game. Should be fine right? Well that part was just about perfect (for now), however then there’s the way the coding handles and loads animations. For simple animations, HaxeFlixel had a nice and easy way to load animations which basically looked like this: 

animation.add(”run”, [7, 8, 10, 11, 12], 12);

the first parameter (”run”) is the name of the animation that would be referenced in game. The second is an array of numbers (indicated by the square brackets) which is basically a list of where in the image map it will look for the frame of animation. The third parameter is simple the frames per second (12FPS because it’s essentially 24FPS on two’s, doesn’t work in all cases though). Now this works well in many many cases, but I think the single problem I had was that when I added new images to the spritesheet, it would offset the numbers in the imagemap, thus messing up which animations are which.

Current Workflow

This is where I use my final solution, which is referencing the imagemap files to get the correct frames, no matter what. So instead of referencing frames in a huge list that can change often:

animation.add(”run”, [7, 8, 10, 11, 12], 12);

animation.add(”poke”, [33, 35, 33, 34], 12);

Instead you break it down into smaller, sublists kinda:

animation.addByName(”run”, “kidRun_”, [0, 1, 2, 3, 4], “”, 12);

animation.addByName(”poke”, “kidPoke_”, [0, 2, 0, 1], “”, 12);

This function works very similar to the first one, except it has another parameter, which is the prefix (kidPoke_/kidRun_). So the game uses file names so that list position in the imagemap don’t affect the animations that are already implemented.

Things I may try in the future

This stuff is working all fine and dandy currently, but the workflow could be optimized. The dream would be to easily just work with SWF files, but like I mentioned earlier this would require a bit of heavy lifting on some of the backend tech. So the more realistic option is for me is to figure out how to parse Adobe Animate’s spritesheets and files properly. This would cut out the spritesheetpacker step, as well as cleanup the files more, since I would have no more use for PNG sequences. There’s probably gonna be some quirks and shit, but for now this seems like the next step if my current workflow is really bugging me.

So I think that’s it, hope all you goons may have learned something, and if you didn’t ah dangit OH WELL

(if there are things I could be more clear on please let me know and I’ll probably update this or something)


6