First Commit

Today is January 9, 2021. I’m writing the first blog post for my website.

Old Blog

It has been a long time since my last blog post. I used to manage a blog on qzone.qq.com. When I was a teenager, everyone I knew had a QQ account. QQ is a Chinese messaging software. You add people as friends to your account. You get to open a blog with your account for free, and your blog is pretty well advertised to your friends. Especially if you maintain it, your friends can easily notice that there are updates on your blog. You can see who visited your blog, who read your posts or viewed your photos. You can customize the appearance of your blog, much like WordPress themes editor, but you can’t edit Javascript or CSS. You can choose themes, place widgets and decorations, upload your own images, etc. You can blast music at your visitors (like MySpace?). I used to keep the premium membership for years for ¥10 per month (about $2) so that I had access to more themes, decorations and other privileges.

I just logged in to my Qzone one last time to take a screenshot of the front page. Judging from the layout, you can tell this is a blog. It looked nothing like this when I was 15-18. It would look like a website made by a 14-year-old girl, who pretends to be sad, pretends to have been through life and let things go. As I grew older, I preferred to keep it simple. This design was probably made sometime around 2012.

A screenshot of my old Chinese QZone blog.

The last post was in 2015. 21 Views, 3 comments. At the time I did not really use the blog anymore. Around 2008 I would post a diary every week, writing about daily life. I wasn’t really into literature. I used simple words, wrote simple sentences. I seldomly expressed my thoughts or feelings directly, but mostly wrote about what happened. Some friends really liked my writing. They said it gave them feels. They kept reading, so I kept writing. I guess teenager me liked to write moody stuff. After 20 though, for some reason, I wrote less and less. Maybe I had grown out of the phase. I don’t know.

New Domain

I got this domain in December 2020. I was curious to see if my name was available. Apparently it was, so I just grabbed it. Nic is not my official name. As an immigrant with a hard-to-pronounce name, I had the privilege to pick my own English name. I used to go by Nicholas mainly because I liked the shape of the name when written out. It sounded not bad too, but then I thought it was too mouthful, so later on I started to go by Nic. Again, I like it simple sometimes.

I did not have a plan for the domain. I thought a blog would be fitting, so I made one, and started learning WordPress. The hosting service made the installation easy, just a one-click thing, but then there were more things to learn than I thought, such as themes, anti-spam, SSL, SEO, google analysis, optimization. Some of these are probably unnecessary for a blog that 4 people know exist. I guess I just wanted the full package. I was amazed by how I ended up turning to plugins to get all the above done and how easy it was. I still remember years ago, I was scratching my head trying to get my project certified with LetsEncrypt.

With the domain, the hosting site allows me to create email addresses with @nicfeng.com, which is neat. I may come up with a creative address to tell cashiers when they ask for my email.

A Project

It is not my first time creating a website. For a school project, I made a web-based multiplayer card game, which was live on Timoc.net. It does not exist anymore, but some day I may host it on a Raspberry pi or something and link to this blog. The game was only a prototype, and I am not proud of the game design. After all, the purpose was to learn full-stack development, so I did not focus much on the game design. However, I am proud that I could make it work. It was a game that uses a PC browser as the display, then use your phone as a controller. It supports 4 player co-op. It had a market place to trade your cards and build your deck. I made a video about the game. Link. For some reason I sound like an Indian in that video.

Timoc — a game I developed for a school project

Developing the infrastructure took most of the time, as there were so many different technologies to learn. Front end languages, JQuery, Phaser (a game engine), Spring backend, SQL and database, I learned all these and much more during this three-month-long project. The course itself was only three months long, so I had to teach myself the required knowledge in advance so I could have as much time as possible to work on this final project.

Feb 2021 update: it is now live on timoc.nicfeng.com. If it doesn’t work, my Raspberry pi is probably down.

My Game Server

I used to own another domain when I was hosting a private MMO server. It was an old game called Ragnarok Online. I think the domain was prprro.me.

I had a great time running that server. It was a small community, which might have never reached 100 people. These people were fun to play with. I got to know many of them. The server program had its own scripting language called “Athena”. I would learn the language and write scripts to create original events, mini-games and puzzles for the server. I even created a battle-royal PVP mode, but sadly, PVP wasn’t a thing in the community. Anyway, players would come to me and say how unique my server was and how much they enjoyed the atmosphere.

At the time we needed a website for the server. We had a QQ group chat that most of the player would join (Chinese people don’t use Discord much), but we needed a platform to post things, like events, tips, bug reports, Q&A, etc., so I learned to create a forum and hosted it on the same domain. Here is a screenshot of the front page from when the forum was born.

A screenshot of my Ragnarok Online private server forum in its early days.

The forum was powered by Discuz!. It’s a software just like WordPress, but specialized in forums. There are all kinds of plugins to choose from, and you have lots of freedom in customization.

The server only lasted for a couple months. It was difficult to keep up with the growing player base. When I created the server, I just wanted to have fun playing with others. I thought it would be like a Minecraft server — once you create it, there wouldn’t be much maintenance work as long as it’s not too big. But no, there was a lot of work. I ended up spending all my play time on running the server.

Some players would help on tedious jobs, like translation, item imports, and data collection. Among them, some just wanted to help, some would take in-game compensations. However, some of the work was just too technical that none of them had the knowledge to do, or due to the nature of the work, it would not make sense to let players do. For example, updating the server was a nightmare. Once in a few days, an update to the server source code would be committed to GitHub. Due to my customization made to the source code of my server, I had to inspect the diff to make sure I would not break the code when updating. Another challange was catching cheater and bots, it required utilizing admin tools and database access. Furthermore, I had to watch out for server status. The server would crash once in a while, sometimes because the auto backup process occupied too much resource, sometimes I messed up the server code, one time there was a DDoS attack.

An advice I frequently hear from game development community is that, if you are a solo dev or a small team, DON’T MAKE AN MMO. That is very true. There IS a lot involved in an MMO.

Although running the server was a great experience, eventually I got exhausted. No one was able to take over the server. At the end I closed it down and donated my scripts. I felt sorry for the community.

New Blog

Enough for the past, what am I going to do with this blog?

For now, I am not sure. I can see myself posting projects and geeky stuff in the future. Maybe it will become my portfolio and I will add an interactive resume somewhere. Maybe I will express myself and write about life. Maybe I will come up with an exciting idea for a game and be posting about development. Maybe I will participate in a game jam and post about my game (My itch.io profile is here). Maybe I will compose a piece of music and blast at my visitors. Maybe I will develop mini games or interactive components for the blog.

What I am sure is that I won’t post frequently. I’m a slow writer. I write program code faster than I write essays. As I am writing this paragraph, it is Jan 17. I have spent like five hours on this already.

I don’t think I will actively tell people about this blog. If you have stumbled upon this website, chances are that I don’t know you, so thanks for reading. Let me know how you found this blog because I am curious. If I do know you, hi, how are you doing?

Finally, here is a screenshot of the front page. This is what the blog initially looks like.

What this website initially looked like.

July 14, 2021 Edit – Fixed some spelling errors and awkward sentences. There was another post but took it private for now.