Monday, October 31, 2016

Taste of mongo

In our final project since there is no constraints about the choice of database, our group uses MongoDB to manage data. It was my first time using NoSQL database and here are some thoughts about it.

As for the advantages, one of the things I really like about MongoDB is that I do not need to write schema anymore. The flexible data model MongoDB provided makes managing data a lot more easier. Basically I can store any type of data with desired structure. I can also dynamically update the data model with changing requirement without any interruption to old data. Based on my research, MongoDB also provides high performance in terms of throughput and latency. So far the amount of data we managed is not large enough to prove the statement but I am looking forward to it.

On the other hand, as for the disadvantages, not being able to do join query makes me feeling quite uncomfortable. Being used to relational databases, join is the one of the most frequently used method to retrieve data from different models with a single query. In MongoDB, the alternative is the "lookup" operation which I have not get used to. Besides,
MongoDB does not support transactions except certain atomic operations at single document level which may lead to data inconsistency. 

These limitation of NoSQL database may be the reasons why relational databases dominates the market for over 40 years. However, it is great to know that databases are still evolving for better performance.

Sunday, October 23, 2016

Why pixel games are still popular?

Since our final project, FitMi, is designed in pixel style, I research on available pixel games in the app stores and surprisingly find that pixel games, which seem to be a bit outdated, are still popular in the market. But why? Based on my personal experience and some further research, I suspect that these are possible reasons that keep pixel games alive.

One of the most important reasons is reminiscence. Because of reminiscence, developer created pixel games to pay tribute to the pioneers, for example, Super Mario, which bring them a lot of fun in their childhoods. Players of classical pixel games are attracted by new pixel games because of similar reasons.

Secondly, many game developers and organisations are short of man power which means that sometimes they have to do game design without designers. In such cases, pixel game is a rather safe choice due to its simplicity.

Third, pixel games actually enable users to make full use of their imagination. Therefore, for children and teenagers, who are never lack of imagination, pixel game is still a great choice for entertainment.

Moreover, expectations to pixel games are usually lower than the expectations to more advanced games such as GTA5. Since user accept the simple design of the user interface, it is not likely that they expect the game play to be very fancy.

On the other hand, since pixel game cannot afford too fancy game plays, they really have to put in effort to come up with a core feature that is fun. The Binding of Isaac, for instance, is a very good example of simple but playable game. The carefully designed core features keep pixel games attrative for a long period.

Last but not least, considering the large number of pixel games in the market, maybe it is just some of them becomes successful and popular at the beginning. And the success of these games earn users and credit for other pixel games which makes the whole market alive.

Monday, October 10, 2016

Ideas on how to make our app addictive

It has been two weeks since our final project started. Our group is building a health app with digital pet element. During our last consultation Prof provided us some tips on making our app addictive. After further research I summarize the points below and hopefully we will be able to achieve it at the end of the development.

First of all, our app must have a NICE user interface. A successful app should either be cool or cute on first glance otherwise users are like to delete it right after download. Considering that our app is categorized to be a Health & Fitness app, it is likely to be on the cute side.

Second, user should not encounter too much trouble for on-boarding. A bad example for it will be Visor which included unnecessary Facebook login process. We will first allow user to use our app without login and only when user want to switch between devices we will ask for their Facebook or WeChat account.

Furthermore, in order to remind the existence of our app to users, we would come up with certain strategy to entertain user even they are not exercising. Something like a combat among friends will be great. The combat should be directly related to users health data and therefore encourage users to do more exercise. Other than that some interaction between users and their digital pets will be fun as well.

Story line is also important to keep our users. As Prof mentioned during our last consultation, if user feel that they have invested a large amount of time and emotion into our app, they will likely to be more loyal, Therefore, we will include a EXP and level system into our app firstly to help users keep track of their exercising history and secondly enhances the connection between their digital pets and their reality life.

Besides story line, challenges is another element full of excitement and we would like to make good use of that. We would let users set their daily exercise goal and they will be rewarded if they manage to finish the goals. We hope that the sense of accomplishment will encourage them to keep exercise.

Last but not least, game balance is important for any app involving competition. As a gamer myself I fully understand the desperation of somehow losing a game that you are so confident to win due to imbalance. Therefore, since we would like to introduce ability difference into our Mi combat, it would be necessary for us to test our math formula before final deployment. Maybe some kinds of mathematical model need to be build to ensure balance. For more about game balance, I would do further analyze and discuss in next week's blog.