Shineright Studio starts...again and again!

Hello world, again! Well, I’ve been moving my blog around different platforms quite a bit this year. Within only 8 months I’ve switched from Google’s Blogger to a self hosted Ghost blog on an AWS server, and now, I moved all my articles on my AWS server to this new blog, using Hugo static page generator, hosted on GitHub. The reason why I switched to Hugo on GitHub is quite simple.
Read more

Customized 2D Following Camera in Godot

Two weeks ago, I wrote an article about some camera moving schemes used in Metal Slug 3. In this article, I will show you how to actually implement such a camera. I will be using the open source Godot Engine with GDScript since I believe any programmer with could understand GDScript quite easily, so let’s get started. First, lets define some variables we’ll use later. 12345678910 # Scroll the screen (aka.
Read more

Camera Moving Scene Scrolling in Metal Slug 3

I’ve started to work on my first 2D side scrolling platformer recently. However, before diving into designing my own game, I did some quick research on various topics about 2D platformers. One of them is camera controlling (aka. scene scrolling). I find some interesting camera controlling technique used in the Metal Slug series, so I would like to share my observations and analysis of how and when to apply those camera controlling schemes.
Read more

My Experience in Google Summer of Code 2017

I’ve already posted an article about Google Summer of Code 2017. However, the post is mainly about the project itself. For this article, I’d like to share my experience and thoughts for the whole GSoC period. Google Summer of Code 2017 was an extremely exciting and rewarding experience for me. I was very lucky to be accepted by Systers (Anita Borg Institute) for working on the PowerUp-iOS project. Before heading straight into the actual GSoC period, I would like to write briefly about why and how I applied for GSoC.
Read more

GSoC 2017 Conclusion

(This is an overview and conclusion for my summer internship (Google Summer of Code 2017) in Systers on the PowerUp-iOS project. The original article is posted on systers’ Blogger. Here is the Link.) Overview PowerUp is an educational mobile game app aiming at providing adolescent girls with reproductive health knowledge, empowering them with better self esteem, and teaching them conflict resolution skills in social life. It is a choose-your-own-adventure game which the players have to navigate an avatar to engage in conversations of different scenarios.
Read more

Animate Nodes Using SKAction in iOS Sprite Kit

Apple’s Sprite Kit is a really well-designed and convenient framework for iOS game development. In this article, I will briefly introduce Sprite Kit Action (SKAction in short), which is the bread and butter for animating nodes in Sprite Kit. The Basics In Sprite Kit, every node can run an SKAction by calling the run(_:) function. run(_:) takes an SKAction as its parameter, and will perform the action immediately after the call.
Read more

A Brief Review of Godot Engine

After finishing 2 of my projects in Unity, I was planning to try out something different and hopefully, more suitable for me to use. I did a quick research on some modern cross platform game engines: Godot, Cocos2d-x, Atomic, Love2D, Phaser, and of course, Unreal. I finally decided to look more into Godot Engine. In this article, I will write briefly about the features, the special node-scene system, as well as the pros and cons of Godot Engine.
Read more

Build & Test Automation for Xcode Projects Using Travis CI

Testing your code is a vital process in app development, since it could reveal bugs and mistakes before the users actually use it. However, testing your app whenever you make a commit can be tedious and time-consuming. This is where Continuous Integration (CI) comes to rescue. Continuous Integration Continuous Integration is the process of building and testing your app automatically, saving precious time for the developers. In this article, I will demonstrate how to integrate Travis CI to your XCode projects (to be specific, iOS/macOS/tvOS/watchOS projects) on GitHub.
Read more

SQLite Database Singleton Class for iOS in Swift 3

Writing code for database querying or updating can be tedious, error-prone, and hard to manage. Therefore, abstracting the database operations into a globally accessible model class may be a nice solution. In this article, I will show you how to write a singleton class which wraps the database operations. I will use FMDB (SQLite) with Swift 3 to demonstrate, but it is just about the same for every languages and frameworks.
Read more

GSoC 2017 With Systers on PowerUp Project

I’ve always wanted to participate in Google Summer of Code (GSoC) someday. Fortunately, this year, I got selected by Systers, an Anita Borg Institute community for a mobile game project – PowerUp. In this article, I’ll write about how I chose which project to contribute, how I wrote my proposal, and what is the PowerUp project about. Selecting Organizations When selecting which organizations to contribute, I focus mostly on what am I capable of doing, what interests me the most, and which projects would enhance my portfolio for my dream career.
Read more