“In 2014, I wanted to do my COMP 694 project on VR (virtual reality), but Dr. Cutler said it was way too soon,” said Rice University alumnus Frank Zhang (B.A. ’14), indie VR developer and entrepreneur.
The Computer Science seminar course, “How to be a CTO,” requires each student to research and report on a specialized area of the technology industry. Although predicting future technology trends is part of the course, consumer VR products like Oculus were still new at the time and Zhang was too far ahead of the curve to find resources supporting his hunch.
“I value what Dr. Cutler taught me about quantifying the market,” said Zhang. “We learned to analyze market trends, and it was cool to learn the business aspects of tech. Most of our CS courses taught us how to make the greatest impact with our code, but COMP 694 taught us how tech can be used to influence and bring about change.”
Zhang wanted to work with technologies that could make the most impactful change and allow him to tap his passion for computer games and virtual worlds. He learned the basics of 3D modeling in COMP 162 and he spent two semesters in Joe Warren’s game design courses.
He said, “COMP 160 and 460 helped solidify my interest in games and the role computer science plays in them. I’d done game development with Flash, but learning Python and the iterative cycle for making games helped me go from idea to a fully formed, fun game –a process I still use today.”
“I also really liked Dr. Cutler’s mobile device applications course. Five years ago, mobile apps were a hot thing, but what Dr. Cutler taught us -- what Rice CS teaches you -- is how not to be afraid of tackling the hot things, how to dive into complex problems and get your head around them, how to take what you’ve learned and apply it elsewhere. That’s helping me now with VR.”
Frank Zhang in the GDConf 2016 selfie photo shoot area, staged with 1980s movie posters, games, and other artifacts.
Photo caption: Frank Zhang was invited to participate in the Game Developers Conference, an inclusive professional event and the largest gathering of game developers in the world. GDConf 2016 staged a selfie photo shoot area with 1980s movie posters, games, and other artifacts.
In addition to learning how to develop apps and games, Zhang was preparing for entrepreneurship. He tacked a Business minor onto his triple majors - Computer Science, Mathematical Economic Analysis, and Managerial Studies - and served a year as president of the student entrepreneur club.
“I’ve always been a hacker at heart, so I went to all the local hackathons and a lot Startup Weekend events,” said Zhang. “At one Rice event, founders of Nest, a startup acquired by Google asked the students to raise their hand if they were working on a startup. Only one or two of the 100+ students raised a hand.
“The founders – one Rice alumnus and two from Stanford -- said, ‘That’s the difference between Stanford and Rice. Not the courses, which are similar. When we ask Stanford students if they are working on a startup, a third of them raise their hands. They are more likely to take the leap into entrepreneurship.’”
For students not yet ready to take that leap, the speakers suggested an alternative: work as a product manager in a large technology company to gain further insight into how the industry actually works. Zhang heeded their advice and worked as a Microsoft PM several years.
At Microsoft, he learned how and when to apply best practices like Agile, SCRUM, and microservices. He also acquired and refined his design practices and team management skills, including how to make results heard in a meeting.
All those lessons are paying off for Zhang at Isekai Entertainment, a Bellevue, WA company that he said, “allows players to go to another world, the world of your wildest imagination and fantasy, where you can live the life you want, meet lifelong friends, and go on fun and exciting adventures.”
Zhang’s highest priority as one of Isekai’s founders is achieving the best tradeoffs. He said, “Design is all about compromise. Tech may seem cutting edge, but it actually takes a long time and a high cost to build. Instead of striving for 100%, can we get adequate results – maybe 50%, 70%, or 80% - for a more reasonable cost?’
One way developers reduce their time cost is by incorporating third party libraries rather than coding everything individually.
“Most of my day is spent looking at Unity’s asset store and pondering how we can bring together all those different components together to make a cohesive game. In some ways, it feels a lot like a COMP 210 project, where every bit of code is written by someone else. If our design is not architected correctly, it will be hard to get all the libraries working together.”
He also spends a lot of time thinking about inverse kinematics (IK), the mathematical processes used to predict and guide motion in fields like robotics, animation, and VR.
Undaunted by the complexity of his work, Zhang celebrates small successes. He said any day his team makes progress is a good day, especially when someone is feeling stuck.
“If the team can make and see some progress every day, it makes a difference and helps build trust. To make progress happen, I may need to help get the team get unstuck, get rid of external dependencies and bugs, and make sure the teams know which features to work on. I also try to make sure there is something you can visually see.
“Being an entrepreneur is stressful. It’s like working on a class program and having written a lot of code that doesn’t compile yet. When things compile and run, when I can see even a small change for the better, that’s a great day.”