Projects Panel

Projects:

Tuesday 3 October 2017

Github Pages, Part One - Simple Setup (with pictures!)

The blog formerly known as TheOddDolphin stumbles into IdeaTown. Weak, and hungry, it staggers into the town square, looking for something that will sate its unending thirst. "Content," it mumbles under its breath. "Need... content." All of a sudden, it spies the perfect target. Easy to demonstrate, simple to write about, extensive support framework so that the blog itself doesn't need to deal with reader's queries. Tongue lolling, the now actively salivating blog runs off behind the topic of Github Pages, knives out and ready to make a sacrifice to its strange and oppressive god.
In this new series of posts, I intend to run through the development and deployment of a static website on Github Pages, mostly to remove some of the taboos surrounding static website development, which I believe can be as good as (and sometimes more suitable than) dynamic websites for web pages in certain cases.

I also want to make fellow college students aware that something like Github Pages even exists. Too long have I watched them pay incredible amounts of money for hosting. I want them to know that with Github Pages, they can finally make a page that's as stripped down, simplified, and easy to load as their wallets.

EDIT: I think it would also be suitable to note here that Bitbucket, another popular repository hosting site, also offers the same hosting service. The major difference is that Bitbucket repos are private, and allow only up to 10 contributors in their free plan. I have used Github Pages here, but feel free to take a look at this page for instructions on how to set up a Bitbucket website.

The purpose of this introductory post is to run you through the setting up and initialisation of a PERSONAL Github Pages repository, something which the official Github Pages page already does more than admirably, so if you're looking for a good tutorial, follow that instead. If, for some reason, you find that tutorial too hard to follow, then this guide is fine, I guess. I'm mostly just setting up the scene for other stuff later, so if you're interested in the rest of this series of posts, then I suggest you follow along with this as well.

Setting up a Repository

The first thing you're supposed to do on your path towards greatness is set up a Github repository. Go to Github, create an account, and then create a repository. The name of the repository must, for some reason, be <your-username>.github.io, and this will also end up[ becoming the url for your Github Page website, so if you picked a silly username when creating your account, feel free to kick yourself now.

Below are the options I ended up with - nothing really new here. Note that I chose not to initialise the repository with a README.md, which isn't really standard practice. If this is your first experience with Git, I suggest you do so.


Get Git on the command line

This is really more of an intermediary step than anything, but it is critical that you actually have Git in order to work with Github Pages - it's the version control software through which all updates to your potential website will be maintained.

Ubuntu users, as always, have the handy apt-get command:
sudo apt-get install git
Whereas Windows users will have to get the immensely useful Git Bash.

If you're a Mac user, you are probably rich enough to pay for hosting will have to take a look at an external resource to find out how to install Git, like this one.

Clone the repository you just created

If you carried out the previous step correctly, then this one is fairly easy. Navigate to a preferred storage location on your hard disk, and clone the repository onto your hard disk. If you installed git properly, this is the command you must put into your bash terminal:
git clone https://github.com/<your-username>/<your-username>.github.io.git
Here's what I had to input, for example:
git clone https://github.com/clennam/clennam.github.io.git

Create a test file 

Now you've cloned the repo into your hard drive. You shouldn't have much in there already, seeing as you just cloned an empty repo.

Create a simple html file, so that we can push it and see if our brand new site works as advertised. You could open a text editor, create an html file, and save it into the repository folder, but you can simplify all this into one step on Ubuntu and Windows by doing this right from the command line:
echo message > filename.html
Or, in my case:
echo This is a test message > index.html

Commit and push the files

Our setup is all done, it is now time to push the files to the local git repository, and from there, send them to the online repository that we created.

This is really simple in practice, although there is quite a bit of complex theory behind it. The commands you need to run, in order, are:
git add .
git commit -m "Initial commit"
git push -u origin master
 

 yey.jpg (ironically, the picture attached is a .png)

You're all done! Check if your new site is set up properly by going to the URL <your-username>.github.io. Here's what I got:
Take it as a keepsake of our beautiful time together.
Watch this blog for the next post in this series, in which I continue exploring the possibilities of this platform.

Monday 2 October 2017

Resurrection, or: Regarding my Blog's Change of Name

In the forgotten city of blogspot.com, an ancient mystery stirs. An odd, dolphin-like monstrosity rises above the murky deep, and shakes itself off like a grotesque, wet dog. A disgusting hybrid monster, long dormant, finally awakened by the cruel whims of some capricious creator. It moans in pain, the pain of existence as much as the pain of this chafing rubber dolphin head. The monster is just some guy wearing a dolphin head, of a kind that probably briefly became popular after the death of Sharknado as a meme and before the birth of Horse Head Mask. He discards the shark pun and sets off into the sunset to wreak havoc upon the world once more, pensively stroking a book of Dickensian literature. "Little Dorrit? Nah, too mainstream," opines the former monster. "Oh, what about-"
My blog's changing it's name from The Odd Dolphin to Clennam's Compendium.

Why, you ask? Well, I've been rebranding everything else I have from TheOddDolphin to Clennam, because Clennam's Compendium just sounds more pretentiously appropriate than a shark pun. The Odd Dolphin, cuz it's a shark, geddit? Ugh. >:(

A lot's happened since my last post. I picked up an internship job at Virtusa! Not quite gamedev royalty, but I will undoubtedly learn valuable skills in the year I'll be there.

As usual, I only do a daily update when I have a slew of posts to put up (defeating the daily part of the label, but introducing a great mechanism of suspense, because I am nothing if not an artful writer). You, dear reader, should see the first of these posts soon.

Thursday 18 May 2017

Google I/O 17 SL, by Mobitel - Google IO Keynote Speech

We kick off the keynote to a quick animation, that outlines all of Google's Projects.

Without further ado, out comes Sundar Pichai. A couple of minutes of mandatorily plugging Google later, he gets into the real body of the Event.

To start off with, he casually announces a new service to be added to Google Mail. Smart Reply will be able to learn from you, and quickly allow you to reply to emails with a message-based experience.

The next big announcement is Google Lens, which is basically an integration of Google's myriad services with vision as an input device.

Coming on next, we have a kind of TPU, which is basically an upgrade to proceessing units. Offering significant upgrades to power and speed for the specific purpose of making computers more amenable to AI.

An announcement for developers - The Google Assistant SDK will be out for developers to integrate into their own solutions.

With Actions on Google now on mobile phones. we could be looking at a whole overhaul of how phones fundamentally work. It may not be a replacement of the app paradigm just yet, but it is coming pretty close.

Next up, updates to Photos. Smart sharing's now a feature. Google will now find pictures in your device. and suggest you share them with the people in them. Sounds simple; isn't.

As expected, Google Lens will be integrated with Google Photos, integrating computer vision with the capability to analyse images.

As for updates to Youtube. I'm not too impressed technically. The idea of "Superchats" is Youtube assigning a process and a name to an already existing process, which, while not too revolutionary, is definitely a great thing to see.

Moving on to the next section - Android. Picture-in-Picture, like Superchats before it, isn't really anything new, BUT is in fact something that many a user has definitely wished for before.

The upgrades to notification dots? Smart Selection? Vitals? More of the same. Streamlining of an already existing process to improve an existing user experience is something that can never go unappreciated.

A couple of big announcements for Android Devs, Kotlin is now an official language compatible with Android. With improvements to their profiling tools, and the Dashboard, where an Android app can be analysed and top issues can be highlighted. Also coming is the beta release of Android O, although it's only out for an extremely limited set of devices.

As a person that struggled with an Samsung S Duos for two years, Android Go seems like a great feature. It's nice to know persons with low-end phones will not be left behind.

Finally, there is Gboard, which integrates translation services and phonetic typing into a single keyboard, something which I, as a multilingual person, personally like very much. No more struggling with different keyboard layouts.

"Great momentum with apps, more Daydream-ready phones, and a standalone headset coming leater this year." Quick summary about VR from the presenter himself.

Moving on to AR, I find that the most interesting idea here is VPS (Visual Positioning System). It could be incredibly helpful to the visually impaired, and even just to people looking to navigate an area.

As an undergraduate looking to enter the job market, I find the idea of being able to find open job postings right through Google Search to be really interesting.

Looking at the keynote, it's clear that the future from scifi movies isn't so far off.

Wednesday 17 May 2017

Google I/O 17 SL, by Mobitel - I Dream of 5G

The next major item on the list is a presentation on 5G, by Gobinath S. Govindasamy.

A criticism I've had of all the speakers so far is that they are far too technical for a layman to comprehend. Mr Govindasamy, the presenter of this paritcular item, however, seems to at least be aware that he is being overly technical, and seems to be striving to keep his presentation on common terms.

He states that 5G may not be as far off as you think. It could even be as close as 2018. The new 5G standard comes with vastly increased speed and bandwidth, to the point that it could even be used in an application that requires split-second timing, like in cars.

Google I/O 17 SL, by Mobitel - Drones - Its Revolution and Evolution

I'm back with the second major item on Mobitel's agenda. A presentation called "Drones - its revolution and evolution", delivered by Manju Gunawardene.

The presentation is, predictably, on the role of Drones in the future of Sri Lanka. Manju Gunawardene is a little technical -  and anyone that isn't conversant with the field may start to lose interest, as evidenced by looking around at the audience.

However, it sounds like the use of drones has really helped the government analyse the dump at Meethotamulla, and even identify difficulties in relocating the garbage and find even as much as an underground pond.

He goes on to illustrate the use of drones in precision agriculture, and other similar application fields. Their real strength is in data collection so that actual variances and differences can be detected by actual experts, then acted upon by the concerned parties.

Google I/O 17 SL, by Mobitel - InspireSL

Hi everyone. I'll be blogging about Mobitel's I/O '17 SL event over on FacebookTwitter, and here. Thanks to Mobitel for hosting the event, and to Readme for the great seats!

InspireSL competition.
The first thing on Mobitel's agenda - the Inspire SL Competition's final round. Some excellent talent on display here. May the best team win.

Teams and products

  • I seem to have missed the first team to go up, Plexa by Datacon.
  • The second product and team, Lawyered by Hustlers, is a product that aims to make the law more accessible to the common man by deciphering the legalspeak usually associated with legal documents.
  • The third product and team, Bazura by Verzions, is a product that all IT undergraduates have probably toyed with at one point or another - how to streamline the process of trash collection. This project, has a unique twist in that it allows people to bid on other people's trash, thereby streamlining the recycling process.
  • The fourth product/team, SafeAgri by AgroInventors, a one-man team which makes their presentation in Sinhalese. Their product, SafeAgri, aims to solve the problem of the overuse of pesticides in commercial agricultural application via the use of a delightfully '60s sci-fi looking device, that apparently is capable of keeping away pests without the grievous harm to the environment. An impressive project to be certain.
Of the teams I've seen so far, technically, SafeAgri seems to be the most impressive. I do not know, however, if they will be able to win, seeing as they are working with the handicap of having presented in Sinhalese. I do love a good underdog story.
  • The last team to come up, have a great, simple concept, IJX - Angel. A drone capable of flying to drowning swimmers and quickly giving them lifesaving gear.
EDIT: The winner will be announced shortly.
EDIT: The winner of InspireSL is SafeAgri! Congratulations!

Friday 21 April 2017

Everything of Note From GDC 2017

Author's Note: This is the text of an article that I originally wrote to be published on ReadMe. Unfortunately, I did not manage to get it published in time, and due to the timely nature of the subject, it is now too late to do so. In case you, dear reader are interested, here you go:

Everything of Note from GDC 2017
The Game Developers Conference took place this year from the 27th of February to the 3rd of March at the Moscone Center in San Francisco. The conference brought out many innovations, especially in the fields of graphics and AR/VR, with speakers from giants in their respective fields – Facebook, Oculus, Google Play, AMD and NVIDIA, to list a few, speaking on several aspects of game development – game development, game promotion, game design, audience engagement and growth, and so on. Several indie developers also announced exciting new projects. Furthermore, this was the first GDC that was open for the public to attend, instead of having to watch from home, so there were much larger crowds than usual.

Here is a list of the most interesting announcements from the Conference.

The State of the Game Industry
Every year, the organisers of the Game Developers Conference poll attendees in an attempt to identify emerging trends in the field, which they subsequently release in a document titled “The State of Game Industry”. The key points from this year include:

  • ·         Diversity

This year’s GDC showed a slight improvement in representation, with 20% of attendees polled identifying as women, 2% up from last year.
The geographical locations of attendees remained mostly the same, however, with 67% percent of respondents from North America, 3% from South America, and 22% from Europe. Pan-Asia accounted for 8% of attendees, and 0.3% percent were from Africa.

  • ·         Business-wise

Most attendees felt that VR/AR was the future of gaming, with mobile AR as a specific focus going forward, with as many as 1 in 10 game makers working on a platform-exclusive VR/AR title, and 75% of attendees saying that they believed VR/AR had long-term sustainability.
The ESports industry is also on the rise in terms of investor confidence, with 90% of attendees professing confidence in its sustainability.
PC and mobile devices remain the mainstay of most developers, however.

  • ·         Platforms and Hardware

On the topic of VR consoles, the HTC Vive was gaining popularity over the Oculus Rift. Don’t worry, though – the stats read 24% for the Vive, and 23% for the Rift, with the PSVR coming a distant third at 13%.
In the mobile arena, Android finally surpassed IoS in terms of developer interest (54% against 51%).
Interest in mid-cycle console re-releases, like the PS4 Pro and Xbox Scorpio, however, was mediocre at best, with many developers feeling that it would only further divide an already fragmented market.

Innovations in VR/AR
  • ·         On the first day of the conference, a slew of new games was announced for VR devices, specifically for the Rift. These new games ranged from traditional first-person experiences to a wide variety of genres – strategy, tactical, turn-based, dungeon crawler, story-driven, procedurally generated, the list goes on.
  • ·         Microsoft announced plans to bring “mixed reality” headsets to the Xbox and Microsoft Scorpio by 2018.
  • ·         Oculus also made a surprise announcement – they would now sell the Oculus Rift and Touch in a bundle that comes to around $600, a price drop of about $200. On their own, each piece of hardware is about $100 cheaper, coming to $499 for the Rift headset and $99 for the Touch controllers. Hats off to Oculus for their efforts to make VR software affordable to a wider audience.
  • ·         AMD have announced that they will be working with Valve to support Valve’s Asynchronous Reprojection on their graphics cards, a technology meant to enhance the VR experience and eliminate judder – a partnership that is a big win for AMD, who have been losing the graphics market share to NVIDIA.
  • ·         Epic Games have announced their Unreal VR Editor, a ground-breaking extension to the Unreal Engine that allows developers to be in the environment that they are developing, helping to provide the right sense of scale to make realistic, believable environments and make it easier to navigate the environment while developing.


The GDC Awards
On the 1st of March, the Game Developers Choice Awards and Independent Games Festival Awards took place at GDC. Many much-loved indie games and many bigger, AAA-standard titles competed for the coveted awards. A quick recap of the more popular/controversial picks from the GDCA:

GDCA
  • ·         The Game of the Year award went, unsurprisingly, to Blizzard’s new title Overwatch. They single beat out other nominees like Naughty Dog’s Uncharted 4, and Bethesda/Arkane’s Dishonored 2.
  • ·         Niantic’s Pokemon Go won the Best Mobile/Handheld Game award. The previously almost unknown studio beat out Supercell’s Clash Royale and companion Pokemon title Sun/Moon, by Game Freak/The Pokemon Company.
  • ·         One of the controversial picks, No Man’s Sky won the Innovation Award, the troubled game from developer Hello Games.


Saturday 8 April 2017

The Inquest - Cursed Sword

Post #3 of my project open-sourcing and self-publishing initiative is a project I've been working on for a long time, off and on.




The Inquest - Cursed Sword (or, as I have come to affectionately refer to it, TICS) is my humble attempt to flex my puny web technology muscles and use my genuine love for making twines to make a twine that isn’t just an interactive story or a sad little tale that makes you feel like you just listened to a Smiths record (both of which are great things when done properly, I might add).

I’m planning to bring an interactive, high-fantasy world to life in my twine.

TICS is currently under development, and I intend for this post to act as a living diary of updates, so you can, if you are interested, track its progress.

This is where I’ll keep track of all the features I’m trying to implement(🕐), have succeeded in implementing(✅), and have failed in implementing(❌)


FEATURES, in alphabetical order

  • At least five cities/holdings in world that are fully accessible 🕐
  • Combat system (will be Pokémon-like) ✅ - combat demo
  • Commerce system 🕐
  • Date-time systems 🕐
  • Inhabitants that you can interact with and that have their own schedules. 🕐
  • Joinable in-game factions 🕐
  • Level-up system 🕐
  • Multiple endings 🕐
  • Overarching storyline 🕐
  • Randomised combat encounters, with multiple enemies each having different strategies and movesets ✅ combat demo
  • Reputation system (will change NPC and faction member reactions to you) 🕐
  • Sidequests 🕐
  • Wearable/consumable items 🕐
OPTIONAL, ADVANCED FEATURES (also in alphabetical order)
  • Ability to fight land wars ( This will probably be an extension of the combat system, with added repercussions for the world’s power balance. It isn’t very likely, but, well, let’s see where the story takes us)! 🕐
TO BE CONTINUED (will keep updating as I think of features). If you’ve got a prospective feature you’d like to see included in the project, please leave it in the comments and I’ll get back to you on it! 🙂

You can find the project in early prototype form on itch.io, and the source code on Github.

Friday 7 April 2017

Twine, why can't I quit you?

Twine, why can't I quit you?
A short story in which I anthropomorphise my experiences writing interactive fiction for pleasure, with specific focus on Twine

Twine.
A tool that I have run into, fallen in love with, subsequently learned to hate, come back to after a couple of months apart, and learned to hate again.

Surprisingly enough, the above paragraph isn't a paragraph from an amateur writer's first attempt at a dating sim using Ren'Py. Twine, and the aforementioned Ren'Py, are both tools designed to write interactive fiction, shortened to IntFics in the community, which is comprised of people that fit in between the line that divides writers that want to add a layer of interactivity to their work, and programmers that want to tell amazing stories with little to no effort. But this one post, this one's all about you and me, Twine. Don't say I never write you love prose.

Just like a real relationship, when I met Twine, we just clicked. Everything was effortless, easy, smooth. We bonded over paragraphs as I admired the simplicity of her hooks, and realised I loved her when she showed me how easy it was to move from one passage to [[another]]. She was simple and straightforward and perfect. I knew it was a dream that could not last but I cling to the memories of our first days of innocence. They are one of my most cherished memories.

But then, as the weeks turned into months, the cracks in our effortless relationship begin to show. She never communicates efficiently. Getting audio out of her is an incredibly daunting and painful process. She's got a jealous streak, and refused to hang out with my best pal JQuery. My creativity was outrunning her ability to cope and it was stressing us both out.

It was then that I started to cheat. I'm not proud of it, but I refuse to make any excuses. I dabbled in other areas. Had a brief but passionate affair with Ren'Py, then pretended to be something that I wasn't in order to flirt with Inform 7. I left my love at home to find comfort in the arms of others, and this was the last straw. We took a break, and Twine left me for the first time. Dejectedly, I deleted the scraps of projects we had worked on together, the last memories of our time together, and tried to pick myself up.

Months down the line, I found Twine again. I was at the time at a loose end - a wreck. I had broken it off with Inform after we just failed to click on any level, and Ren'Py left me by the wayside when she discovered that I just offered too little for her to take me seriously (apparently she only dates serious creatives, that are, like, also artists.) I had also dabbled in polyamory - HTML, Javascript and PHP. All of them were about a decade older than me, but don't be fooled - they're still perky enough to keep you up all night. Despite JQuery's warning, I gave them a try. Six months into our relationship, they cut me out, but we decided to stay friends. We still share awkward smiles when we meet around town.

When I met Twine for the second time, she'd grown a few versions, changed her looks a little. We met up for coffee, and talked about what was going on in our lives. We laughed about my messups in love. She opened up again, just as easygoing and friendly as before, and in a matter of minutes I was hooked again. We ended up going back to her apartment that very evening and doing something we has never done before: we had some hot, steaming CSS, and that was when I knew she was the one for me, that however difficult she became, she was worth it.

Over the next few weeks, we had a casual relationship, meeting almost every evening. I came to learn every part of her body, from <header> to <footer> to <tw-passage>. We became comfortable with each other, but not so comfortable that our relationship became boring. We kept each other on our toes; there was always a spark keeping things interesting.

Then things got serious again. We moved in together, started up a project. I used all my knowledge from a year of screwups to keep us together, and this time, we did.

_holdline

_holdline is a passion project of mine, it's still under development - the start screen UI and minor gameplay features are the only things left to be implemented, however.



But what is _holdline, TOD?
_holdline is a less forgiving reworking of the classic Breakout game. It is also influenced by classics Pong and Space Invaders.

_holdline frees up the paddle from its restricted single plane-of-movement, and allows you to move the paddle over the entire playing field. It also allows greater choice in the direction in which you fire the ball when you are in striking range.

In exchange for these greater powers, I have increased the difficulty of the objectives, with enemies capable of damaging you and moving, as opposed to the static blocks of the old Breakout.

Why?
As you may know, this is part of my initiative to build up a decent online body of work in order to better appeal to potential employers. It's a bit of a "notice me, senpai", and I hope to God that that last sentence doesn't cost me a job.

Where can I get it?
Well, I'm currently hosting it on my fancy itch.io page, as a trial edition. If you're too lazy to jump pages and give a young indie game dev some clicks, I've embedded the whole thing at the bottom of the page so you can just play it right now, please.

EDIT: As of 14:38, 07/04/17 GMT, the source code of the _holdline prototype is available on Github. Capx files are available for working in Construct 2, and the full source code is also available for raw editing.

Controls
The only controls you'll need are your mouse and your arrow keys. Wait until the ball is above the paddle, aim, and click to fire. Survive for as long as you can and let me know how you scored!


Thursday 6 April 2017

KickBall

A few months ago I completed this project in a few weeks for a course assignment. Say hello to KickBall 1.0! Well, I don't really plan to develop it any further, so KickBall 1.0 it'll have to stay.

What is KickBall?
It's a really basic football penalty sim, created in a few weeks using freeglut.
If you look close enough, you can even see my university ID!
There are a couple of small issues but on the whole, I feel, it's a pretty great little game.

Why tell you?
Well, if you're on this page, you must be here to learn about my projects, and I'm currently open-sourcing all of my tiny little private projects and coursework in order to reach a wider audience and hopefully have a decent body of work to show off.

Controls
You can use the arrow keys to align the movement of the ball up and down. You have a limited number of tries to clear the whole wall of targets. You can press F to get a "follow the ball" view, where the camera follows just above the ball as it travels.

Where to get it
First of all - wow, thank you! I didn't really expect anyone to read this far in. Secondly, as of right now, the project can be found on Github in forms that come source-code included or source-code-less and playable, or downloaded from itch.io in ready-to-play form or directly downloaded (from Github) in playable form.

Your friendly neighbourhood gamedev, TOD

Friday 17 March 2017

AI Quickstart - Getting the SciPy Stack for machine learning and AI

Hi guys, here's a quick guide to getting the necessary packages and dependencies up and running on your computers in order to begin working with the Iris Dataset in Python. Generally, what you'll need is the SciPy Stack, and a few other packages if you plan to follow the IIT AI Study group sessions.

Keep in mind I wrote this especially for members of the IIT AI Study Group, so not all the information on this page may apply to a wider audience, or even make sense if you haven't attended the session.

Your options, in order of complexity
  • Installing Python, then installing pip, then finally installing the necessary packages with pip.

    You can't best the classics. If this is your first try, I fully recommend trying this out just to make sure it doesn't work for you. Linux and Mac users should have no problems, Windows users may run into a multitude of problems, depending on their Python version and system architecture, and graphics card.

    What you'll need to do is install Python, download either version 2.7 or 3.6, then update pip to the latest version by opening the command line and typing:
    python -m pip install --upgrade pip

    then use pip install to install all the needed packages:
    pip install --user numpy scipy sklearn matplotlib pandas
  • Installing one of the recommended distributions (Windows)

    Try out one of the recommended distributions suggested by the SciPy development team. This option is recommended for Windows users, since most of the distributions come with their own executable installers. Unfortunately, most of the distributions are very heavy in terms of download size, ranging from 400MB to around 700MB. If you feel this is not for you, move on to the next step.

  • Downloading Miniconda and installing all the necessary packages using the command line

    One of the recommended distributions above is the Anaconda distribution, which clocks in at about 400MB to download, and comes with a trial period (meh) and a freemium business model (ew). It is based on Conda, which is an open-source, cross-platform, language-agnostic binary package manager. It's basically a piece of software that handles all your builds for you in contained spaces called environments.

    If you are a Windows user with a limited internet connection, instead of the Anaconda distro, you can get the smaller, competely free Miniconda, which offers all of the same functionality through the command line, and clocks in at around 50MB. Install it, then you can install all the necessary packages using the command conda install <package name> (which works similarly to pip install, from above), using the command line, so you can feel like a hacker, you Windows plebeian.

    Note - when using conda, the sklearn library is referred to as scikit-learn. Using conda install sklearn will not yield a result. The command is conda install scikit-learn.
  •  Downloading the numpy+mkl wheel and then using pip.

    And here we get to the crux of the issue - why all the hate on Windows? Well, most of the problems Windows has with installing the SciPy stack has to do with the SciPy library itself, which is part of the SciPy stack, obviously. The SciPy lib depends on the numpy+mkl library, which isn't available through pip.

    If you've decided that you're too pro for all the above methods, then the only options left to you is obtaining the wheel (.whl) files for your particular Python version and system architecture, which is basically a giant offline installer that downloads the lib onto your local system so you can run it offline. They can be found at Unofficial Windows Binaries for Python Extension Packages - simply pick the appropriate .whl file and download it. You'll need both the numpy+mkl wheel and the SciPy wheel and then you'll need to use pip install to perform a offline install from local source.
Finally, don't forget to get the Iris Dataset (iris.data) from http://archive.ics.uci.edu/ml/machine-learning-databases/iris/

If anyone has any problems, please leave a message on the IIT AISG WhatsApp Group, and I'll try to get back to you as soon as possible.

Saturday 4 February 2017

A look at Unity and UE4 from the perspective of a complete gamedev noob.

As promised, here's the gamedev note on Unity and UE4 :)

Tea or coffee?
Cats or dogs?
Black or white?
Unity or Unreal Engine 4?

These are the questions that have plagued man since the dawn of time, with the possible exception of maybe the last one. And the answer sort of lies in personal preference. So, dear reader, how do you like your caffeinated water/animal companions/arbitrary colours/free game Engines? Here's my short take on it.

I've got about a year of experience in Unity, so I'd like to think that I'm fairly competent in it, however, I have to admit that I'm far from it. Over the past week, I installed Unreal Engine 4, for the heck of it, just to take a look, and was completely blown away. One of the major advantages that UE4 has over its competitor is the sheer amount of out-of-the-box support that it offers completely new users. I was able to set up a first person controller in minutes, via a drag and drop operation. To do the same thing in Unity, I spent twenty minutes finding a decent tutorial, and ended up following a sixty-minute tutorial on how to fire lasers with a LineRenderer instead in order to set up a halfway-decent one that didn't use deprecated syntax. Another big plus was the ability to run tutorials in-editor (a major godsend - no more concentration-breaking Alt-Tabbing between the Editor and a Youtube window every few seconds. However, a scrollbar and some resizability options should be added to the tutorial window so it doesn't take up more than half of the 3D Viewport when you're following it.

Of course, this isn't to say that there aren't any problems with UE4. I do see some potential difficulties in changing the existing resources so that they'll work the way you want them to, if your intended purpose is outside the very narrow limits set by the blueprints you're using, given that I've been doing tutorials for the better part of a week, and I'm yet to see a single line of code. In Unity, I was set up and coding within two hours of starting the very first tutorial.

All this is not to say that either engine is inferior. I'm simply stating the facts as I see them, from the perspective of a complete newbie. I'm sure that, to an experienced developer, the choice between Unity and UE4 is pretty arbitrary, but to me, a guy with barely two and a half games under his belt, UE4 is the clear winner when it comes to support for new users. Don't crucify me for expressing an opinion.

Given the simplicity afforded by UE4, I'm even considering making a simple FPS demo myself, maybe with a friend to make some simple models for me. Expect to see some work on props and such soon!

Friday 3 February 2017

Feb 03, 2017: Hopes.


It's the end of another long day.

GSOC 2017

We had a session on GSOC 2017 today at uni. I had been interested in GSOC for a while, so I've resolved to at least attempt to participate this year. I hope I find a good project! Fingers crossed :)

MIC 2017

Also on the menu is the Microsoft Imagine Cup, which I and a few friends plan to form a team and make a submission to. Unfortunately, there seems to be a sum total of zero data on the Sri Lankan National Finals - a cursory glance at Microsoft Imagine's Sri Lanka landing page gives us the message "Your country has not yet announced plans for Imagine Cup 2017" or something similar. Once more, fingers crossed that sorts itself out in time.

Empire: Warlords! (It's a working title) ;)

This ambitious little project finally has a proper artist. Really, he's got a graphics tablet and everything, he must be a pro. Well, he's actually another friend of mine from uni. I hope he'll live up to expectations.

The Inquest: Cursed Sword

TICS, as I have come to refer to it, moves along, slow and steady. I am working on a demo that will demonstrate the core functions and systems of my planned final twine.

Labyrinth

This one you may not have heard of. It's a rushed little demo a friend and I made on Unity for Android in 12 hours for a local game jam. It was edutainment-based, and we've had a lot of interest in a stable release on the Android platform.

Gamedev notes

I've been messing around with Unreal Engine 4, and can I just say, WOW. Will writeup a short gamedev note in a separate post, watch out for it.

EDIT: Formatting. HTML is a harsh mistress, but they tell me I'll eventually come to love her.
EDIT 2: Fixed missing hyperlink to Microsoft Imagine.

Thursday 2 February 2017

Hello World

Cliché title, check.

Hello everyone, this is my first post on my new blog. Planning to keep updates on all my projects so that any interested parties can read up :)