Monday, May 21, 2018

Itsa Spearfish

(note, my sister did buy the above photo for me and i have it framed)


Well, as some of you may know, in late March, leading up to PAX, I took my dog to the vet to get a lump checked out. After two or three trips to the vet, and half a surgery, it was determined to be cancerous. She's ok now.

Now, I don't understand the role that social media ought to play in my life. To go the extra mile, I don't understand how offline social networks ought to figure into my life either. But so I didn't share updates on Facebook or Twitter, but anyway, I felt like sharing somewhere. There are a lot of people distributed about the USA that care about me and I care about them and it seems very inhuman how spread out we all are and how difficult it is to share our lives with the people we care about.

In some sense, all there is to say is that I love my dog and there were a few times when I thought her time was up and that was hard. We've pretty much all been there. I decided to pay a fair amount of money to give her a chance at a few more years and it seems to have worked out, but there were a few scary moments. Family and friends gave me money and I'm very grateful.

It's all so weird. A dog I adopted for $300 who's about 80% done with her life. I've had human friends and relatives with cancer. I have a cousin who had no insurance and a heart attack that owes hospitals about $1 million. Because of PAX and this, I've now been in Nashville an extra 3 months, and this nagging groin injury has had me sidelined from soccer the whole time. So no friends, no soccer, no girlfriend lol, and then my dog gets cancer. In some sense, this is the worst time in Max's life. And then I go to this engagement party for my mom's friend's daughter last Saturday where I don't know anybody and sit there and talk to a Vietnam war vet. He was drafted when he was 25 and stationed in South Korea. He said he got a good gig as the mailman. Nobody wanted to be the mailman, because you had to get up early 7 days a week and couldn't go whoring on the weekends. He said he said to himself, "I'm a quarter of a century old. What in the heck am I doing?"

I mean. I had a sick dog and I can't play soccer. But I wasn't drafted to go to war in Vietnam. I don't know man.

I felt like typing out a record of all our visits to the vets with some pictures, so I did that:

- sometime in Tennessee



- mid March, inconclusive testing of lump, scheduled surgery + dental cleaning



- April 11, during surgery, murphy rd vet noticed the lump was larger and attached to muscle below, decides to not remove lump, but takes some chunks out to get biopsied real good, proceeds with dental cleaning


- April 17, received phone call from murphy rd vet, the mass is cancerous, he recommends blue pearl vet for bigger surgery
- April 19, meet with blue pearl surgeon, she examines dog, schedules mass removal + half of 2 ribs


- April 23, surgery day

- April 23, surgery does not take place. itsa's blood platelets are low, probably because of tick borne illness she's had since being raised at the florida race tracks, so i pick her up and start her on two weeks of antibiotics
- May 8, check up to see if blood platelets are ok. blood platelets are ok, surgery is a go for tomorrow
- May 9, surgery day for real


- May 10, one day after surgery, blood in chest tube, internal bleeding, hopefully dog just having trouble clotting, vet is keeping dog extra night. if dog doesn't clot, more surgery may be needed
- May 10, I visited in am, hung out at starbucks nearby and worked on flock of dogs. got cold inside. went outside and talked to friend on phone for an hour. got sunburned. went to nearby park and did rehab for my groin. visited itsa a 2nd time and watched her eat, but couldn't take her home

- May 11, no more blood in chest tube, dog can be taken home that afternoon

- May 12, 7 pm, at home, notice a lot of redness and bruising emergency vet visit. i thought my dog was bleeding out on the inside.

- May 12turns out everything normal, lol, greyhounds just bruise a lot. all vital signs ok and red blood cell count good
- May 17, post op check up, dog is recovering normally, they "got it all", official recommendation for optimal care would be to do chemo or radiation, but monitoring seems very reasonable

Future:
- May 24, a second post op check up to just make sure everything still proceeding normally

And here's a few more photos from the last day or so:































Tuesday, April 24, 2018

Flock of Dogs at PAX East 2018

Ok, so the trick to blogging, for me, is to never talk to friends. Because now I feel like I'm repeating myself to my readership of approximately 4.5 people.

The night before PAX, Playcrafting held a free event called Pax Pre-Gamer.  I did this last year and it was well attended and a good time. It was a good event this year too. I was situated next to the games that would be sharing the Playcrafting booth with me at PAX and, based off the response to my game, I had never felt so good about my game. I met a few genuine fans who told me they had been following the development of my game. A guy with a steam library of 2000+ games liked my game and talked to me about it for several minutes and even messaged me on Twitter later. Another guy whispered to me that my game was the most interesting game at the event. I had a friend come by and say hello and then peace out because I was too busy to hang out with her. I felt like my game was one of the most popular games there (always tough to judge your relative performance). Near the end of the night, a woman pointed at my game and the flying whale from like 20 feet away and cried out, "What is that? I want to play that." And she and her friend played it until the lights at the venue came on and then asked if I'd be showing at PAX and said she'd come by. Am I just reciting all this anecdotal evidence to convince myself that my game is cool? I don't know. But I felt great that night and believed in the success of my game more than I ever had.

Ok. So cool. Even a cat peeing on my jacket in the middle of the night dampened only my jacket and not my spirits!

I arrived at PAX (prior to its opening to the public):



Then I made my way to our booth. I say "our booth", because I was part of the Playcrafting booth along with:

Feeble Force
Bunny Blocker
Hexile
Just One Boss and Juggle Panic
Return to the Stars
The Ultimate Clapback

And before I go further, I should also explain our booth layout. I was to share a 10x20 booth with 5 other games each day. Costing $500/day. Before I committed to paying for this partial booth space, I had expressed my concerns to Playcrafting that Flock of Dogs really only works if you can get 3+ people playing. He showed me this diagram of the PAX show floor and the Playcrafting booth setup:



Our booth was this:


The black bar is a curtain at the top. It's open on the left, right, and bottom. The pink lines are the monitors. The black rectangle would be Playcrafting's table to hand out their goods. We were at the end of an aisle, with the bottom some facing outward to one of the two main walkways of PAX. Then both aisles down the side should have fairly heavy traffic. Players can spill into the walkways as they gather around each game. Should be good? Alas, the booth was closed on 2 sides and this was our layout:




I was the top left table (I MARKE DIT WITH A RED X SO U COULD SEE MY TABLE), because I was the 5th of the 7 devs to show up. So...this was terrible for Flock of Dogs.

Booth photo:



Do you see my TV back there? Next to my banner? All lonely. There's also a table with a game directly in front of it, where the plaid red table cloth is hanging.

When I brought up to Playcrafting that they said it'd be open on three sides, Playcrafting told me that PAX had told them it was to be open on three sides. And that "griping goes up."
I said, "This is me 'griping up'."
He said, "If PAX gives us any money back back, I'll be sure to distribute among the devs fairly."

:(

I complained, but really, as I told myself, I wasn't there for the gaming peasanty!
Mua Hahaha!
I was there for the capital P Press!
I had chosen Thurs-Sat, because Thursday should be ideal for press!
In fact, Thurs had PRESS-ONLY from 9 am - 10 am!

But 0 press came to the Playcrafting booth in the PRESS-ONLY hour.

At 10 am, PAX did open up the grubby public. Here's a series of texts I sent my buddy, Dave, that morning.

(10:42 am) Max: 1 person has played flock of dogs. Other than yours truly.
(10:42 am) Max: So 24 hrs of booth time. for 1500
(10:43 am) Max: Means....I'm paying $62.50 an hour.
(10:43 am) Max: Been here 1.75 hours
(10:43 am) Max: $109.37
(10:44 am) Max: For that player
(11:03 am) Max: 2.5 people have played fod
(11:44 am) Max: 4.5
(11:45 am) Max: Plus two devs sharing playcraftings booth
(11:57 am) Max: Humble bundle game scout game by. Took some notes on my game. Gave me a card said feel free to reach out close to launch.
(11:57 am) Max: He wasn't a very enthusiastic fellow tho.

So the Humble Bundle thing was somwhat exciting. However, isn't that for after you've released your game and it's been out for a year and then to generate some buzz you give it away for free and hope people donate to you? I did notice he only briefly played one other game at our booth and then left. Which, is weird to feel good about, because I became friends with my  boothmates, but there was unspoken competition.

I had had some foreboding that press was going to ignore me. After committing to paying for a spot at the Playcrafting booth, I'd received a copy of the PAX press list. I was nervous and excited. I emailed like 80-100 slightly customized emails to the press. I only heard back from a few. This was when I began to think I'd made a mistake paying for PAX. However, I held onto to hope that my other boothmates would bring press by, that some press would naturally just make their rounds to random booths, and that the Playcrafting organization would have some real pull. But nope.

Aside from that Humble Bundle rep, one other press person came by on Thursday. A sophomore from BU that had responded to my emails. She works for BU's radio station. She took photos of me and interviewed me for a paper in her class. Maybe to mention me on the radio show, which is not a gaming show or anything, just a college radio station. As soon as she left the booth, my boothmates inquired about her status. I said she was with IGN. 

jklol.

Maybe Friday would be better? I showed up early. The Playcrafting rep and one other dev and I discussed the booth layout. There was no rectangle table this day, because the card game was showing at another booth. I proposed we line up our tables and game along the edge, all facing outward. I wanted to be on the bottom, facing out (down). Like so:





They thought this looked unprofessional. The Playcrafting rep thought his boss would not be pleased. The Playcrafting rep said he felt like we were sacrificing looking professional for the sake of one, 8-player game. The other dev and the Playcrafting rep voted me down. I made a small protest, but didn't really say everything I was thinking which was that (a) we're indies...real indies (whole blog post unto itself) (b) our booth, regardless of our layout, is the least professional looking booth at PAX that I'd seen and (c) I'd been screwed on Thursday and (d) this is approaching the optimal exposure to passerbys for all our displays...perhaps I could even prove it with maths.

Welp, we went with the professional looking "U" shape, as it was described, tho I believe it to be more of a crescent, you know? Here's my mock up. I was given the choice of being in either of the two middle tables.




Red arrow is me. The green bar is where I placed my banner, yellow is where Hexile's banner was, and orange was where Feeble Force's banner. Hexile told me that a number of people asked him about Flock of Dogs and he tried to direct them inwards, but they'd just get confused. Hahalol. The other issue with this layout is that the inner arc, where people would stand to play the games, is a much smaller arc length, and visibility of the monitors gets super reduced. This also completely under utilizes the bottom side of our booth, which was the side facing the major walkway.

Photo before PAX opened to public (these are the devs awaiting the floor opening up):




Friday was better in terms of popularity of my game. The convention had better attendance as well, but nothing as overwhelming as the stories I'd heard of. But other than the BU sophomore coming back by the booth, zero press folks.

On Saturday, the Feeble Force dev agreed to swap spots with me.




The Ultimate Clapback was back in our booth, at the rectangle table. The dev, bridgs, wasn't showing with us, so it was a little less crowded. The circular table without a monitor was used by the Playcrafting rep for handing out flyers, tho typically he just stood in the middle of the walkways and handed them out.



So Saturday was, by far, my most popular day. I had a woman, before the even begin, walk up and tell me the the flying narwhal and dogs was the most interesting thing she'd seen at PAX.
I said, "Wanna play?"
She said, "Oh no, I don't play video games."
I asked, "So...what are you here?"
She said, "Oh, I'm in the booth next to you [selling video game merchansdise]."

So she'd been my booth neighbor for the past two days and hadn't even seen the whale? Saturday restored my faith in my game as a game that some people do like. I had several repeat players and I had some people tell me it was their favorite game at PAX. So...that meant a lot to me. That anyone would say it's their favorite game of PAX seems like a big deal. I had a father and son say they searched all over PAX to play my game a second time. I had a man email after the show that he'd played my game on Thursday and tried to play on Saturday, but it was too busy, and then he looked for me Sunday and couldn't find my booth (I wasn't exhibting). And some more stuff like that. Oh yeah, the deveoper of Mama Hawk came by and chatted with me a while and was super encouraging. Some other devs played my game and were encouraging. I don't know. No press coverage. Who's going to tell the creator of a game, to their face, they don't find it interesting? Am I grasping at straws, here? Did press walk by my game and dismiss it out of hand? I don't know. I saw one girl with a press badge walk by, whisper something into the ear of a guy playing another game at the Playcrafting booth. I asked her if she wanted to play my game. She turned and just shook her head and walked away.

TL;DR SUMMARY:

Was it worth $1500 for 1/6th of a 10x20 booth for 3 days at PAX, that was only open on 2 sides instead of 3 as I was promised? Nope. Was it worth spending like $150 for banner, stand, buttons? Eh. Was the Pre-Gamer event really fun? Yep. Did I really connect with some people and did they have a good time playing my game? Yes. Did I make some fans I wouldn't have otherwise? Yes. Was it good, in terms of future development, to watch so many people play my game? Yeah. If press had played my game at all, whether or not they responded well, would it have been worth it? I DON'T KNOW. Am I embarrassed about spending that much money for what I got? Yeah.

Hard to believe I exhibited at PAX and got 0 articles or write ups or Twitter mentions at all. Is this a big warning sign that my game is going to fail? Maybe.

What I did get was nice, but I've had just as good experiences at events where I could show my game for free, such as Playcrafting's own Pre-Gamer event and Spring Expos. I wouldn't have gone if it weren't in Boston, which is where I lived for the past 7 years and had a free place to stay and tons of friends to visit. So it was really great to be back in Boston for a week.

Also, I just wanted to add that I did have a good time with my boothmates, just hanging out, joking around. I guess another reason people exhibit at conventions is for networking purposes. I mean, none of my boothmates were real industry veterans or anything, but I've got a few new Twitter friends and I've emailed them a bit.

EXTRA PHOTOS:

I assume you can post photos of people taken on the floor of PAX without their permission. If not, what kind of a world do we live in.









Wednesday, February 28, 2018

Deeply Rooted Tree

right now i'm working on:


because after playthrough gc in raleigh, the part of my game i felt worst about was the bland, rectangular cottage that is the first image you see in the game (after clicking New Game):




this tree is the most deeply nested and/or deeply rooted (ahahalol) game object i've ever created in unity. (i guess there's some holder objects used for the whole scene that have had more childed objects, but they don't count).

Sunday, February 25, 2018

shadows and shading, massachusetts and california

i wanted to replace my old tree:

so i drew a new tree (with mouse in GIMP):



then i had to decide how to color and shade it:


i was not crazy about any of these. i showed them to my mom. we discussed. this was important, because i'm trying to settle on a visual style for all the environment that should work with my already drawn whale, dogs, blue hobbit folk, and monsters. plus it was to work with my weird, top down, two-layer world, the floating island layer and the flying creatures layer. i explained my frustration with not being able to simply transfer pen and paper drawings into my video game easily and how much i liked just drawing with a pen, like i did during so many college classes lol. somehow i started asking if we still had The Eleventh Hour, a beautifully illustrated book my sister had a child. i was heavily influenced by my sister's aesthetic tastes that were too girly for me to have in my room. (i feel the temptation to get derailed by a discussion of child rearing, gender roles, aesthetics, and sexism!!!!).

this is what that book's cover looked like:



my mom said it was upstair in the bottom right of the bookcase. so i tried to find it. instead, i found this:



which is funny. because i think of dr seuss and pd eastmann (Go, Dog. Go!) as my strongest influences for the look of flock of dogs and the general look anything i draw with a pen, in general. and so i was like, how does dr seuss do his trees!? and, well, The Lorax isn't very helpful either; my trees are not shaped like the truffula trees:




but then

i started reading about dr seuss on the internet, how he's from massachusetts, how he got banned from extra curricular activities during college for being caught drinking with friends in his room during prohibition. then in oxford getting his english phd he meets a new york gal who tells him to quit trying to be en english teach, be an arist, because the drawings he does in his notepad during class are absolutely delightful. so he does that and moves to new york, and marries her. his wife can't have kids, so they don't have kids. he writes books. gets popular. moves to california. then his wife gets pretty sick, and dr seuss then cheats on her with a married neighbor. so then mrs seuss writes this note:

"Dear Ted, What has happened to us? I don't know. I feel myself in a spiral, going down down down, into a black hole from which there is no escape, no brightness. And loud in my ears from every side I hear, 'failure, failure, failure...' I love you so much ... I am too old and enmeshed in everything you do and are, that I cannot conceive of life without you ... My going will leave quite a rumor but you can say I was overworked and overwrought. Your reputation with your friends and fans will not be harmed ... Sometimes think of the fun we had all thru the years ..."

she takes her own life. dr seuss said later, "I didn't know whether to kill myself, burn the house down, or just go away and get lost." he soon married the other woman and went back to work writing childrens book.

now, i guess, back to drawing trees for my video game. i shaded this one in the style of seuss:


and here it with leaves, fruit, and placed on a sky island:




rest in peace, ted and helen.

Tuesday, February 20, 2018

Sky Islands For Flying Dogs And Whales

Here's some screenshots from when I was debugging my new island/building placement system. I have created about 20 islands that can then be flipped across the x or y axis, providing me with many extra island permutations. Then when I'm procedurally generating a level, it can attempt to place any of these islands underneath a building. It has to make sure it doesn't hit another island, and then if the island is placed, it then checks if there's other space left on it for the next buildings to be placed on it. It's all kind of a headache. What this doesn't show is how I carve the river out of the cavern in the first place. That was a great struggle solved long ago!
  • Red squares: failed island spawn attempts
  • Magenta squares: possible building spawns
  • Tiny green squaress: the corners of a building's 'placement collider' or area that needs to be accessible
  • Tiny teal/tiny black squares: the nearest map coordinates to the green points, going around perimeter, checking if inside cavern wall (teal) or not inside cavern wall (black)
  • Tiny yellow squares: points along building's placement collider's perimeter that are outside of map coordinates




This image has a lot of the debug stuff turned off, so you can see what's underneath.


Sunday, January 7, 2018

Mr Pink Just Won't Quit

Alright well. I'm done with my vacationing. I'm back in Nashville. Work work work until the Playthrough Gaming Convention on Feb 18-19.

I got a bit done in California. I got the torches working (see blog post below) and now players can quit the game (see gif below).


Wasn't too tricky and you can immediately rejoin. I don't allow players holding items or players encased in a crysal to quit, but you can be on dogback and quit. And it saves your dog (instantly docks the dog on the whale). So that's pretty gameable. Anyway.

Thinking more about how I want to do the overworld map. I lean towards an inverted ski trail map, also similar to like Star Fox 64. Green, blue, blacks, double blacks, some secret paths, some mid-mountain 'lifts', and some mid-mountain resting places. Maybe a ski patrol. Maybe a trick park. Maybe some out of bounds areas. Maybe some helicopter access only areas. Maybe some hike ups. Maybe some cross country routes. Maybe maybe maybe. So many ideas. Such self doubt.

Especially unsure about the ending of the map. Do the route options keep diverging, like a river delta?  So many possible exits or finishes, instead of one final position...seems unwieldy to me. So Star Fox 64 blooms out and then contracts back in, so you always end up at the same final destination. A real river that ends in a delta still typically all ends in the same body of water, but it's not like it's all at the same 'enemy base' or something.

Tuesday, January 2, 2018

Gamasutra Blog

Note: This is the post I've submitted to Gamasutra, reposted here.

********************************************************
********************************************************
********************************************************
********************************************************
********************************************************

Hello, my name is Max and I am afraid of shaders.

(Spoiler alert, this is not a tutorial on writing shaders.)

For many months, I've yearned to add torches to my sprite based 2D game. There's a bunch of solutions on the internet for writing shaders for this kind of thing, but I didn't see the exact solution I needed. And I'm a first time, solo dev without a programming background and my schedule has been pleasantly full with just learning C# and Unity and GIMP and Lightworks and making a website and blogging and doing #screenshotsaturday and pestering friends for music...all this without having to write nasty shaders. But! Now that Unity created the Sprite Mask component, I have got my brief candles working. Here's a photo from the final product or check out these gifs.



Once I figured out how to do this, it's almost trivial. However, since of course it took me a full day to figure out that trivial solution, and since Visual Studio is updating, I thought I'd write this blog.

MY PROBLEM:

Flock of Dogs is a top down, 2D, co-op game for up to 8 players locally. I wanted multiple, dynamic, light sources. To be specific, I wanted circles of light to emanate from the torch item when a player carried it. Moreover, I wanted multiple players to be able to carry torches and their light circles to play nicely when players moved and the circles overlapped. And maybe in the future, more things will be on fire and will move too. To be determined. This rules out the approach of a sprite overlay with a hole cut out, because as soon as you try to do two overlays, they each cover the hole of the other.

MY SOLUTION:

(1) I created Darkness! A screen-sized rectangle attached to my camera, a very deep purple/blue, with a bit of transparency.



(2) I put it on its own sorting layer, which I named Light, because darkness creates light. Right?

(3) Took my torch prefab and created a child on it with a sprite mask. Chose a circle sprite for its sprite. Scaled it up to a 20 radius. This didn't do anything except make a nice orange circle though!



(4) Went back to my darkness sprite, selected "Mask Interaction" dropdown, chose "Visible Outside Mask."



Ta-da.

(5) Now, it looked weird to me that the area that had been cut out from the darkness was perfectly clear and there was such an abrupt transition into the dark. So I duplicated the Darkness and changed its color to a mostly transparent dark yellow. I called it Haze! I set its Mask Interaction to none.



(6) For the fading, I duplicated the Darkness twice. I renamed the objects to DarkShadow and LightShadow and set their transparencies to like 40/255 (still on the Light sorting layer, sill with "Visible Outside Mask" turned on). This served to only darken the the Darkness, since the mask was still cutting through all them.

(7) Back on the torch, I duplicated the sprite mask child twice as well. Renamed them to DarkShadowMask and LightShadowMask. Scaled DarkShadowMask to a 24 radius and LightShadow to a 20 radius.

(7b) I created a child object for my torch to hold the masks, Light.



(8) On the three masks on the torch, I checked "Custom Range" and chose these settings:

For the DarknessMask,
Front Sorting Layer: Light; Order in Layer: 0.
Back Sorting Layer: Light -1, Order in Layer: -1.

For the DarkShadowMask,
Front Sorting Layer: Light; Order in Layer: 1.
Back Sorting Layer: Light -1, Order in Layer: 0.

For the LightShadowMask,
Front Sorting Layer: Light; Order in Layer: 2.
Back Sorting Layer: Light -1, Order in Layer: 1.

This image is of setting the DarknessMask's Sprite Mask custom range.



(9) On the overlays, I set their sprite renderer's sorting orders to the following:

Haze: -1
Darkness: 0
DarkShadow: 1
Light Shadow: 2



Boom shakalaka.

(I also added a script on the torch to make the light flicker, but you can only notice that if you look at the gifs. If you wnat the script, message me.)