Thursday, May 15, 2014

Legacy is Moving

Nick has decided to move on to other projects, so I'm pulling the Legacy development back over to the Yondering Lands blog.

Saturday, April 26, 2014

Concept Music #1



I wanted to wait to share this until I could make a real recording of it, playing, you know, real instruments, but it turns out that two weeks of practicing cello doesn't make up for two years of not playing it, ha. It'll probably take me a few months before I'm up to snuff for this, and there's no sense in waiting that long to share it.

I sat down a few weeks ago and started writing out all the intellectual ideas I had about the music. What kind of instruments it uses, what kind of meters I wanted to use, the philosophy behind it, etc. I could have written a concept piece following those ideas first, but I decided to get out of my head a bit and poke through some of the art that Annie's done until I found a piece that grabbed me with an idea, and then just see where that went. A counterpoint of sorts.

I imagine our band of heroes seeing this castle from afar, a relic of an older civilization perhaps, a place with mystery and old tales about it. It's early to mid-morning, and the mist around the castle is thick but still in the distance. Just the top of the ruins is visible, and a stray beam of sunshine pierces through. As they move into the mist, they wonder how much further they have to go. The day waxes on, the mist begins to clear, and suddenly the castle is visible again, towering above them with might. It's a lonely place, filled with echos.

Friday, April 18, 2014

Play time

This post is late as things go, but it's something I wanted very much to remember.

Up until recently, we had a lot of discussions about what the world of our game is like and how the game progresses in a general sense, but not many about the particulars. We knew we had battles and what they were about, but we didn't know what they were like or how they worked. Nate had the idea to get together for some play time so we could start sussing these things out.

the early battlefield

Nate and Annie just so happen to own a copy of Descent, which just so happens to be an amazing set of toys for mocking up dungeon scenes. We gathered characters and monsters from our game with random stats, matched those characters with vaguely representative Descent pieces, put together a map we liked, and slowly started going through the motions of a battle, without much of any idea what we were doing except that heroes and monsters took turns.

Surprisingly, it wasn't very fun. I'm not saying I didn't enjoy myself, but playing a game is very, very different from making up rules for a game and trying to balance them as you go along. I don't think any of us quite expected how much it would feel like hard work. We beat two, maybe three enemies over the course of the exercise and didn't make it past the second chamber in our map. It was a grueling, unsatisfying pace of play.

the last stand

When we finally called it quits, though, we had a large number of resolutions and ideas about how battles progressed, how the content of a single turn should be balanced, what kind of chances different things should have at success, and a basis of how magic and teamwork work in our universe. Annie put together probably two full pages of detailed notes from the things we jotted down along the way. It was, in my opinion, a huge success.

Another success was getting all four of us together to talk and brainstorm for a long period at once. Usually it's a smaller set of us at a time, and due to other commitments I hadn't been able to get in the trenches much yet at all. It also reminded me of how important it is to a collaboration to have shared space and experiences beyond just discussion and access to information. 


even monsters need hugs

Creating something together that's metaphorically related to your project is one of the best things you can do to get people on the same page and invested in what they're doing in the early stages of development. Also, it helps make it an actual collaboration, instead of just a collective effort. After that day I certainly felt a lot more like I was helping to make and guide the game instead of just contributing to it.

Tuesday, April 1, 2014

Emotional debates

"I want everybody to have watermelon heads"
"I'm not so sure that fits into our game, for everybody to have watermelon heads"
"Too bad. I want everybody to have watermelon heads"
"Watermelon heads are derpy, and nobody will want to play our game if we have watermelon for heads."
"I don't care if people hate our watermelon heads, they can have two watermelon heads then."

adding edges

I've had this shader in my head for either days or weeks, depending on how you count. Last month when I was showing the prototype to my friends, Seth asked if I could add thickness to the figures. I said "maybe." Just recently Annie put up a comp that showed walls and set pieces with thickness, giving them a kind of cardboard feel that really sold their physicality.

So here's the card shader I made today:



I think it actually works pretty well. You can tweak the edge thickness and color per item.

It does funny thing if you go all the way edge-on, but I think we can smooth that out. Also need to see how it looks when lit. I probably don't have a good way to calculate the normal, for example. Though I suppose I could pre-process the images or some nonsense... :-s

I'm actually supposed to be working on Actions, so I'll leave this here for now. But when I get back to environments, I want to try to make the interior dungeon scenes work with the walls and underwalls. :-D

Monday, March 31, 2014

Oh also picture.


Everything's Heavy Underground: Part 2

I can't figure out how to add images into a reply, so I'll be making a new entry anytime I have a picture.

Playing with a few different ways to show what's underneath the floor, using "walls" that would just extend below the floor instead of above it. I'm calling them underwalls here.

1. Underwall has same setup as walls: solid piece with jagged/shaped edge to suggest material.

2. Underwall fades to transparent, same as those front walls right above them.

3. Underwall doesn't "fade" per se, but is illustrated to show it breaking away/disintegrating in whatever way makes sense for a particular environment.

We could always have some combination of the above as well. And employ or not employ swirly fogs and whatnot.

Sunday, March 30, 2014

Everything's Heavy Underground

Nate and I were doing some talking today about the visual elephant in the room- "So uh, what exactly does an underground, roomed, third-person map look like?"

We got some negative feedback from friends in Hawaii about the game board "always looking like you're fighting on top of a mountain," so we were talking about ways to either break up or obscure those big vertical lines that drop off the edge of the board.

One idea was to have a mist that rolled up to the edge of the viewable board and obscured the drop-off. The tricky part about that though, is what to show for areas you haven't explored yet. I started trying to mock up an underground tomb/cellar/dungeon/whatever, just to get an idea of this.



-You've got a hero, a few monsters he can see, some solid walls* behind him, transparent walls in front** of him, and the map totally disappearing where he can't see yet.
-Also a random archy set piece.
-Set pieces populate the non-board area & extend down into fog/darkness.
-I'm trying nixing the vertical drop-off of the board altogether, to see how that works (if it helps or hurts more).

I'm going to throw down a few other thoughts, and this is all going to be very scattered:

1.) Does having the map disappear completely for unexplored areas looks confusing? As in, would you have trouble figuring out where you could and couldn't explore next?

  • Also, what do you get when you move your cursor to an unexplored tile? Nothing's "there," but it may be a valid place for your hero to run.
  • Another way to keep the player from seeing the shape of the explored board is put a fog over the whole thing, Civ 5 style. In that case though, assuming the fog extends out beyond the board itself, where does it end? Will our whole lovely environment just be covered by fog most of the time? :(

2.) Fog swirlies around the known board edges: could help add a sense or border, could just make things too busy or get in the way. Not sure, but I like having them there more than not having them

3.) I'm getting a little bit of an OMG-busy vibe, but that's probably due to the fact that this was pretty quick and sketchy. we can also use things like saturation/color/lightness tweaking for things that are closer or further away.

This seems to bring up more questions than it answers, but things may just be that way for a while. We may be better off letting the whole thing take a more stylized/symbolic approach than an at-all-realistic one, if that makes sense.

"Yes, an underground chamber wouldn't really be floating amongst set pieces in a void that suggested the spirit of undergroundyness... but the point is exploration of the board and facing your foes. In your heart."


*- This time I'm trying "solid ceiling-high wall with jaggedy top edge." one could also do things like "chest high walls," "solid walls that fade to transparent on their top edge," or any number of things. I'm fond of the extra texture that the jaggedy top edge adds.

**- I'm assuming we'll do the "walls & set pieces go transparent when your cursor goes to a tile behind them or there's a figure behind them that your heroes can see" thing.

Saturday, March 29, 2014

This.

This is what I want Legacy to look like.

Kells.

Kelllllllllssss.

I'll be over here drooling and weeping quietly in the corner.

Friday, February 21, 2014

Achievement Unlocked: Secure a Dwelling

Nick and I have one big weight off of our shoulders: we signed a lease on a new apartment yesterday. We were able to meet our rent goal and find a place without too much struggle despite living entirely off of capital (landlords read: "lack of income"). Over the next two weeks we'll be packing and moving and trying to get as much work done in the meantime as possible.

The neighborhood is nice, the apartment is magically bigger than any place we've lived prior, I'll be closer to all the things I usually drive to, and we have an off-street parking spot. What more can you ask in LA? We're not allowed to walk on the landscaped grass, but I suppose that's what makes it greener.


Tuesday, February 18, 2014

Cutting costs

The first week of our venture, my wife and I started pouring through our finances. The big question was: "Do we have enough to sustain ourselves for 2 years?". In indie games, 2 years is kind of the magic number -- longer than that and a lot of startups would run out of money, or possibly even become obsolete by the time they're done, and anything shorter than that, and it's difficult to make a game that is competitive with other games.

Crunching the numbers we found that we're close. We need to cut our costs by about 30-40% to make it work. Our two biggest expenses are Housing (39%), and Food (22%).
Right now we live in Santa Monica, which we moved here in order to avoid a Los Angeles commute. Cost of living here is pretty tremendous, and we're paying 1880 / mo for a 1.5 bedroom apartment.  (It has a dining room we use as an office). So we entertained the idea of moving back to Minnesota where you can get the same sized apartment for half the cost, but that would take us away from Nate and Annie, and also tear up the roots Candy has been growing here in LA. I'm sure we could make the distance work, but we decided to look around LA. As it turns out, it's not hard to find places to live in LA that are much much cheaper. Albeit there may be barbed wire on the fences.
The next biggest expense to cut down is food. So far this has been pretty easy. We now only eat out on occasion, preferring to live like shut-ins to make the game. Not eating out has cut our food budget almost in half.

I hope we can make it to the other side with enough money to actually promote the game :).  At the time of this article we have an impressive 5 viewers per day. When we have a game, we might need to buy some friends.

Sunday, February 9, 2014

UI Chart, Draft Zero



So we used to do this thing at an old job of mine where we'd make giant flow charts of what the UI screens were going to be, what options there'd be, what linked up with what, etc.

I started a very very rough version of such a thing in Illustrator. See if you can click this to full size.

Now obviously I'm not writing any of this in stone. And there are unanswered questions, and I haven't even addressed some of the mechanics that have been mentioned. But it helps me at least, when we're talking, to have some basic visual to go on. So then people can say "What?! That's totally different than what I thought we were doing!" and "You call that a flow? Are you high?" and other constructive feedback.

(Edit: Hmm, it seems like even when you click it, it won't show the thing at full size. So, if you can read it, cool. If not, I've thrown it up on Dropbox in the "design" folder.)

Saturday, February 8, 2014

Infinite folders!

Hit a bug that cost me a full evening.  O_O

I wrote a simple script to copy a directory into another*.  I didn't check for one fatal condition... I didn't check if the destination directory is a child of the source directory. So after about 10 seconds of running this script, I now had thousands and thousands of folders nested one after another.  I then tried to delete them, but got the error, "The source file names are larger than is supported by the file system."  Searching for this problem online gave me several possible solutions which none of them worked.  Most involved using robocopy to purge a directory, but in windows robocopy would just crash, and from an emergency boot disk it would run for an hour and end up doing nothing.  Other solutions involved manual steps that may have worked eventually, but I had so many folders here it might have taken me a hundred years.

*I know I know, I should have just used Apache commons FileUtils library, but I figured it is like a 20 line script, easier to write it than to pull in a new library for the one thing I needed.

What ended up working was creating a windows batch file to rename a child directory, move it up a level, then delete the first directory, repeat.

My infinitely nested folder was named "assets".
I cut and paste that folder to C: and ran this script:

@echo off
:LoopStart
REN "assets/assets" "temp"
MOVE "assets/temp" "C:/"
RMDIR "assets"
REN "temp" "assets"
GOTO LoopStart
:LoopEnd

Please don't take this as an opportunity to post comments about how much better Mac is than Windows. I don't care, thanks! :-)

Magical Tree Hall



Not sure what's going on here really. You know how it is... LotR soundtrack is playing in the background, it's late, you're making ill-advised decisions involving "foliage" image searches...

Dunno, could be some interesting place later in a quest.

I figure we'll have to have a few of those per campaign/story. "Special" places, so that you know you're getting close to a sweet reveal/plot twist.

Kick the music up a notch.

That sort of thing.

Friday, February 7, 2014

All on black

It sunk in the other day what the magnitude is of our decision.  Life savings, all on black! There are only a couple certainties. I will learn a lot, and it will be a fun couple of years.

Wednesday, February 5, 2014

Research Room


"When we first settled into the tower, our mystics found a room near the top that would serve as a place to conduct research. They've added a lot since then—the original chamber was a useless mess, moldy scrolls piled in every corner and not much else. Except for the enchanted rooster, of course.

What rooster? Oh, the one that was pecking around when we got here. We're assuming it's enchanted, anyway. It doesn't eat, its eyes glow, and its crow bellows forth in some demonic language. Can't imagine why anyone would've... ah well. It's quite ill-tempered, so we keep it in a cage near the window."

Friday, January 31, 2014

legacy, in java

We've decided to focus on Legacy, and to do it in Java.

Java was a bit of a tough choice for me. But it has several big advantages over c++:

  • I'm familiar with it enough that I can be effective immediately, so is Nick.
  • It ports easily to mobile devices (trivially, in the case of Android), and to the web.
  • It's a great language to write a server in.
  • Faster iteration, and higher overall development velocity.
It has a couple disadvantages too:


  • Not quite as performant.
  • Can't release on consoles.
But fact is, we are a two man shop and we don't need the extra speed; we won't hit those limits. And consoles were never going to be our primary market. Java makes sense. We'll be using the libgdx game library to bootstrap our efforts. It won't be a perfect fit but it seems to provide enough value to be worth the weight, and it should make our path to mobile very simple.

I am so, so excited to be working on Legacy. It almost doesn't feel like working at all. But there is a big change for me. Up till now, Legacy has been purely a passion project. I could work on whatever interested me the most and avoid the things that didn't. But now that we're on a clock and burning resources, we need to be very focussed on making something fun that we can show people, as fast as possible.

More on that soon.

Sunday, January 26, 2014

C++

If I'm going to become a game developer, I better start learning C++.



Saturday, January 25, 2014

What to make?

We're currently in the planning phase.  What to make, what to make it in, ground rules, that kind of stuff.

Some of the questions we asked ourselves are, "What are our values?", "What do we do if one person flakes out and the other keeps going?", "What are the risks?", "What would success look like?"

One of the first ground rules we decided was that we are going to make something for ourselves. One of the most critical pieces of building anything is that you have direct and solid interaction the customer. If the customer is yourself, well then it's that much easier to know what they want, and it's easier to keep the excitement up.  When working for yourself, keeping the fires burning is crucial.


There are many things that I value in software. I value being able to be creative, to rapidly iterate, and to have fun.  Someone with whom I share a common mindset is Bret Victor, who has been an inspiration to create tools that allow you to quickly iterate. I've been thinking about tool chains a lot over the years, as I've worked at various companies I've advocated heavily to increase creativity and quality by reducing iteration times.

Then of course there are video games. A light to moderate amount of gaming is often an amazingly positive experience. Video games challenge you, they engage your mind and imagination, and they are immensely fun. There of course is a dark side to gaming. Overindulgence and addiction can have terrible consequences. What was fun and immersive for a while turns into obsessive and manic. In my life games have played both an extremely positive and extremely detrimental role. Growing up, games were my inspiration toward programming, they were my motivation to learn mathematics, science, art. Some of my fondest memories are in gaming: playing Doom 2 on a snow day, playing Baldur's Gate: Dark Alliance with my wife as she smashes every barrel in the game, and getting a job at Riot and playing LoL in the PC Bang with hordes of other gamers. Video games have also played a darker role. Obsessing over Warcraft III for 16 hours a day, trying to make it as a "pro" gamer, living off ramen and cream of wheat for months on end, losing friendships to gaming.

Trying to decide which path to take, an interesting question we came up with was, "What would we rather succeed at?" We both felt that our personalities better suited the Indie Game developer role.  It was easier to picture myself explaining my business strategy with a giant nerf gun than with productivity graphs.

Time to go make a game!



Friday, January 24, 2014

Website is up!

http://nsquared.us is now live!

This site will be dedicated to showing our progress and state of mind as we continue our endeavor. Eventually we will add music and galleries as we build our product.

Having been out of web development for several years now, I'm finding that making a website is both easier and harder than it was half a decade ago.  It's easier because browser differences aren't quite as bad as they used to be, namely modern IE didn't give me much trouble like it has in the past. It's also easier because there are a million free and useful tools out there, as long as you know what to look for.  The ways that it's harder is that CSS is as strange as ever, and there are a way more ways to do things than there used to be.

The technology used to make the site is very simple. We're using blogger to host the blog, PHP with the Zend framework to read and display the blog.  The layout of the site is kick started with foundation. The art is by Annie. And the contact form is simple PHP tied to Akismet for spam prevention.

Overall the site took a bit more than a day to build, and was a quick and easy win. Small bites, small bites.

well said

I don't have much to add. I'm happy. This is an incredible opportunity and I intend to seize it.

The funny thing is that I don't really know how, or what's that's going to look like yet. But we'll figure that out.

Thursday, January 23, 2014

A New Beginning

Today is the first day of my life as an entrepreneur.  This blog will be that story. 

I am both excited and terrified at the same time -- yesterday I was let go by Riot Games.  A large part of me wants to scream at the injustice, to rage and vent and dwell.  I know the truth of it though, after three years at Riot I've built up a hunger in me.  That hunger was my discontent, it was my downfall, and it will now become my ascent.

Riot tells the story of their humble beginnings every year.  They talk about Marc and Brandon getting a team of awesome talent together to build a game that would rapidly grow to the most played online game in the world.  They started with very little, they joke that their investors were Visa and MasterCard.  These stories were inspiring. 

I was fired the same day as my closest colleague, Nate Austin. We were let go with the reason that, "There is no future for Nick and Nate here at Riot."  While I am sad to leave, and I will miss the daily interaction with my amazing co-workers, there was truth to that statement.

I will let Nate speak for himself, but I believe he has the same hunger to do something grand. It was his idea to call our new business N², as both a little bit of programming humor and a play on our names.  If we can fuel each other's enthusiasm and keep each other honest, I have every bit of confidence we will succeed.

Last night at O'Brian's pub a group of Rioters and Riot alumni gave us the best send off I could hope for.  I'm sorry if I embarrassed anybody :).