Browsed by
Category: Technical

Digipen Panel – PAX 2016

Digipen Panel – PAX 2016

A group of folks from Digipen reflected back on their time there and tips for getting into the game industry. Besides the very specific Digipen ones, there’s some general ones that I found to be good tips.

  • There is no real way to keep up with outside friends or family. You will be that busy. Few parties – social circles shrink dramatically if you want to get things done to the high quality you desire. Most didn’t even date.
  • School at Digipen was much harder than traditional college (some had done both).
    • You will not have a social life outside of school – and many breakups occurred.
    • If married, make sure you make the decision together – with all the realities of time explained. Huge – or you’ll likely be filing divorce.
    • All this mirrors what occurs in the game industry after college too. You’re going to spend most of your time with these people you work with. Especially during crunch.
  • You can’t hold a job while at school (Digipen) – one gal quit the job after the first week of classes. Working while at Digipen is not realistic despite the debt you’ll accumulate (which is substantial).
  • You’ll lose most of your social life outside the few friends you make inside Digipen. Even that is tough to maintain. Likely won’t be playing many games anymore – won’t have time.
  • Cross-discipline interaction is really good for you. You have exposure to the language of other areas: artists, programmers, developers, project leads, etc – even if you don’t study it directly. Helps you understand why/what is most important to those other areas and really helps you succeed.
  • Always act professionally. Conventions, planes, bars, etc. You never know who is listening in – high probability that someone will know someone. Especially when heading to conferences – odds are high a good portion of the people on your flights, buses, etc are all going too. Don’t alienate yourself to others by being rude, dismissive, or offensive. The industry is far too small and you’ll get a reputation that can make you unhirable.
  • You’ll work with people that have different opinions. If it doesn’t impact your work, then let it go. Did we mention never burning bridges?
  • Find ways to keep motivated even when things don’t go as you expect. Many times you’ll get stuck working on something you don’t want to. You need a way to stay motivated, working quickly, and with high quality output so you will be recognized and be able to move to the next good thing.
  • 3 keys to a good hire: be personable, do good work, work quickly. Make everything presentable in as best way possible. Being personable trumps the others. You can be the smartest, fastest person around – but if you’re hard to get along with – nobody will want you.
  • For art reels, show your best stuff. A demo reel should be 1-2 minutes of your best work. It’s only as good as the weakest piece. Constantly update it and show new stuff.
  • For designers, show quantity of output.
  • For programmer, it’s about communicating your work/talking skills. You need to be able to narrate how your design works, thought process, and algorithms.
  • Start personal branding very soon. One fellow started 2 years before graduation and it made all the hard work you need to do much easier. Branding includes websites, collected pictures of work, demo reels, posting your work on sites like Polygon Count, etc. All takes lots of time to collect and get presentable. Don’t try to do it at the end – because you can’t and it will show.
  • As soon as you get an assignment and read through it, open a notepad and put ideas in there to start with. Don’t wait because often you’ll get so busy that all you have the day before it’s due is the idea(s) you put in there first. Don’t get yourself into a last-minute corner.
  • Network as much as you can everywhere you can. Every conference, meetup, professional group, etc. That is where your jobs come from.
  • People don’t want to work with someone that is just good – they also want someone they’ll like working with since you’re going to spend so much time together.
How Not to get Hired – PAX West 2016

How Not to get Hired – PAX West 2016

I attended a number of panel talks by game developers at PAX West this last weekend. Besides the fun of talking with the developers and some of the comedy/youtube celebs, the most interesting ones for me were the career oriented ones. While already in the field, I think it’s always a very good idea to keep up to date on what new hires are doing in high tech. High tech and programming are fields you can very quickly find yourself ‘deprecated’ if you are not careful. One of the key pieces I’ve found over time is to keep abreast and versed on the latest technologies and hiring trends.

Hiring for game development can be very competitive and sometimes fickle. It’s an industry moving much faster than the rest of software development, so it’s actually a good place to start looking if you want to see some of the hiring trends coming to your latest Fortune 500.

Here are some of their tips:

  • Research your desired position and make sure it’s what you want. Many people don’t know what they want. That’s ok – but you will eventually need to pick. Know what is required for the job area you are considering. Looking at postings gives you an idea and you can see if that’s what you want to do. Especially for artists, find a studio that does work in the style you want to do. If you’re a 2D cartoon artist, don’t apply to big photo-realistic 3D houses. This matching of skills/desires is really important.
  • Look on Amazon – there are now decent books on how to get hired into the game industry.
  • Create unique cover letters that show how involved you are in the community, projects you are part of, and the passion you have. Ex: “I love finding things that drive my coworkers crazy and fixing them”, “I was at PAX East and saw a talk by X from your company and was excited when they started talking about Y.”
  • Proof-read everything you send to them. Resumes, cover letters, emails, etc. They showed lots of examples of people that didn’t seem to have basic literacy skills. Communication is important in game studios, so texting style communication is a mark against you.
  • When customizing your resume for a position, make sure you’ve done it yourself and know which one you gave each place. People have shown up to interviews and get asked about a detail on their resume they don’t remember or was worded differently because they didn’t write it or review it sufficiently. Not cool.
  • Portfolios must show you can do the work you claim. If it’s a UI position then don’t give me tons of examples of your 3D modeling. They must see you doing the work you claim you want.
  • The *baseline* is now knowing the company well. You should have at least played every one of their major titles and have exposure to all their minor ones. You get docked for this badly if you haven’t.
    • Play at least a little of each game they ship before arriving.
  • Practice, practice, practice answering questions out loud. Really get them down well. Have your mom, friend, dog, etc ask you questions you know you’ll probably get.
  • Don’t just show up at their studio and inquire about jobs. That’s antiquated and actually a bit creepy. Receptionists aren’t set up for it. Just don’t. Do it over the web.
  • Be excited. Getting on site for many companies means you’re already at a 50/50 chance of a hire – or higher. They’ve already vet you a lot via your online portfolio, screens, and talking with previous coworkers/employers. Show energy, don’t screw up, and you’re likely in.
  • Ask them questions too. What is your development cycle like? How long do you get per asset? Crunch benefits, duration, style, etc? To avoid bugging them later, ask when should you expect to hear back from them.
  • Expect a skill based test – 100% will happen even for long-term and very senior developers and artists.
  • Know what you are worth. Check out Gamasutra salary surveys, etc. Always respond to the first offer with needing a day/few to think about it. Make sure you calculate differences in cost of living for the city, etc. Everything is negotiable to some degree so ask.
    • Approach it like a conversation with a friend. “So, you offered X and I did some calculations based on what I’m making now, the cost delta in the new city, etc and I’m coming out with this number Y. Could we find a way to get closer to that?”
  • Don’t wear a suit or you’ll get teased a bit. Also, don’t wear anything that would embarrass your mother. Yes, it’s a much more casual environment but it’s not a show of how crazy you can be. Bathe. You need to show you care about how you come across to others because you will be working in teams and giving/receiving suggestions/improvement tips/feedback all day. Appearance shows you understand how to pay attention to how you come across.
  • Always send a thank-you note after the interview.
    • One person who really messed up an in-person test actually sent them a test he did on his own afterward to repair the damage. He didn’t get that job, but he did get one a year or so later.
    • If they say no, it’s no for now. Not no forever. Never give up and always try again. However, you must work towards your goal. Really show progress in your portfolio over time. If you go a year and your portfolio is the same, you’re failing and likely going to continue getting rejections. Even when employed, consider a periodic portfolio review from companies you might want to work for. Send it to them and ask for feedback. Constant improvement shows you are interested enough to keep going and growing. Side projects are key to this. One person actively did this and incorporated the recruiter’s feedback and got a job about a year later.
    • Perhaps ask the recruiter what you could have done better or if there was a gap you could work on.
  • Be ready to move a lot in your career. Each job change will almost always come with a location change.
  • DO NOT BURN BRIDGES or make a bad impression in any of your interactions. The game dev community is shockingly small and everyone knows at least one person at just about every studio. They will call people you have worked for and check you out.
    • Always stay professional – even at bars around your city like Seattle. Odds are very good there is someone within earshot of you that knows someone that knows them.
  • Not a lot of people will make it to the level they aspire too. The best strategy is to find something you want to master then master your craft and apply at a place that matches that style. It takes tons of grinding work – no quick solution. This is why you need to find something you really love. Practice every day. Gimmicky methods of following trendy things doesn’t really work long term. Hone your skill and find the thing that matches that. Seek out mods, indie projects, or other things you can contribute too.
    • This is why it’s important to really find something you love first because you’re going to spend a LOT of time on it.
  • Look into resume link for connections. The recruiters scan Art Station and Polycount to scout talent. They want to see you do good work but that you are also positive, take good feedback, and show progress.
  • Internships are starting to catch on at studios – slowly. Check it out if possible.
  • Use the cover letter to explain any career shifts or gaps.
  • For beginners: the expectation is that you can at least do fan art. Could the studio take that art quality and put it in their game today? That’s your bar.
  • Make contacts with recruiters and with others in the industry that do what you want to do. Make connections constantly, at every conference/meetup/IGDA/etc, and work your network. That’s where your jobs will come from.
  • Portfolios must be online and high quality as a *minimum*. Are you on other sites known for posting work for your discipline (Polycount, etc)? Don’t forget to give passwords to password protected portfolios.
  • Your portfolio is only as good as the weakest piece. Constantly work on replacing content with your latest amazing stuff. Within a few years, you will likely start removing even the good stuff. That’s your goal.
  • Each position and your work should show progression in your skills. This is huge. Shows you are a high performer and have a habit of development and growth.
  • Do not have your parents/others send letters to recruiters on your behalf. Borders on lazy/uninterested to downright creepy.
git’s git:// protocol fails, but git http:// succeeds

git’s git:// protocol fails, but git http:// succeeds

A number of source websites expose their source via the git:// protocol. Unfortunately, the git protocol recently broke on one I used, but the git http:// protocol was working. Instead of changing my fetching scripts, I found a clever url replacement in git using the following command:

git config --global url.https://gitsite.com/.insteadOf git://gitsite.com/

This allows you to change the protocol per URL instead of globally. Exactly what I needed.

Using puTTY with usb serial ports on Fedora/Ubuntu/Linux/etc

Using puTTY with usb serial ports on Fedora/Ubuntu/Linux/etc

Serial ports are a thing of yesteryear, but never seem to go away. If you have a USB adapter that exposes serial ports to your favorite Linux branch, knowing how to get to them isn’t intuitive.

puTTY is a great terminal emulator, and you can connect to whichever port is exposed using the following format:

sudo putty /dev/ttyUSB0 -serial -sercfg 115200,8,n,1,N

If it’s on a different port, use /dev/ttyUSB1, etc.

As for cables that expose a serial port via USB, I recommend the Sabrent USB 2.0 to Serial (9-Pin) DB-9 RS-232 Converter Cable using the Prolific Chipset.

3D movies without the glasses

3D movies without the glasses

MIT made a movie screen that brings 3D to all seats – without the glasses

MIT set out to create a display that lets people see the 3D effect in a movie theater, from any seat in the house – no glasses required. Teaming up with Israel’s Weiszmann Institute of Science, CSAIL managed to put together a prototype called ‘Cinema 3D’ that uses a complex arrangement of lenses and mirrors to create a set number of parallax barriers (think of Venetian blinds that show a slightly different set of pixels to each of the viewer’s eyes to simulate depth) that can address every viewing angle in the theater based on seat locations.

 

Police possibly 3D printing murder victim’s fingerprint to unlock their phone

Police possibly 3D printing murder victim’s fingerprint to unlock their phone

Police in Michigan have a new tool for unlocking phones: 3D printing. According to a new report from Flash Forward creator Rose Eveleth, law enforcement officers approached a professor at Michigan State earlier this year to reproduce a murder victim’s fingerprint from a prerecorded scan. Once created, the 3D model would be used to create a false fingerprint, which could be used to unlock the phone.

http://www.theverge.com/2016/7/21/12247370/police-fingerprint-3D-printing-unlock-phone-murder

Mounting a Windows hosted samba share from Linux (Fedora/Ubuntu/etc) – with a domain account

Mounting a Windows hosted samba share from Linux (Fedora/Ubuntu/etc) – with a domain account

Samba shares can be finicky beasts. Mounting a samba (smb) point shared from a Windows host doubly tricky at times due to cross-platform differences such as domains.

If you ever find yourself trying to mount a Windows hosted Samba share and need to log in with a domain account, here’s the format:

sudo mount -t cifs -o domain=<YOURDOMAIN>,username=<YOURUSERNAME>,password=<YOURPASSWORD> //<HOSTNAME>/TestShare /mnt/

This mounts <hostname> which can be either an ip address or host name to the directory /mnt/ when using the proper domain, username and password. Whew.

You can also test your connection by using smbclient, which seems to have a more forgiving syntax.:

smbclient //<HOSTNAME>/TestShare -U <YOURDOMAIN>/<YOURUSERNAME>
ex:
smbclient //myhost.com/TestShare -U ibmdom/billwaters

This would connect you to myhost.com/Testshare directory using the user account billwaters that is part of the ibmdom domain. It would then prompt you for your password. You can also optionally add the password to the command line, but this allows you to type it in separately.

Using a physical drive/raw drive access with Virtualbox

Using a physical drive/raw drive access with Virtualbox

This comes from the good article here, or in the VirtualBox documentation.

Virtualization has been a tremendous help to developers such as myself. It keeps us from having to keep a pile of hard drives/machines all running different operating systems. And while this is great, there are some times when you might want to use a raw hard drive. For example, if you pull a hard drive out of an existing system and want to keep the OS/data intact but use it as a virtual machine inside another host OS.

Well, you can set up VirtualBox to use a physical hard drive inside a VM. This method is called “raw hard disk access.” This allows you to mount or boot a secondary hard drive or external USB as your storage device inside the VM.

Warning: Do not attempt to mount or boot the partition that runs the host OS with a VM, as that can lead to severe data corruption. And no matter which drive or partition you want to mount, it’s always a good idea to back up any existing data on it before continuing.

Creating the Virtual Machine:

You’ll first want to create a virtual machine within the VirtualBox GUI. Choose all options like normal, but when asked about the virtual hard drive, select Do not add a virtual hard drive.

Next, you’ll need to find the path and drive number of the physical drive you’d like to mount:

In Windows, open Disk Management. You’ll see the associated drive numbers on the left and will identify them later as PhysicalDrive0, PhysicalDrive1, etc.

In Linux, run the following command: sudo fdisk -l. You’ll see a listing of the partitions. Make note of the desired drive in the format of dev/sda0, dev/sda1, etc.

In Mac OS X, use the following command: diskutil list. You’ll see a listing of the partitions. Make note of the desired drive in the format of /dev/disk0, /dev/disk1, etc.

Now open a command prompt on your OS. If you’re using Windows as the host OS you will also need to go to the root directory of VirtualBox using the following command: cd C:\Program Files\Oracle\VirtualBox

Creating the VirtualBox Hard Drive:

Now you can run the command to create the virtual hard drive file that points to your desired physical drive. For each of the following examples ensure that you input the desired names between the arrows and replace the number or pound sign with your desired drive number.

For Windows:
You often must be administrator to run this command. Make sure your cmd.exe is running as administrator. This also means you must start VirtualBox as administrator to use these drive links.

VBoxManage internalcommands createrawvmdk -filename "C:\Users\\VirtualBox VMs\\.vmdk" -rawdisk \\.\PhysicalDrive#

For Linux:

VBoxManage internalcommands createrawvmdk -filename ".vmdk" -rawdisk /dev/sda

For Mac OS X:

VBoxManage internalcommands createrawvmdk -filename ".vmdk" -rawdisk /dev/disk#

This VMDK will be a very small file that simply points to your physical drive. Now you can attach the VMDK to your VM. To do so, open the VirtualBox GUI, select the desired VM, click Settings, clickStorage, click Add Hard Disk button, select Choose existing drive, and then select the VMDK file you just created.