C, C++, C#, HTML, CSS, SASS, Javascript, JQuery, PHP, MySQL, Unity, OpenGL, Ubuntu, Bash, version control (Git, SVN)
Mandarin Chinese, Japanese (JLPT N1)
C, C++, C#, HTML, CSS, SASS, Javascript, JQuery, PHP, MySQL, Unity, OpenGL, Ubuntu, Bash, version control (Git, SVN)
Mandarin Chinese, Japanese (JLPT N1)
Drawing, pixel art, playing music instruments (piano/violin), translation (Japanese to English), video games, fountain pens, mechanical keyboards, miscellaneous crafts
I am a software developer based in Singapore. Having worked on an assortment of projects using various technologies, I'm flexible, adaptable and willing to learn. Much of my work involves working in teams to see a project come to fruition, and I take pride in maintaining good communication both with fellow teammates, as well as my clients.
In 2014, I graduated from Digipen Institute of Technology Singapore with a Bachelor of Science in Computer Science in Real Time Interactive Simulation. My education has given me both a strong foundation in low-level programming (primarily in C/C++) and exposure to various aspects of programming, such as computer graphics, network programming, algorithms and database design, as well as practical experience working in a team to produce and present projects.
I enjoy both playing and making games, and much of my work, both professionally or otherwise are in some way related to game development. I see games as a medium that is both able to entertain through interactivity and has the potential to connect people through shared experiences, and it is my dream to someday create a game that resonates with hearts of people worldwide. To that end, I strive to be open to new experiences and listen to people speak of theirs; feedback and community are very important to me.
While my work and education is for the most part related to software development, I have also done work as a Japanese-to-English translator for video games and related tools. I'm able to read, write and speak Japanese to at least JLPT N1 level and have lived in Japan for a year.
| Email: | tanjiexin.0101@gmail.com |
| LinkedIn: | http://www.linkedin.com/in/jie-xin-tan-0101 |
| Github: | https://github.com/corowne |
Dappervolk is a web-based social game where you can play through story quests, raise virtual pets, and interact with many other players like yourself.
I was brought onto the Dappervolk development team as a front-end programmer, primarily working to translate designer mockups into functioning HTML/CSS as well as connecting the pages to the back-end code. Post-alpha testing, I took on more back-end coding responsibilities, maintaining the existing features and adding new ones. The development team underwent some changes and I helped with settling in our new members, working together to see the site through its beta testing phase. Currently, we are working towards improving current functionality and adding more fun features for release.
Furvilla is a web-based social game where you can create furry animal villager characters, give them jobs with job-specific game mechanics and participate in contests. Social features such as forums and player shops encourage interaction with other users.
Working with a more experienced developer to produce the release version of the site, I built the features related primarily to social interaction and converted old Ruby front-end files to PHP.
Art Fight is a website built to host an annual large-scale team-based competition. Participants would be sorted into teams at the beginning of the event and upload drawn images to score points, which are determined based on the perceived effort that went into the drawing (regardless of quality).
While the initial number of participants in the competition was fairly small, I anticipated that the site would eventually need to host a large volume of images and opted to use Amazon S3 to host images. As there is no objective way to score art, I joined the game designers in brainstorming a scoring system that seemed fair, and built tools for them to tweak the scoring values based on player feedback. At launch, the site hosted about 7000 participants, growing by about 10 times in the next 4 years.
Toyhouse is a repository for creative content makers to store information about their original characters. It supports the storage of large amounts of text (HTML) and images for free, and has a premium membership tier that allows you to customise the appearance of your pages using CSS, similar to how you would customise a blog. I worked on the renewed front-end of the site for beta release.
As a frequent user of the site during its alpha phase before I joined, I had a number of ideas that I implemented when I joined the development of the site for its beta phase. This included restructuring the HTML elements so that writing custom CSS for users would be easier, rewriting the overall layout to be responsive, and compiling the CSS from SASS files for better project organisation and facilitating the creation of site colour themes.
A common complaint was that creating new pages was confusing due to the overwhelming amount of information on one page; I broke up the forms so that sections of the UI were grouped together and easy to focus on. At the same time, as frequent users of other sites that regularly underwent disorienting layout changes and were slowed down by unnecessary fluff on the frontend, we wanted to keep the look of the site as similar to the old layout as possible. The site is now fully usable on the mobile layout and preserves the old, simple look of the site that users enjoyed, while being practical and highly customisable.
Lorekeeper is an open-source framework built with Laravel that I am building to facilitate the running of ARPGs based on a strictly curated list of characters in the game.
This requires an explanation of ARPG culture, which I'll try to keep brief:
As I participated in the community as a player, I saw many game features common to a large number of ARPGs that could be automated, some of which I implemented in a custom website I helped to create for one such game. If everyone could easily set up a basic website to hold a list of characters and information, it would make it radically easier for people to create/manage games, and for users to access the information they need.
I wrote a design document that listed all the features I wanted to include in the release build and worked in a structured manner, posting regular updates about my work every week to Patreon and seeking feedback from future users. I also included my plans for the following week in the interest of being transparent and accountable.
Features include:
One of my first projects in PHP, this was created as a replacement for a popular free image host that had recently made several layout changes that slowed down my browsing experience. I decided it was time to move hosts, but no free host was satisfactory, so I decided to build my own hosting website.
I used the Kohana framework and Bootstrap 3 to build an image uploader that contained all the features I enjoyed, and added on some more that I wanted:
I am still using this site on a daily basis!
This is a Javascript-based engine for a procedurally-generated world to be navigated in a manner similar to interactive fiction engines, i.e. by typing commands/directions.
Has the following features:
This is a Twitter bot that generates tweets using the concept of Markov chains on a source text.
While the concept is often used for procedurally generating English text that sort of makes sense, I hadn't seen it used on Japanese text before, so I wrote scripts to digest the source texts (corpus) and produce the data for my tweets. The bot itself is a simple PHP script that generates a string of text based on this data and posts it to Twitter every 15 minutes. The verdict: it also sort of makes sense in Japanese, but due to the way I had to break up the grammar for flexibility, it occasionally posts half-formed grammatical structures.
This is a short visual novel-style game that was produced in a week by a team of 7 as a birthday gift for a friend.
I handled the game code, meticulously timing the visual and audio effects to the brilliant text written by my teammates for maximum comedic effect, and created the puzzles in one of the routes. In terms of technical difficulty it's possibly the easiest game I've ever made, but quite possibly the most entertaining.
This was an RPGMaker game that was created for the purposes of running a fun little community event with a small team of 3 friends.
Aside from realising one of my small dreams of releasing a game on April Fool's Day, it gave me the opportunity to learn to use a popular game engine (that I also helped to translate into English officially!) within a short timeframe of a month. Characters were designed by my teammates, and I produced weekly builds of the game to share and seek suggestions/feedback. The graphics were a combination of edits of free tilesets from the now-defunct First Seed Material and my own handmade sprites.
I made a few custom lighting effects for the Massdrop CTRL (my first and currently only mechanical keyboard) using the RGB matrix.
This is a puzzle game where you try to score as many points as possible within the time limit. Swipe a block to swap it with the block in that direction. Match 3 or more coloured blocks to destroy them and score points.
Created for a game project module in school, this game was my first foray into using the Unity game engine.