Sunday, November 3, 2013

How to install Windows 8.1 on mid-2009 Macbook pro

How to install Windows on Macs?

The simplest answer is - use "Bootcamp"

Well if its so simple then... Why this tutorial?

Because as it stands today, the latest version (5.0.5033) of Bootcamp does not support mid-2009 macbooks, which in my opinion is a shame esp. when you see a lot of machines in the market with much lower specs are running Win8. And as I soon found out, I was not the only one looking to get this done and found this amazing link on Apple support communities page: How to install Windows 8 on Mid 09 Macbook Pro (10.8.3). A big thanks to 'projectRelentless' and others on this thread, your comments were extremely helpful!

So let me lay down my machine specs and will then go through the to-do's and not to-do's for installation process.
I'm running Mountain Lion 10.8.5 on a mid-2009 13" macbook pro. core2duo, 2.26GHz, 160GB HDD, 4GB RAM with NVIDIA 9400M

And I installed Windows8.1 64bit edition - partitioned OSX using USB installer, but installation needs a DVD - USB install will not work if you are planning to install using bootcamp support. You DO NOT need Windows7. The process should apply for Windows 8, if you have a compelling reason to install that, though I'd say 8.1 is better, esp. the windows/start icon is back :D

Note: having a USB mouse during installation could be handy. Else you'll have to click / select either using your keyboard or by pressing your trackpad at bottom left because tap-to-click won't work.

And here are the steps!

Once again, they are largely derived from the discussion I linked above and I'm going to refer mainly the changes

  1. Firstly, unlike the main instruction... you do not require a Windows7 DVD. So relax if you don't have one! But then, how do you partition the disk? (I think you can use Win8 DVD, but since I was initially trying to use USB install mode, I did not check it)
    The trick is to fool bootcamp to believe that the current device can burn a USB. How?
    • Go to Applications->Utilities, Right click on Bootcamp and select "Show Package Content"
    • Open Info.plist using Xcode, TextEdit or from terminal using vi, etc. You may be required to add yourself to users with edit permission.
    • Find the line which says - USBBootSupportedModels and add your model to the list of supported models by adding the line: <string>MacbookPro5,5</string>
      • Alternately, in some machines you may find the following key <key>Win7OnlyModels</key> . In this case, delete the line <string>MacbookPro5,5</string> which you'll find somewhere below this.  
      • Note: replace the value with your model number.
    • The next time you launch Bootcamp Assitant, you'll see an option to burn USB disk. Do this and then partition your disk. Give Windows (takes about 15-20GB) at least 40GB esp. if you are planning to install Visual Studio (10GB+) after that.
  2. Once you are done partitioning, your system will restart and boot using the USB (if you have left it plugged in). And here is the catch
    • With USB installer, you'll be able to start the installation process. Provide the key, etc. etc. but will get stuck on the screen for choosing partition.
    • You'll read in the linked discussion about "cannot install to the partition" error and the workaround of formatting the partition to use NTFS, etc. But...
      • With USB install this won't budge. You'll not be able to move any bit forward from here. Why? Apparently, the USB installer only supports Windows 8.1 or for that matter Win8 in EFI mode something that will not go hand-in-hand with this bootcamp created partition.
      • So whats the alternative? the other option is to install in CSM mode. Google to read more about UEFI vs CSM / Legacy / BIOS boot
      • What does not having EFI cost to us? Nothing much except for a little longish booting time.
  3. And this is where you'll need your DVD (Win8 or Win8.1).
    • After bootcamp assistant is done partitioning, simply remove the USB and insert your DVD.
    • Go through the installation steps.
    • You'll again find the partition screen, which will show the same error (unless you have formatted the partition when you reached this screen with your USB installation).
    • This time formatting the partition will let you pass through.
    • Let Windows do its bits, restart a couple of time and so on.
    • Create your account and choose your settings when asked.
  4. Finally, you'll find yourself staring at the shiny new tiles of Win8.1. but with a few glitches. You'll still be missing the tap-to-click feature for trackpad as well as the function keys like volume, display brightness, etc.
  5. Download the bootcamp drivers. NOTE: you do not need to install the 4.xx drivers mentioned in the discussion I referred above.
    • Go to folder: Bootcamp->Drivers->Apple and run the Bootcamp.msi. It will throw an error and won't run. This is where you'll need the registry file from specified the original post. Create your own or download from the link (I simply downloaded it) and install it.
    • Now right click on the "BootCamp.msi" and run it as Administrator and it will go through.
    • This will install the bootcamp drivers and support for your trackpad and function keys and a few other features. 
    • Finally your system will ask for a restart, do it!
  6. And you are done... Now pat your back to have successfully installed it and share your happiness plus these instructions with your friends.

Wednesday, September 18, 2013

Crunched Bytes: July - August 2013

This is what I believe will be the last of the series for sharing on Twitter (@aniruddha_loya) seems more instant and timely.  Nevertheless, enjoy this big collection with some really good reads from Jesse Schell, F2P, Player's IPU, Pixar (breadcrumbs spread over the movies), A productivity secret from Harvard, the "Un"-Consoles / microconsoles and more...

The Shame Game: An Interview With Jesse Schell

An interview with Jesse Schell on using humiliation (-ve reinforcement) techniques used in games and how that affects the game play. Also there is some discussion on hard-core gamers frustration with F2P and how things might evolve with due course of time.

Mind Games: Offloading Cycles to the Player’s IPU (Imagination Processing Unit)

A very interesting article emphasising on using player's Imagination as an integral part of game design. And links to the related article below. Leaving certain things to be imagined, helps in creating the sense of immersion and the bond between the game and the player, which can play an important role in success or failure of the game as a whole.

The Simulation Dream

Related to the IPU article, this article also talks about the mental model of the players which is termed as "Player Model Principle" which states that the entire value of game is in the mental model.

Why do we play video games, when they cause us such pain? On Jesper Juul’s “The Art of Failure”

The author refers to Jesper Juul's book and draws attention to the paradox of failure in games, that "players dislike failing in games, but they dislike more not failing even more". 
However, what strikes out is the explanation provided why "gamification" fails in corporations, that failures are acceptable (even strived after) in games but not at the job.

Why Candy Crush Saga is so Engaging - An Audio Breakdown

If you haven't played this game, first go and play and then you'll understand why this game deserve an analysis for its Audio. I just love its background music and was interesting to read an analysis for the music elements of the game. 

Dopamine and games – Liking, learning, or wanting to play?

A very interesting article on the use and abuse of the reference to Dopamine in gaming context and some scientific insights to the facts (or what is known until now).

Designing local multiplayer games for microconsoles

A local multiplayer game has taken hold of parts of my imagination since I made one myself during the Global Game Jam in January 2013 (Check out our game Heart Racer). And the above article provides some interesting insights to this genre.

The Pixar Theory

Love Pixar Movies? Ever wondered if all these movies are inter-related or made with a common underlying theme?? 
No! Read this blog and you are going to find it interesting to the point of believing!
Yes! Still read it and enjoy!!!
The blog article a working narrative that ties all of the Pixar movies into one cohesive timeline with a main theme.

Today's game industry through the lens of human history

The Author maps the wold of video games and its inhabitants (players & developrs) with the human history and looking into human evolution, predicts how the scenario would shape in the world of video games.

Accessibility & the Folly of Exclusivism

A highly controversial topic in gaming world (as the author himself notes) but in my opinion a very valid point (suggestion). I'm in favour of an easy mode (or very easy or what author sometimes refer to as God mode) to help the beginners or casual players latch on with games. I do not understand how this affects the so-called "hard-core" gamers… on the contrary it may give rise to some new members for their community and more incentives for companies to continue working on those titles rather allocate more budget to casual games. EA recently announced their largest income source was from Apple's AppStore and in my view that doesn't bode well for the hard-core unless they have now turned into "casual hard-core" :D

Chasing the Whale: Examining the ethics of free-to-play games

An insight to lives of a few gamers, often termed as "Whales" for the amount they spend on F2P games. Lots of arguments and counter-arguments in the article as well as the following discussion.
My take: If gambling is legal and ethical, then so is the F2P model. Every one has a compulsive desire and addiction to one thing or the other and it is up to us to draw the line. If someone calls it wrong to design games to make money, then there are 2 questions: 1. How are these game companies going to survive, remember nothing comes "free" in this world. and 2. Aren't gambling machines/ games/ etc. designed the same way? What may be done is to raise awareness among people and may be some conscientious game makers putting a cap onto daily/monthly spending, just like how Steam blocked the account (though the reasons in the said example might be different).

And while we are at it, read this as well with another argument of why to hate F2P but also a potential way out to solve the shortcomings of method which is here to stay.

F2P Gaming - Removing the Stigma

Game Over: Parting thoughts from the Game Developer team
A brief recap and an outlook for the future of consoles, Indies, mobiles, and Game Dev in general, GameDev teams write their last and fitting finale to a great journey of 19years.

5 Things to Ask Your Interviewer

Nice little blog with advice for interviews with 5 actual Qs that you can ask unlike just the suggestion to ask question given by many blogs/articles on interview tips!

The Five Basics of Being a Game Design Problem Solver

Listen, reason, think and master -- the key essentials for problem solving… not limited to Game Design.

Fewer Options, More Meaningful Choices

Though presented in the context of gameplay design, this applies to creativity in general. I have seen my GameLab professor demonstrate it in the class and then we, students, do it. And the same was experienced in the Global Game Jam 2013. Restricting the projects on a particular theme can give rise to interesting interpretations, ideas, gameplay and mechanics.

A Harvard Economist's Surprisingly Simple Productivity Secret

I have always been avoiding internet on my mobile, though it has some problems, but more benefits. I get some time to think over without constantly checking for emails and importantly, since am not connected I'm not required to answer any of them. And as Chip Cutter found out, its a sub-optimum use of time: "All those times that I thought I was using my time well-- … -- I was using my bandwidth badly"

The Android Microconsole Reference Guide for Game Developers

A list of current and upcoming micro consoles with an evaluation of their pros & cons.

Friday, July 12, 2013

Crunched Bytes: June 2013

And as always, here is the compilation of June reading. Not many given the exams and move to Zurich for internship!

How Pixar made Monsters University, its latest technological marvel

Well, for a animation fan like me… its always fascinating to read more about what goes behind the scenes and this article is just the kind of dose I like to have, full of details both from technical and creative point of views. #ILovePixarMovies

Practical examples for marrying theme and meaning
This reprint of an old article is still every bit valid. Taking examples from real life means its not simply a message / advice in the darkness but ensures concrete understanding.

Google Zombie: The Glass Wearers of Tomorrow

The best metaphor for Google Glass? Not jerks or junkies, but the living dead.
I'm not a big fan of this upcoming tech from Google and to a large extent I'm really turned off with the prospect of always connected/always-online mode we now constantly live in. Despite being a computer science student, I still am very happy not to have a data-connection on my mobile and enjoy that disconnected moment of peace to catch up some reading or just to look around the world while I travel.
And the article says everything else that I missed out in the paragraph above ;)

The Guide to Implementing 2d Platformers
A very detailed and informative article on the old and friendly 2-d platformers we all loved and played at some point in time.

The tendencies of the mobile art on the example of top-grossing games
Read this to see how the interface, artwork and gameplay fares in taking the mobile games to top grossers. Also, see for the important differences when designing your game for the asian markets.

Bogost: Let's make 'earnest' games, not 'serious games'
With all the hoopla around making serious games, Bogost takes a dig at the reality and the whole propaganda about them. And seriously, what is required is an "earnest" effort for 'ernest' games.
"The dirty truth about most of these serious games, the one that nobody wants to talk about in public, is they're not really that concerned about being games," Bogost adds. "This is mostly because games are hip, they make appealing peaks in your grant application, they offer new terrain, undiscovered country, they give us new reasons to pursue existing programs in order to keep them running."

Making games as a hobby with Locomalito
An interview with Locomalito about his work and creating arcade like free-to-play games as a hobby. Nice read!

Sunday, June 23, 2013

Crunched Bytes: May 2013

Alright, so here is a compilation of interesting articles read for the month of May

Starting this month's reading is with the big question - "Why are you making games?" followed by a look at the problem affecting the Game Reviews and much more!

Why Are You Making Games?
A very thought provoking article forcing the reader (read game developers) to re-evaluate why they are actually making games?? What's the motivation?

“Surely there is some reason you are going through all the trouble of trying to design great games.” –Jesse Schell, The Art of Game Design

So have you figured out your reason yet?? May be this article is just meant for you!

The Problem with Game Reviews (And Why Games Are Like Restaurants)
Author Ben Serviss indicates how we have simply copied the rating systems from a linear comparable domain of movies and mapped it to use for rating the interactive and immersive experience of games, and why such a system is incomplete and broken.

Cognitive Overhead, Or Why Your Product Isn’t As Simple As You Think
Does any of these sounds familiar -
  • Make your product simpler, 
  • Minimize the number of steps, 
  • minimize time required, 
  • minimize the features, etc. etc.
David Lieb, co-founder and CEO of Bump has something different to say... Making simple is all about reducing the cognitive overhead and this may even mean adding an additional step i.e. make users do more rather less!!!

Google Introduces Portable Native Client, Makes It Easier For Developers To Add C And C++ Code To Their Web Apps
After Mozilla's asm.js now we have PNaCl… its soon going to be c/c++ on web as well… way to go!

Ten classic games you can actually beat, but probably won’t
A fun read on games that you weren't supposed to win and what happens if you win

Anatomy of a hack: How crackers ransack passwords like “qeadzcwrsfxv1331”
With hackers decoding upto 90% of leaked passwords (in the form of md5 hashes) within
a day… are your passwords really secure?

Why you should move that button 3px to the left
How to bring together design and engineering. As an engineer, its a nice read into a designer's mind.

Designing Game Logos
A quick writeup based on the experience of designing their game logo. Few good tips to keep in mind though

Euler vs Verlet
A small primer to help you decide how to integrate the laws of motion in your game/simulation. If you have ever wondered how to model the movement (velocity, distance, etc.) of your scene objects and wrote a code to model the Laws of motion, this article will help you name the method you used or better, provide you with a better alternative.

Friday, May 17, 2013

Crunched Bytes: April 2013

I love reading, novels, stories, articles...
There are many articles I read, few I find interesting and retweet, and this gave an inspiration to make a monthly compilation of these article with a short summary. As my professor from "How People Learn" would say, repetition is one strategy for effective learning and summarizing your learning is another... so this is a mix of both :).

This new monthly post series will be the compilation of these interesting articles. Most of them will be technology oriented but some can be general blogs or viewpoints as well!

So here goes my first collection drawn from April 2013 readings. Enjoy! 
(*Ordering of articles is not arbitrary)

How Pixar Used Moore’s Law to Predict the Future
A very very interesting article from Alvy Ray Smith, co-Founder Pixar, reflecting on why Moore's Law exists and how it brought about the creation of Pixar and all those lovely movies along with it!!! And importantly the belief that "the law" still has life to live and imagine what all it can do…
"Moore’s Law reflects the top rate at which humans can innovate. If we could proceed faster, we would."
"That’s the reason for expressing Moore’s Law in orders of magnitude rather than factors of 10. The latter form is merely arithmetic, but the former implies an intellectual challenge. We use “order of magnitude” to imply a change so great that it requires new thought processes, new conceptualizations: It’s not simply more, it’s different."

Pixar's Senior Scientist explains how math makes the movies and games we love
A look into what goes behind those beautiful curly hairs or those cheering crowd in the car race - the mathematics and the chief person behind it.

There are no smartphones
An article that puts into words, something that has been there in the back of my mind for some time now, especially after moving to Switzerland. I've been hardly using my mobile (smart)phone. Come to think of it, even back in India, the most used aspect of that device was to read novels (yes on a small 3 inch screen) while I travelled or to play games... and lately, I've been thinking to get a regular old-style Nokia (I still love those sturdy keypad devices) and rather buy a tablet for these purposes, a view recently pushed further by another professor of mine who is doing the same :)

The technique LucasArts used to design its classic adventure games
Using puzzle dependency chart for narrative-driven games.
Provide alternate paths for players to avoid getting stuck. Work it backwards from end to start (a matter of choice but does look easier to do). Makes it simpler to identify too easy and too hard, and align story with gameplay.
All this and more...

A Plain English Guide to JavaScript Prototypes
Confused about __proto__ and prototype in JavaScript? This article explains it well along with some background on inheritance and object model in JavaScript

Design Tips When Porting Mobile to Console
Planning to port your android games from mobile to upcoming OUYA console, here are some tips that are worth keeping in mind while porting!

INFOGRAPHIC: How Interviewers Know When to Hire You in 90 Seconds
Some quantification of the aspects you might generally know about, or do you??
E.g. 33% of bosses know within the first 90 seconds of an interview whether they will hire someone, The number one most common mistake at a job interview is: failing to ask for the job and much more

I follow the tech industry news, thanks to Twitter @Techcrunch, @GamesBeat, @IGN and many more, plus a few email subscriptions.

Wednesday, April 3, 2013

Box2D & Javascript: Part 3

In part 2: I covered a basic setup for box2d based simulations and in this long promised final installment  of the tutorial series, I will cover the integration with KineticJS library. The most important aspect of this part is how to use a framework like KineticJS and use their features for image rendering and manipulation in physics based simulations without having to write your own physics engine for it.

Press 'd' to toggle debugDraw mode
Box2d Demo - by Aniruddha Loya

Now let's break up the code and see how it works