On Sunday afternoon, the day before the first day, I spent most of the day building a computer for my artist. It's got 8Gb of ram, 2tb of disk space, an Intel i7 processor, and an NVidia GTX 760 video card. It's a top of the line machine. I also installed Win7 Pro, downloaded all of the latest updates, installed Unreal Engine 4, Notepad++, and Chrome. It's pretty bare. I made sure to download and apply all of the latest windows updates and got the machine "work ready", so my artist could just jump in and be running as soon as possible.
On Monday morning, I had to drive a car to truck the equipment over to the office. I had to park a block away in some ridiculously overpriced parking garage ($27 for a day!). I got to the office and found a trolley cart I could use to haul my computer equipment on. I was a bit nervous about the whole thing. I had over $5k worth of computer equipment on a cart and I had to cart it through a block of heavy pedestrian traffic. All it would take to ruin the day is for someone to see something they like, grab it, and run off. I can't chase them down because then I'd be abandoning the rest of my gear, which would be free for the taking for everyone else. Fortunately, nothing happened. I got my equipment upstairs, got it setup with no issues in 45 minutes, and everything turned on and worked perfectly. Good start for the day.
I sat down with my partner and we talked about the visual style guide. Since we're only two people, we can't afford to spend as much time and effort making super high quality, realistic graphics. While we have the capability to produce high quality graphics, we don't have the time. So, we're aiming for a bit more of a cartoonish stylized look. This will let him get away with more things, which will speed up his production cycle, and get assets in game faster. I asked him for a list of all the software he would need in order to do his job:
-Adobe Photoshop CS 6
-3D studio max
So, Maya costs $3,675, without a required "1 year service plan" (actual total: $4300).
3D studio max has the exact same licensing plan.
I looked into the latest version of Adobe Photoshop. They had this hare-brained idea to release the latest version of photoshop as a "Software as a Service" offering branded as "Creative Cloud" instead of a stand-alone license. If you get this, you can look forward to expensive monthly payments and creating a dependency on Adobe's servers which validate your software each time you launch it -- when the servers go down, which has happened, you don't get to run the software and you're dead in the water without any recourse or recompensation. I'm inclined to hate on the newest licensing scheme bundled with Photoshop, so I'd rather get CS6 than CC.
The total bill for all of my artist's software tools comes out to around $10,000. I balked at first due to sticker shock, thinking it was a ridiculous price. Let's face it, $10,000 is a lot of money to drop on software. If nobody is watching, why not just pirate it, right? It's really tempting. We had a short discussion on the software piracy option. We were both reluctant to go that route. It opens up a bunch of uncomfortable legal liabilities and ethical dilemmas. How can we rationalize stealing someone else's software for free and at the same time, expect people to pay for our software? It's not possible to rationalize the double standard. I decided that our best course of action is to download and install the 30 day free trial versions (which thankfully are a full feature set) for the interim while I move some money around to legally purchase all of the necessary software. Whew! No laws broken, no ethical dilemmas, no stoppage of work. It'll cost me a lot of money, but in retrospect, I'm okay with that. It's money I'm *investing* into my business, not money being flushed down a drain. Best of all, I can comfortably say in all honesty that we're 100% legally compliant.
I was also looking into the purchase of other software tools and premade assets. There are some really good tools out there which can create awesome landscapes, trees, etc. It's expensive, but if you look at it from the business stand point, you have to ask yourself: What's more expensive? Spending a fixed amount of money to acquire a lot of assets in a short amount of time, or spend an indeterminate amount of time and wages to create those assets in-house? What are the opportunity costs? What are you not doing while you're recreating available assets? It's actually cheaper and faster to put the money down on the third party tools and premade assets.
On Tuesday, I set our goal for the week to learn the Unreal Engine 4 as best we could for each of our respective areas of expertise. We each probably watched about 30+ youtube video tutorials and followed along. I also started trying to dive in and start building game content to get a feel for where my knowledge gaps would be. My ten months of attempting to write my own engine were not entirely wasted. I find that I know what I'm trying to do, I have the technical back end understanding on how to do it all, but now I just have to figure out how to translate the syntax of what I'm trying to do into UE4 and figure out how to close the gaps in implementation. I'm guessing it'll be a month long learning curve to get proficient with the engine.
I realized that the desktop machine I had been using for 2+ years was actually quite slow. I started digging into the UE4 Materials editor and every time I tried to make a few changes to a material, it would use a back-end process to compile 200+ shaders so that it could update the editor view in real time. This shader compilation process took about 3 minutes each time it ran. Sometimes, changing a single float value would trigger an automatic recompile, and there was no way to just compile them manually. I asked my artist if he was experiencing the same issue -- he had no idea what I was talking about because his computer was super fast. I had an intel CPU with 2 cores running at 3.5Ghz. That lets me run two seperate threads of execution simultaneously. My CPU was pretty much maxed out at 100% usage. I needed to upgrade my machine. That evening, I put in an order for a new CPU and motherboard on Amazon with prime shipping. I thought I'd be smart and have it shipped to an amazon locker a few blocks away. It would arrive in two days, so that puts me at Thursday.
On Thursday morning, I went to look for this Amazon locker place. It was really hard to find. It took me about 30 minutes to find it, but I got my parts. During the last hour of the day, I disassembled my workstation and installed my brand new motherboard and CPU. I turned the computer back on but Windows 7 Pro couldn't handle the hardware changes without continuously rebooting or throwing up a blue screen of death. Well, that's disappointing. I attempted to repair windows with no luck. That left me with one final option: Reinstall windows. I left that for Friday morning (which turns out to be a bad idea). During the evening after work, I realized that I really should back up all of my important files before doing anything else.
On Friday morning, I got in to the office and put my old hardware back in and booted up. Luckily, everything loaded with no issues and I could get to my old files to back them up onto an external USB hard drive. After I have my files backed up, I swapped my motherboards yet again and tried to install a fresh copy of windows on the existing hard drive. That wouldn't work. The windows installer couldn't install a fresh copy without reformatting the drive. It complained about the master boot record or something. I didn't want to reformat my 500gb drive since it had a LOT of stuff on there I didn't want to lose. So, I came to the realization that I needed a new hard drive. Its 10:30am and I realize that I need to make a trip out to the nearest electronics store (Fry's) which is quite far away. I had to take the train home, get in my car and drive to the store. All in all, it was a 2.5 hour trip (waste of time). I also picked up a new DVD rom drive since my old one used an IDE cable and the new motherboard only supported SATA. I get back to the office in the afternoon and am able to finally install the hardware and get things running. There was a slight hiccup though: The SATA hard drive did NOT include a SATA cable with it (Thanks, Western Digital!). I read the packaging and in fine print on the box, it mentioned that. Lesson learned: Always read the packaging contents. Don't assume the manufacturer will include everything you need.
I finally got my computer running late on Friday afternoon. I started up the Unreal Engine and was blown away by how fast it ran and how crisp everything felt. The background shader compilation no longer caused wait times, the UI was incredibly responsive, and I had no glitches caused by CPU delays. It was totally worth the money to upgrade. By the end of the day, I had built a decent landscape and populated it with a few foliage static meshes. I also had dynamic lighting, a sun with bloom and light beams, and nice shadows. It all ran very quickly and with nice crisp responsiveness. I had now just built a level which had more technically advanced features & capabilities than my own game engine and it only took me a few hours. This is 100% the way to go.
I'm also happy that I got the exact same hardware as my artists computer. Consistency is good. I predict that the duplicate hardware configurations will be something I'm thankful for later.
That wraps up my first week. My final costs for the week are the following:
$2000 - Artists computer
$550 - Monthly office rental
$950 - Wages
$50 - Incidental expenses
$600 - Computer upgrade
$20 - UE4
$10,000 - Software tools
It was a little more painful and expensive than I had predicted, but I rolled with the punches well enough and made things happen.
On a slightly separate note, I think it was a great business move on my part to work out of an office. When I was working from home, it was very easy to be tempted to distract myself with time sinks such as facebook, reddit, youtube videos, and video games. Sometimes I gave in and hours later, would realize how much time I had wasted. Working from an office space creates a bit more pressure to stay focused and on task. I have had zero temptation to distract myself, so I was able to put in a full days worth of work in every day. There's an additional financial pressure to stay focused as well: Every day, I am paying a lot of money to work and get things done. If I don't work, then I'm just throwing my money away. I didn't work hard to save it all up just to throw it away, so I need to get the most value out of every day to make sure it's worth the money being spent on it.