Thursday, May 02, 2013

The differences between marketing demos (E3) and proofs of concept, and then real production.

I think I've covered this topic before but it has been coming up a lot again in the forums so I thought I'd go over some of the reasons why Yogventures appeared to be sliding backwards in development since our E3 presentation looked so good. It is very counter intuitive for people so I can understand why it's a point of confusion.

When we decided to create Yogventures we had a couple of ideas that were being developed at the same time. We knew we wanted to build a game that would incorporate user created adventures and we knew that we wanted to try and push the boundaries of what procedural content in games could be used for. We knew that we wanted to keep the look of the game as close to our Feature Animation esthetic (think Dreamworks , Pixar, Disney etc) but that we didn't want to limit players creativity by locking them into our own opinion of what makes and adventure game. In short we wanted to smash Dungeons and Dragons, Little Big Planet, and Minecraft together into an uber game that would allow players to generate worlds procedurally, easily edit those worlds to tailor the adventure to whatever local the players wanted to set their world in and then easily setup the events and story elements that would allow a player to experience the game the way the Map Maker envisioned. All of this was where our primary focus was at the time. We were mostly excited about how much freedom we envision giving players to create adventures that would at the same time be custom made by players, not game developers, but players, and still be able to not be limited to the most basic of building tools.

If you can imagine the list of systems that need to be created in order to realize that goal, you can probably see a huge and seemingly insurmountable list of things that need to get created in order to come close to achieving that goal. You need a sandbox that can generate interesting worlds with little intervention from the players. You then need tools to mold that world into a more refined version of itself to set the stage for the adventure. Then you need a robust character generator that both creates limitless amounts of variation, while still maintaining a cohesive aesthetic, AI that is programmable without needing to be able to program, a scripting system for the more technical map makers, a more user friendly visual scripting system for people that don't want to learn to script, camera controls, player controls, effects, sound effects, music, etc . etc .etc..... Even just listing out all the requirements can quickly become a job in and of itself so we began to worry that we wouldn't be able to quickly explain what Yogventures was all about. There wasn't a quick catch phrase (what's known as the elevator pitch in film) that we could just blurt out and get people to understand what we were making, and that's a real problem if you're in a position where you want to quit your day job to make this game. You need to be able to quickly and succinctly show people your vision so that they can easily digest and understand, and hopefully want to back such a enormous task.

This is why game companies develop Prototypes and Proof of Concept Demos. The Prototype is a very quick and dirty example of what the developers have in mind for the game they are attempting to create. Many of the Game Engines available now make it relatively simple to rapidly prototype and idea. The key to remember though, is that these prototypes are rarely usable in any real way. The reason this is true is because the developers pull out all the stops and tricks to get the demo up and running as quickly as possible. In our case, we chose Unity and that turned out to be a real time saver. Unity is really great at empowering you to create a 3D game, and if you are ok with it's built in design assumptions then you can actually make a fully functional game in a matter of weeks not years. So we created 1 player character and 1 enemy and plopped them in a world where we could specifically place the terrain, the props, the buildings, even control the effects, sound effects, interaction with props like treasure chests and dialog boxes when talking to a NPC it was a serious effort to get that all working and it took a lot of late nights and weekends but at the end of it we were able to show in an interactive way, something that resembles our vision for what Yogventures COULD be when complete. However, that's the key distinction here, this is only a prototype, just a sketch really of what we really wanted to be able to produce. Unity itself made it fast for us developers to quickly knock together a demo of the final adventure, and to be honest even that "adventure" is no where near as complex as what we want Yogventures to be capable of. That's not even talking about the fact that the E3 demo is locked off with invisible walls so you can't go past where the world ends, there's no way for the terrain in that demo to be scaled up to the resolution of our current terrain and still allow the block by block freedom that we currently have (believe me when I say we tried to make that not true.) and literally NONE of the user customization we want to allow players to have is possible in that E3 demo. What Unity does out of the box is empower artists and programmers to display pre-made assets and pre-determined gameplay really well and really fast. What NO game engine does really well at the moment is allow all of that without any pre-made optimization tricks which is what Yogventures really requires.

So while I totally understand the confusion and even frustration or disappointment that our current build of Yogventures doesn't measure up to that early E3 demo, it's my hope that people will understand both why that is, and that just because we haven't gotten back there YET, that this still remains our goal for Yogventures. What we showed in E3 is part of our vision for this game. We want the play to be similar, and the look to be AT LEAST AS GOOD but probably better than that shows. However, in order to make that a reality we have to write an enormous amount of custom systems that allow players to have the same power that Unity gives us as developers, but to make it very easy to use and fun to create with. On top of those systems we first need a fully procedural world that works like a sandbox allowing for nearly limitless exploration while at the same time allowing players to edit the terrain and dig and build to their hearts content. Unfortunately, computers have limited resources, there are RAM and CPU considerations that have to be accounted for, there's a huge variety of computer combinations out there and we can't just support the latest and greatest this game needs to run on even the most modest of computers. We have got to iterate in order to make art and assets better, you never do your best work in the first draft it always takes revision and refinement. All of this adds up to a huge amount of work that has to be completed to create the canvas that will be the stage for the amazing adventures that everyone will sometime in the near future be able to have in Yogventures, but just like a house of cards, that base level has to be solid and in our case nearly perfect before any of the decorative elements can be added back in.

I've already written about the challenges facing developers writing games with procedural geometry as a central mechanic, and how we've largely been incrementally chipping away at that problem line by line in the code. We're getting closer all the time to reaching that goal, and as we have shown with the E3 demo, we know what it takes to make really great looking assets and games, but we also have to make those assets accessible and customizable to allow the players the ultimate set of building blocks to create these amazing adventures. It all just takes time, and that's where a prototype really hurts you as a developer.

The prototype gave us a shared vision that we can SHOW people. You can enter that world and get a sense of what we're shooting for and you can see the quality of the work that we intend to put into ever aspect of Yogventures, but since it was relatively easy to produce (again we spent weeks on that so it's not like we did it over night or anything) it belittles the amount of work it actually takes to reproduce that experience in game without the aide of Unity's level editors, and built in world limits, and baked lighting, etc etc. So when people see the current real engine's state and it doesn't live up to all that the demo's have shown there is a natural tendency to point and say, WTF??? this looked better a year ago, but that's really not a completely fair assessment  If we released a number of levels that we created solely in Unity, it would be just like every other game out there, a single story with no chance for the players to interact with the world except where we the designers specifically programmed there to be interaction points, and for a lot of games that's perfectly fine, but for Yogventures, that is SOOOOOOO not what we are going for. Yogventures is about freeing players to setup their own adventures for their friends to enjoy and struggle with, Yogventures is about freedom, and games that are linear and "on the rails" are the complete opposite of that. It's like watching a movie to a certain extent, it can be powerful, entertaining and moving, but it's not YOUR vision it's someone elses and what we're interested in for Yogventures is not shoving our vision of what an adventure is, but rather seeing what YOUR vision of adventures are and allowing players to collectively share in that. Yogventures, isn't there yet, but that's where we are taking it and if everyone will stick around and pardon our dust while we create it, I really believe we'll have something very unique and fun to play and talk about for a long time to come.


Monday, April 15, 2013

Unity3d meshs, CPU cycles, and RAM memory, the never ending quest for balance. . .

There are two major problems with procedurally generated geometry in games. The first is CPU cycles and the second is RAM. It is true that almost all computer games suffer from these same limitations, but when you are talking about procedurally generated geometry these two components of computer hardware become even more important.

The "procedural" part of the procedural generated geometry is instructions written to the computer to get it to generate a lot of data by running pseudo-random functions called noise. The slower these functions are to compute the longer the CPU must run each time you want to generate a "chunk" of terrain. The main way to speed up this process is to either use A.) a faster noise generator, however most of the fast ones generate largely unusable or unusual noise, so let's assume for now that isn't an option. Or B.) to save more information per chunk in RAM in order to avoid re-running the expensive but better looking noise algorithms too often. The trade off becomes increasingly obvious, the more data you cram into RAM the less work the CPU has to do to generate the geometry. This means less stutters and frame drops or "Lag", but then there is only a set limit of RAM each computer has available, and not all computers will have the same amount. To make matters even worse, Unity has some very interesting ways it deals with RAM in particular that make it very hard to predict how much it will gobble up if you aren't extremely careful. I'm positive I will find the right balance and get the game running at a reasonable framerate on as many computers as possible, but until then I think the only option is going to have to be to reduce the amount of work the game is trying to accomplish on each frame. To that end I've added the ability for the user to reduce the view distance when they are first loading or creating a new game. This allows there to be fewer chunks made at a time and thus uses less memory and less CPU during the gameplay. Of course it also means the world is much smaller and it needs to generate much faster if it's going to keep up with the player while they run towards the edge of the world. So there is always a catch with any solution. Until I finally figure out what it is we need to do to truly reduce the amount of RAM needed per chunk, this problem will plague Yogventures!

A lot of what has caused the biggest delays in getting Yogventures to market has to do with a lack of time and experience on my part. As the only coder it falls on me to make everything work and run on as wide a variety of machines as possible. This alone would be a huge task because everything is user or procedurally generated in Yogventures, but it's made even harder when we realize that unity just wasn't made with procedurally generated content in mind. Unity allocates a lot of RAM each time you create a mesh, and each chunk of terrain requires at least one mesh and often as many as 4-8 meshes depending on if it has decorations, etc. Unfortunately the methods everyone on the internet and Unity's doc's say will free up that memory either can't be used because we can't afford to cause the game to stutter while it frees RAM, or they simply don't work as they should. The result is that Yogventures! still uses too much RAM and too many CPU cycles per chunk whenever it is generating terrain. One clever way to get around something like this is to "pool" objects and re-use things as much as possible, but even when I have done that we still can't get the RAM usage to stop from increasing every time we update what's known as the MeshFilter. . . More time and development will need to be done in order to make this work.

It's extremely frustrating to us as a team because we can see other engines working out there that seem to have less problems most notable of course is Minecraft, but since that is largely only cubes it makes sense that it has less CPU and RAM requirements than Yogventures. . . others like Miguel Cepero's Voxel Farm are seemingly pushing a lot more information than either minecraft or Yogventures, but then his is completely written from the ground up in c++ which means memory and CPU can be handled a lot more granularly  and  full disclosure Miguel is just plain a genius at procedurally generated terrain etc.  It's not often, but I do have to admit from time to time that it would be better if we had a bigger team or I had more programming experience as all these delays with the terrain are definitely eating in to time we desperately need to spend on the other more "Build your own adventure" features of the game. I really think that once we get some of our ideas coded and working in game, that players are going to have the tools they need to make adventures that are both unique and fun as well as great looking, but until the sandbox part of our sandbox game is no longer eating up all of the player's computer resources there is no way to get to that goal.

 If anyone would have told me that I'd still be working on balancing the load of the terrain system a year into development I would have said they were crazy, but unfortunately, I am and until this problem is fixed there's no way to do anything else. It's certainly close, I'm able to do a lot with our current optimizations, but it's still not as light and fast as it needs to be, and until it is, I have got to keep re-working and re-thinking the issue. If we were a bigger game dev house we could probably hire in some extra programmers but unfortunately that's just not an option at this time. So, for now, until we have all succeeded enough to quit  our day jobs outright, and for good, we'll just have to keep working along and solving these problems the best we can, as fast as we can and just hope that the fans and the backers will understand until we get it fixed.

Some of you may or may not know that all of us have had to go back to our day jobs since December. This has obviously put a large strain on our ability to work on Yogventures as well. In a lot of ways we've been doing development on Yogventures in reverse from what many Indie game developers do. Most Indie game developers start with a single person or a couple of people working in their parent's garage or basement living off the parents or working some small part time job with almost no real "living expenses". This is how most people still in college or high school start making games. It's a great way to do it if you are young and your parents are understanding and pretty well off that they can afford to feed and clothe and house you. Obviously, this doesn't work too well if you come to game development later in life especially if you've already moved out and started a family of your own etc.

The second most common way Indie developers manage to make games without a publisher is to do it in their spare time, which generally means when they aren't at work someplace else. This is sometimes called hobby development as the developers are using time most other people would put into their hobbies. Unfortunately, it also means that the developers have very little time to actually develop because working a full time job to pay rent and keep a family leaves very little time for anything else, much less the demanding time making your own procedurally generated world based game requires.

When game developers need to spend even more time then they can afford to while maintaining a "day job" they generally turn to a publisher to try and get the publisher to put up the money that would make it possible for the developers to quit their day jobs and work on the game full time. This is great when the publisher believes in the developer and allows the game to take shape according to the way the developer thinks it should, but as you can imagine this is rarely the case. A publisher that is putting up the money to make the game wants the game to be able to make more money in return. After all the publisher is in it to get a return on their investment, it's all business to them. So if they don't think there is an audience for the game developer's ideas the publisher will often times tell the developer they must change the game or lose the funding. This is why there are so many same old same old games out there and why so few games take risks that aren't indie. A lot of money means a lot of to risk and most people don't want to lose money.

Then there is how we did it. We had a great idea to make a game, but the idea itself is so big and open that it was going to take a long time and a lot of effort to make. We all have a lot of experience making really great looking 3D animation and we all have a lot of passion for empowering gamers and letting gamers actually "PLAY" together. What we really want is to combine those two passions and mix it all up in the Yogscast's world and produce something that not only is good to look at, but is truly anything players can imagine. We want to make the ultimate Video Game Sandbox where games can be made by players the same way you can make up rules to freeze tag in your back yard, or tell epic tales in a Dungeon and Dragons game with your friends. We want the limitations to be as removed as possible, and the imaginations be free as possible. Of course when we describe this idea to business people and publishers, they think we're just crazy artsy fartsy types that are dreaming too big. They all say, you need to make something much much smaller and something people know already. That's just not how we see it though, we all have great jobs working on major animated feature films. We all know what it's like to watch the stories get mashed up and chopped up to fit into what producers think the mass markets want to see. We've all seen those ideas that started out so magical and fun get reduced down to the lowest common denominator with the least risk possible to protect the publisher's investments and we've all been let down when the movies finally come out and people see them and they're like "meh it's pretty good, not great, but good" that's not what we want for Yogventures!

We want to keep at it until we can look at it and at each other and say, THERE we didn't stop, we didn't dumb it down, we didn't cut out the dangerous bits because they were risky. We want to build what in our imagination looks and plays like the games we always wished were around when we were kids. We want to take sandbox to it's ultimate level and truly let you the players have fun in the way that YOU want to, and of course thanks to Kickstarter you all gave us the chance. It's a chance that we never imagined we'd have and now that we do we want so much to deliver on this promise. We want to make this game unique, and special and customizable, and mod-able and above all FUN! However, like all dreamers, we have had to experience setback and delays and weird legal problems, and deal with motivation problems and etc etc etc. In short the real world always has to be taken care of, we all have to pay rent, and bills, and buy food, and get enough sleep and even the biggest budget can't last forever.. . so we all did as much as we could, and put it off for as long as we could, and even used up all of our own savings, but in the end we all had to go back to our day jobs. The rent and the bills and the food couldn't be put off anymore and we simply had to face the fact that we had to work to make a living while we continue this dream. The dream of making a game that is truly fun , really great looking, and as open and usable by players to make their own dream games as possible. We're not stopping just because we're too slow or losing people's attention. We're going to keep going as long as it takes! Yogventures! will be as great and fun as we know it can be, and no amount of RAM, or CPU or lack there of is going to stop it!

This is my promise to myself and to each and every backer of the kickstarter, whatever it takes I'm going to put it into this game and it will be everything we all want it to be, it's just going to take a bit longer than anyone ever thought, and I hope you all will continue on with us while we fight through the issues.

Which brings me to a rather good bit of news, I've recently re-negotiated my contract with Dreamworks Animation and they have thankfully agreed to allow me to work 4 days a week at 10 hours a day instead of 5 days at 8 hours a day. This means I'll have 3 days in a row to dedicate to Yogventures! this should help get us back on track to getting open beta out and hopefully when potential customers see how much fun Open Beta is they too will want to join in and sales will pick up once again. At least that's the hope we have, until then we'll just keep working and making things better one day at a time. :)


Monday, December 24, 2012

Pre-Alpha and beyond.

So, it's been an incredibly short 6 months since I last posted here. . . :)

Today we're going to release Pre-Alpha of Yogventures! to the "Founders Level" backers of our kickstarter project, and I'm terrified, excited, nervous, happy, scared, anxious, basically I feel like I did before every figure drawing critique I ever had at Ringling School of Art and Design.

I mentioned before that I went to art school and let me tell you, that was a very hard program. To get into the computer animation program you had to complete your Freshman year and that was entirely traditional art classes with some liberal arts thrown in for good measure. I'll be the first to tell you, when it comes to drawing or painting I'm the WORST! I developed a very strong appreciation for just how incredibly hard and specialized that skill set is. People who can draw or paint well have spent countless hours honing their craft, the best artists will tell you that they're never done learning or perfecting their technique.

Figure drawing classes for me were the most horrific. When I first got into Ringling I could barely draw a stick figure! Initially all of my drawings were bad, more than one teacher spent numerous after class sessions explaining the fundamentals to me. "The main problem", I remember one of my favorite teachers said, "Is that you haven't spent 10 years at this yet. You can't expect to just jump into a class and be perfect right away, it takes time and practice!" Back then, I felt like he was just placating me, trying to make me feel better about my lack of skill as an artist. But slowly, over the course of a year, drawing every day, I did manage to get marginally better, I still can't draw don't get me wrong but I saw improvement and so did my peers and teachers. What I learned is, everything takes time, practice and most of all hard work, but if you're willing to stick with it and do that work you can really achieve anything you want in this life.

The reason I'm remembering this now is, I remember the feeling I hated the most about Figure Drawing class was when we'd take a break and everyone would go around and look at each other's work. Especially, at the beginning of the year, when everyone was new and didn't know how to give good critiques and helpful advice, it was a really humbling experience. People would say things about a half started drawing that would make you want to curl up and die. They'd point out all the obvious flaws and make snide comments about your lack of experience and skill. Basically, if you've ever been bullied on a playground these unprofessional critiques could feel a lot like that. No one has a great drawing to show half an hour into a 4 hour session, even the best artists have to lay the foundations down correctly and make constant adjustments from there to reach a finished piece. Obviously, showing work in it's unfinished state isn't going to be as good as it will when it is finished!

When this first happened to me I was really hurt and angry, at the start. It takes a lot out of you when people ridicule your work, even if you know it's not finished and you can do better with more time, it still stings when people point out flaws or mistakes. It is doubly hard to hear from people that you admire and think are talented. You know, the superstars in class that always put up great work, the students who have obviously taken classes before and practice all the time. When THEY say your work is lacking you can't help but die a little inside.

Gradually, I learned though, each and every time this process happened, I learned a little bit more about what people DID like and what mistakes I was making over and over again. And, truth be told I learned how to ignore the really mean hurtful comments and focus only on the constructive criticisms the advice on how to make it better. It was then that I realized the importance of getting people to look at your work early on. "Warts and All" as the industry jargon goes. If you get people to look at your work early, they can spot the mistakes you're making early, which means you can fix those mistakes early, which means you will have more time to polish something that is already more correct than if you missed that mistake until the very end of the project. Many times these early "break critiques", some student would see some basic proportional mistake or large form that wasn't correct and they would point that out. I'd been too close to see it and with their pointing it out, I would be able to fix it before it was too late. So, gradually what used to be a completely terrifying process, turned into a very valuable and helpful experience.

I feel all those same emotions again today. I'm about to release the very first version of the very first game I've ever programmed with the intent of making a fun game FOR PEOPLE! I have made other small games of course, and I program a lot during my day job as a rigger at Dreamworks, but this is the first time I'm going to deliver an incomplete game to a couple of thousand people and say "Here! hope you like it!"

I feel strongly that this is the right thing to do though. Part of what makes Kickstarter funded games so exciting for backers is that they get to see into the process of making the game in a way that up till now hasn't really been available. Kickstarter backers have pledged money so that they can support a studio (small or large) in achieving something that up till now meant that the studio had to give up most of their rights as a creative company. Producers and Distributors were always the people paying to have the game made so those producers and distributors got to call all of the shots and make all the really important decisions.

With Kickstarter, and crowd-funding in general,  that's all changed, backers put the decision making back into the hands of the game developers and in return game developers are giving backers a view into how the game development process works, and ideally some way to provide input and feedback to help make the game better. Today I'm going to release this very early pre-alpha to the backers and ask that they provide their critique on the game so far. Most of the planned features for the game aren't in it yet. Most of what is in the game isn't finished. Some of what is in the game still crashes and leaves the game in a broken state from time to time. Almost all of the artwork and models and textures are first pass and will require a few more passes to really make them great. In short this is the first 15 mins of a 4 hour long drawing and I'm terrified to show this rough sketch to anyone!

A lot of people on my team are worried as well. The delays in production and the lack of completion make people nervous about what everyone on the internet is going to say about it. No one wants to look foolish or worse wants the game to be shunned by the world before it's finished. However, I think that it's more important to get the game to the backers and start getting that feedback loop working than it is to worry about future sales and what haters are going to say. Personally, I want to make this game as much fun and as close to a work of art as possible and to do that we are going to need the help of the backers. We need them to play it and try it on their computers. We need to hear what things they like and what things they hate. We need to open the dialog and start the discussion as early on as possible because if we can correct the big glaring mistakes early we have a much better chance of using our very limited resources of time and money in a more productive way.

So even though it's scary, getting "fresh eyes" to look at your work is important. Asking for, and really listening to people's honest opinions will only benefit your work and at the end of the day, that is what's important. We need to make Yogventures! the best it can be, we need to include the backers in the trials as well as the triumphs and I hope that everyone will be able to see this for what it is: Pre-Alpha is the very first step to getting a game to completion, it's just as sketch and it will get better.

I promise, with all the Backers' help, feedback, and support it will get better. :)

Monday, April 16, 2012

Yogventures! Day 9

... .  .   .    .  What can I say, but "WOW"!

The Yognau(gh)ts have proven yet again that there is nothing they can't do when they come together to the aid of a cause! First they helped the guys raise over $100,000 in charity to help the hungry during The Yogscast December Charity Drive. And now, they've raised over $250,000 in a little over a week!

The have banded together to help us all make this game become a reality. I can't even come up with words to say thanks in a meaningful enough way! This game will first and foremost be a testament to the idea, that gamers and game developers can come together and make a game that is truly a collaboration a partnership where there doesn't have to be a wall between them. There will be a lot of challenges ahead during this process, to be sure. However, to see how this game has begun, hand in hand with the gamers that will (hopefully) enjoy playing it when it is finished, is just such a humbling and exciting experience I can't believe I've been given the opportunity to be here now starting this journey.

Of course, as huge of an accomplishment as this is, there is a lot of work to do, and we have only just begun to get started! One of the first concerns is of course, will all the backers be able to fulfill their pledges. There have been reports by other successful kickstarter projects of a small percentage of their backers being unable to meet their pledged contribution when the time came to fulfill their pledge. If that were to happen to us, that would be catastrophic to our game! So I must ask all the loyal and amazing Yognau(gh)ts to please Don't stop! We have a great and I mean GREAT start! But every dollar we raise over and above the initial goal works as both Insurance to cover any backers that are unable to fulfill their pledge, but also will go to help ensure we can work on the game for as long as it takes to make it great for YOU!

Thanks again, from the bottom of all of our hearts! We would be nothing without your support!

Thank you!

Saturday, April 14, 2012

Yogventures! Day 7

Hi everyone!

Sorry I haven't posted anything here over the past few days. As you can imagine keeping up with the kickstarter correspondence is almost a full time job in and of itself! The overwhelming amount of support and love that has been coming in has been nothing short of amazing and I'm trying to individually answer as many of the questions and emails as possible!

I'm very impressed with everyone that has pledged their support to the project. 99% of the people sending in emails and comments on the Kickstarter page have been extremely nice, and it's been a real pleasure to have the opportunity to interact with such a great community.

There have been a lot of comments on outside media outlets that are let's be honest not saying very nice things about what we're trying to accomplish here. Some of them are aimed at the fact that the Yogscast are super popular among quite young audiences. I suppose this is only a natural response given the world we live in, but it couldn't be further from the truth that the Yogscast are simply trying to "Cash In" on their fame. The intent behind this game is to try and create something with the community that is both fun and entertaining! It's a great time we live in where so many people with like ideas can find each other online and collaborate to create ideas and experiences that wouldn't have been possible even just 10 years ago. This game has super high ambitious goals, and not all of them are technical challenges. The biggest challenge will be convincing players to build, play, and share their own adventure ideas with each other. This is what's exciting to me about this game, that we are making a sandbox but not just so people can come over and marvel at the sandcastles we made by ourselves, but instead we're hoping they will all come and out sandcastle us at our own game so we can all OOOOOhhhhh and AAAAHHHH together!

One bit of information, The timing for kicking off this Kickstarter was a bit crap! The Yogscast had been planning on moving to new houses and offices for months prior to this getting launched and it just so happened that the weekend of the launch all of that started happening. Imagine how hard it is to put out a quality youtube video when all that you own is either being put in a box, already in a box, in a truck on its way somewhere in a box, etc. The only reason we launched it when we did is that for me to take this time off from Dreamworks I have to be able to tell them soon! If I waited too late they would have to crew me to the next show and by that time it would be too late. So yeah the timing of updates and the Yogscast specifically making comments etc are going to be delayed, but they are working on an update which will hopefully be completed and uploaded soon!

Thanks for all your support and comments and questions! Keep them coming, this is so much fun!


Tuesday, April 10, 2012

Yogventures! Day 002

Why Kickstarter?

I thought I'd post an answer to a question that I keep getting ever since we launched the kickstarter campaign. . . Namely, why do we need the 250,000 we are asking fans to donate to get this game off the ground?

The simple answer is time.

For two years I've been actively working on this dream of developing this game for the Yogscast. I get up between 4am and 5am every morning work on the game till about 9am, then go to work all day at Dreamworks, then come home and I don't normally get to sleep until 10-11p.

I do this because I'm trying to achieve something that is incredibly complicated and multi-faceted without the advent of a full time career in that field or formal accredited education. It's not something that's done my family life any favors. My social life has suffered greatly, even have had friends think I'm making excuses not to hang out with them etc. So why go through with it? If it's so hard and causing so many problems then why bother right?

For me the answer to that question is, I want to prove to myself that I can finish what I've started here. I've made gigantic leaps in the past 6 months in terms of my understanding of games and programming. The heady feeling I get when I solve a prickly problem and get the result I was working towards becomes like a drug. I got addicted to that feeling and I just couldn't imagine stopping.

Ok, so I love what I'm doing, big deal what makes it ok for me to go ask the Yogscast if they want to make a game with me? Why do I think it's fine to drag my long time friends from college down into this slogging paced endeavor as well? And most of all , What in the world am I doing asking fans of the Yogscast to pledge actual money to fund what ultimately may never pan out exactly as we have promised?

Very VERY important questions! To answer it I have to give you a little bit of a back story of how the game design has evolved over the past year or so that Yogscast and I have been talking about it. Initially, what I was able to show them was an engine with a character running around in a world that could be created so long as I had a team of modelers, texture artists, animators, etc. It was nice but there was nothing new or innovative about the concept. However, we thought, if we make it small scale and based around the characters of Honeydew and Xephos there might be a small population of fans out there that would appreciate something like that and if nothing else the Yogscast could make some videos of the development and then a play through. Get in get out, no harm to anyone involved.

We progressed along those lines for a while and the more we did the more we realized that we needed much more thought put into the story then we were initially thinking. Then as our imaginations went wild with the possibilities the scope of the project quickly ballooned because we kept saying, "What can we give to the fans to make it worth their time". More and more seemed to be the answer and pretty soon we had come up with a small story that would require a HUGE amount of artistic and programming labor to complete. Still, we all felt confident that with enough time and effort there wasn't anything on our design that was far beyond our abilities and so we proceeded forward with the idea.

Since the scope of the project had increased I decided to ask some of my friends from the industry if they would be interested in helping me make this game. Most of my friends were completely supportive, they all really liked the progress I had made so far and could see where their individual strengths could quickly fill in the gaps where I needed help. The caveate being that since we all worked for big production houses we couldn't be advertising the fact that we were working on this until we had what's known as a "Carve Out" in our contracts.

Not to get too in depth with the inner workings of Hollywood contracts, but a "Carve Out" occurs when you and the company you work for agree that a side project you are doing in your own time, A. is your own work and your employer has no rights to it and B. doesn't directly compete with your day job and thus you aren't competing with your own boss. These aren't incredibly rare, a lot of artists working for large houses have them, but the do take time, and they do raise a lot of prickly questions with your managers, like time management, burn out etc. . . so none of us wanted to go down that road until it was absolutely necessary.

Thus only I have a carve out so far in my contract. Others are now working on getting them because we understand the curiosity of wanting to know the people behind the development of the game, but that's the reason thus far we haven't been able to come forward with any more specifics in that regard.

Anyway, We were off to the races now that I had some extremely talented help! I setup a forum we had weekly meetings and stuff was flat out getting done!! Beautiful concept art, Models, Textures, Animations! It was all really great, perhaps a bit too great!

The problem was/is that no matter how good looking our art assets and animation are, the idea of the game was shallow and one note. It lacked a spark of imagination and most of all it lacked any clear connection with the fan base that we were trying to make this for. The idea was a good one for a straight ahead linear narrative storied game, but it didn't fit the criteria for a great interactive experience between the Yogscast and their community.

So we began brainstorming again, ok so what is it that the word interactive really means? What we came up with was this, When you play with someone, no matter if it's a game of cards, a boardgame, leggos, or a multiplayer video game, the most rewarding aspect of that is actually the shared experience of having fun together. It's not nearly as important which of those games you are playing as it is that you are playing together! Ok, so defintetly we wanted to make it multiplayer, ok but still that wasn't enough. What else really makes for a fun time playing together?

What we think it is more times than not, is the ability to challenge each other's imaginations! To setup a scenario where whatever crazy thing comes to your head you play out and see what your friend will do with it. Like when you start making up rules for freeze tag or mod a game so it has silly string instead of bullets. It's that kind've free fettered build your own style game that's really really interesting to us. And we hope, to the fans of the Yogscast as well.

Ok, so now the scope of the project is suddenly kinda unachievable right? I mean an open world sandbox where the users can build play and share their adventure maps with friends? HOW IN THE WORLD IS THAT POSSIBLE?

Well, it's only possible if the technology and programming you are using will help procedurally create content for you and still stay interesting and fun to experience. That's when we discovered the technology behind our terrain generation. We worked with the developer of this tech for about 2 months to get it to do what we thought it would need to be able to do in order to even consider this as a viable solution. To our great relief this works very very well! Using Unity3d and this third party API we can have an infinitely generated world that runs fast and looks great on which to build the rest of our adventures! Wow were we excited, suddenly it was not only possible but definitely something that we could achieve with enough further effort!

Ah but the effort, the effort it's going to take to get all of the crafting, and player customization, and level building tools, and clever machinery, and in game scripting, and modders tools, and characters , and npcs, and sound, and music and . .  and. . . and.. etc. It's going to still take a huge amount of effort and time to get all of these things in.

No worries, we'll just stretch it out over a long period of time right?? ? do it a little bit here and there like we are now??? Sure, if we don't ever want to have it be ready for players to play. By the time we finish it that way, who knows what interest or crazy new technology might have come along to steal our thunder?

So what then? We all have good jobs and responsibilities and families. We can't just abandon those to pursue this idea, no matter how great it is.  We can't get a big publisher (or even a medium publisher) involved because A. they probably wouldn't be interested, and B. in exchange for their funding we'd be forced to make whatever game THEY wanted us to make, no thanks.

And then Tim Schafer proved the impossible!

What if we follow the lead of so many hopeful game developers out there that have discovered the power of crowdfunding? What if we take this idea and present it to the players! The people that we want to share this idea with, what if we show them the cool stuff we have, and we tell them about the cool stuff we still want to do. What if they too think this is a good idea and wouldn't mind helping to make it a reality!!! Oh boy, what if! After you say it out loud it becomes perfectly clear, it seems like it's dumb that you never thought of it before, Let the players decide, it's exactly why we want to make this game in the first place.

We want you to play with us in a world that we create together, virtually but also irl on the forums and in the community. By collaborating and sharing ideas and crazy thoughts, and laughs etc. So that's where we are at. Why were are here and what we will do with every penny you donate to this cause. This money you are donating represents our one real shot at making this dream a reality, and we will be very respectful of that faith you are giving us.

We will work as hard and as fast as we can with the time you give us to make as much of this a reality as possible. And if we run out of money before it's done, well I for one won't stop. My team may have to go on to take care of their own, but I'm in this guys I want this to succeed because I really honestly think this represents the single most greatest thing I've ever been apart of , except for my family.

Again I thank you all for your support so far, and I can't wait to see what we build in the future together!

Monday, April 09, 2012

Yogventures! Day 001

Wow, what an incredible weekend it was!

The overwhelming outpouring of support from the community has been nothing short of amazing! 50% of the goal was reached in ONE weekend! That's phenomenal! I can't say how grateful I am to all the fans for their trust and their backing of this project.

We did of course meet a lot of questions from all over the internet, fans, friends, and haters alike. This is to be expected!!! This project generates a lot of interest because it marks a departure from the normal run-of-the-mill development of video games.  This kind of niche market development was the kind of thing we saw back in the '80s when the people making the games were the ones deciding all aspects of what the game was going to be like. Guys in their garages tinkering away on the old 286's making rouge more for their own enjoyment then as a viable business plan, and THEN putting it out there for people to buy/play if they wanted to!

That's how I see what this kickstarter concept has to offer. It lets developers take very specific ideas directly to like minded people and ask them for support in making that idea a reality. It will mean that more communities of gamers can have a more direct relationship with developers that are also members of the community!

 As long as developers keep in mind the responsibility of coming through on what they are promising it'll be a win win for everyone involved. And it won't be a lose lose for the big publishers because those kind of AAA games are only possible with the huge budgets and all the adversity to risk that comes with that.

TotalBiscuit made some good arguments about why he's skeptical about our game. But there is one point I do disagree with and that's our choice of name. I think Yogventures completely encapsulates exactly what the spirit of this game is all about. It's about a universe where The Yogscast can showcase their ideas and comedy and share that with all of you the loyal Yognau(gh)ts. It's about sharing an adventure with the Yogscast! It's decidedly NOT about trying to bring in people that aren't already fans, or being everything to everybody. The game is a niche game for a very great niche, you guys!

Watch this space for regular updates and information, I'll post as often as I can, and with as much open information as I can!

Thanks again for the opportunity to do this together guys, It's an amazing honor!