Udacity Introduction to Computer Science Notes & Review

Udacity Introduction to Computer Science is a great introductory course. To me, it was an introduction to Python and it’s a mix of programming and quizzes. If you want to start somewhere, particularly in Python, I suggest you give it a go. It’s a great starting point for those who want to begin with Python.

Udacity Introduction to Computer Science – Done!

For the last assignment, it was nice to tie everything up with a big project. Took me a fair amount figuring out how to set up the database, after that it was smooth sailing. My solution is here on my GITHUB (Jupyter Notebook). You will probably see my sprawl of comments throughout. I think how I made the database was messy so would love to see other solutions. As a tip for the last part (this) was great help.

Udacity Introduction to Computer Science Notes:

  • Recursion teaching is really cool – and it was nice to see the solutions with recursion, but also the problem with using recursion in terms of efficiency (such as the Fibonacci example).
  • The quizzes are good – but I recommend trying to find out how they got certain solutions. They do explain it but sometimes you need to look up solutions.
  • Even if you get the programming exercises right – definitely look at their solutions. I remember going through one exercise and then when I watched the solution, I realised I was doing it inefficiently.
  • If you don’t know Python – great place to start.
  • Self paced.
  • You don’t have to install everything (it’s all in browser).
  • You are welcome to check my GitHub for some of my solutions I decided to do offsite.

I think if you know a fair amount of programming, it’s a good primer and you will probably zoom through it. I think there may be better courses though. Afterall, it’s an introduction 😉

 

 

Notes for VR Game developers: Crazy Fishing

Crazy Fishing out of Early Access: Notes for VR Game Developers.

We released Crazy Fishing out of Early Access a few days ago, and it was great to reflect on the drastic things we changed to adapt to VR. I’m hoping these notes will help any other VR Game developers thinking of entering the VR Gaming space.

Hands, Hands, Hands.

Hands we ended up using for VR

This is, not surprisingly, a huge issue. You need to make sure the hands are in the right position, and should be reactive to how the ‘player’ expects for it to work. For example, if I grab something in the world, both the animations and the timing should be precise. We had numerous discussions about this, and even the Superhot VR guys (who also got out on VR) got numerous hot fixes for the hands. The player sees this EVERYWHERE, so make sure the hands are working as any player expects it to be.

Mechanics – Don’t break immersion.

No more UI.

We went through a whirlwind of changing mechanics. When we first made the game, players weren’t drawn into a basic  fishing game. You could catch fish fast, cast, reel and repeat. The problem was we started making it too easy, and we jumped up the difficulty by introducing a meter mechanic. But this was our biggest issue –  we traded off immersion. Placing a giant meter on the rod is very immersive breaking – and this was something you have to take into consideration for VR. Instead of looking at the rod, or the fish in the water, the player would stare at the meter.

What we ended up doing? Getting rid of the meter and making it haptic orientated. When the rod shakes, you know its going to break soon. This is also assisted with the rod bending and the more it bent, the more vibrations the controller produced. So VR game developers – if you aren’t sure, don’t put UI in unless it is part of the ‘world’ you created!

Tutorials

VR Game developers…. if you ever make a tutorial, make it amazing.

Tutorials are tricky. Some VR Players are veterans, and a majority of them won’t need a tutorial – they will find out on their own. A majority of the teaching will be to new players and a tutorial is always advisable. You will be surprised, the action of fishing is actually very difficult to communicate. We settled with a button for those who are unsure to run the tutorial and it would lock them into certain actions. I think a more beneficial tutorial for future games would be one which uses things that people expect. For example,  when you spawn a rock – the player will learn to pick it up and throw it. In VR, you have no references, and that’s the difficulty of it. Let the player learn but not feel like they are locked into it – and the less UI / words you can use – the better.

A World of their Own

A save state which can store everything in it (and is the same when you come back!)

I think the most important thing we implemented and learnt was the house. In this house we put leader boards, achievements, picture frames and a way to ‘visualise’ your progress. The Aquarium was something our players liked the most. You could see the fish inside your fish tank for every one you caught, and a large board which shows you how many of each one. The score board was another touch which added to replay-ability.

I plan to do a few more things and hope to create some lessons for VR Game developers. Topics, I’ve been asked to discuss are marketing and a post mortem, which I plan to do.  There are also a few more other lessons, but I think that’s best discussed in a later topic once the game has been out of release for a month with the post mortem.

 

Moving From Games to AI

I’ve felt I’ve learnt a lot of programming from Crazy Fishing (VR), Pen Island (VR) and Scramble 7 (iOS & Android) and I want to progreinto Artificial Intelligence (particularly Computer Vision and Machine Learning). I’ve learnt a lot of programming and Managing teams & VR Gaming studios – and those lessons I can’t forget. 

vr gaming crazy fishing vr

VR Gaming as a Business

I think VR gaming will always be around, but the market is certainly not ready yet for a sustainable VR gaming studio, and it’s a damn hard industry to make it big on the mobile. Instead, I feel it’s better to start with something you genuinely love – your little pet game, such as QuiVR (a game that started as a project and grew to this! Stardew Valley was a game made by a programmer to improve his CV and ended up becoming a hit sensation! Undertale – a game that was made by Toby Fox which was made over years in his own time, before it had a successful Kickstarter. These games weren’t made for the money, instead they were made for themselves, but grew to hit sensations.

Out of all the games I’ve been apart of, Crazy Fishing has evolved to a game I enjoy. I can show friends, and I’ve learnt ALOT about virtual reality as a whole. I will write a post about the things we changed and what we discovered after we take Crazy Fishing out of Early Access (which surprisingly wont be too long from now).

Crazy Fishing screenshot

Gaming as a Side Business while working on AI/ML

I’ve been working doing dentistry and surgery during the day, and programming and working on games at night. Instead of doing only games, I’m going to start getting into AI as I think it’s an exciting field and could be a a huge thing in the future. The thought of a what is possible is fucking exciting (excuse my language) and can’t wait to be apart of it.

I won’t quit making games, but I won’t expect them to go big either. I believe the VR gaming market (At the moment) is not ready, but still highly interests me. The platform hasn’t even gone to its full potential, but the limitations with a small team or without a ridiculous budget are highly restricting.

Way forward:

  • I’m going to start learning Machine Learning and Python (I knew a bit, but now go full throttle) with courses I’ll list soon.
  • Working on at my surgery and teeth.
  • Managing some game projects with an active but not so active role (Got to keep the gaming programming skills up!)
  • Mastering computer vision.

Hope you will enjoy the ride to come, it’s going to be an exciting future!

Some Quick Shout Outs:

I’ve also met some amazing people, and some of the Freelancers I do want to shout out such as – Jun (super talented with logos and 2D work) and Dion (an amazing 3D artists).