Creative Game Design Reading and Playing Response(Spring festival)

Reading Response:

” There are many other games just like this that are making innovative composites that focus on gameplay rather than flashy presentation.”

I was really touched when I was reading the part about the history of indie games and it’s also interesting to think about the roles that both AAA game companies and indie games companies play in the long river of game history. The big game companies, or “commercial game companies” as the article indicated, are the ones who have brought games to a larger stage and more players: those games are well-designed to suit the interest of the public because the company needs to make sure that the game is profitable. However, the indie game companies are more innovative: they usually examine a concept and the indie games are more experimental and creative than commercial games. I can conclude it in this way: the characters or the storyline of the commercial games are designed based on the form of the game. Usually, the design team will search for the most popular types of games and then add other elements, thus the commercial games, nowadays, are very similar to one another and it’s losing originality. However, the indie games are more based on a story the designer wants to tell, or a concept the designer wants to experiment on, and the form of the game are just a method to achieve their goals.

Although it seems like indie game companies are the creator of new concepts, we can not just neglect the influence of those big game companies as well. One problem a lot of indie game companies are facing is profit, and designing a good game is expensive. if the games they create are not very popular or not well-known by the public, the company will probably lose the investment. On the contrast, the big game companies are better choices for investors because the profit is more stable(they have bigger popularity and more products). Therefore, it’s not hard to predict that a lot of indie game lovers were drawn to the game industry by big game companies. 

I’m not saying that exposure is a bad thing for indie game companies – I’d love that good games can have a larger market and have larger fan groups! However,  will indie game companies lose their initial resolution in front of the temptation of profits? Will they be acquired by those large game companies? These questions need more time for examination.

Playing Review:

I have played all of the three platforming games and therefore I’d like to write a long review to compare all of them together.

Celeste & Ori & Hollow Knight:

Difficulty Ranking: Celeste > Hollow Knight > Ori

These three games are all very famous platforming games. However, there are still some differences between them, besides the game difficulty. Celeste, in my point of view, is more about jumping and speed. I know you might think what I said is nonsense because Celeste is a platform game after all. However, what I mean is that the gameplay of Celeste is so strong that it almost makes me neglect the storyline of the game. Celeste also gives me a “super Mario” feeling, although the difficulty of these two games is not on the same level: my purpose when I started playing it is to pass games and defeat all levels, and the fun of this game is just to jump! Jump to the next platform, jump to the next map. However, Hollow Knight, also a quite difficult platforming game, gives me a completely different feeling. In my point of view, Hollow Knight is a soul-like(魂类) game in terms of the game rules and the background story, which means: when I was playing this game, jumping and beating the boss/monsters is just a method to read the stories and the get to know the world setting(世界观设定). I started to play this game last year, and I haven’t passed the game yet, not because I don’t have time or it’s too difficult, but because I don’t want the story to end. I have collected all items and defeated all of the bosses except the last one.  Why? because I feel so sad to see and so reluctant the end of that world. The story is too attractive and it feels so true.

Now, let’s talk about Ori.  I don’t want to compare Ori with the other two games, because I think Ori is a fairytale to me, which contains excitement, adventure, challenges, and tears. The music and the visual styles of Ori are a great help to help the player have that fairytale feeling, From my perspective, the magical thing about Ori is that, if you compare the gameplay or the storyline of Ori to other famous platforming games, they are definitely not the best, but the combination of them makes this game so unique to experience and it has an attraction to make the player feel like Ori is themselves, not just a character.  

MLNI Week04: “Fruit Ninja” with PoseNet(Ronan)

For this week’s assignment, I want to create a simple version of Fruit Ninja with PoseNet, where the player will use their hands to cut the fruit directly.

Try it on p5 web editor:

https://editor.p5js.org/RonanChang/sketches/u5s3HUpyN

Steps and Difficulties that I’ve met:

1. The first step is to create a Fruit class and generate some fruits to cut.  In order to make the game similar to the real Fruit Ninja game, the fruits should shoot up from the bottom of the screen and then drop down because of the gravity. However, when I was playing around with acceleration, the objects never slow and drop down to the bottom. Since the acceleration is just a simple one pointing to the y-direction, I didn’t use the applyForce() function. Instead, I hard-coded a number in the constructor of the class. After close examination, I’ve found that I mistakenly multiplied the acceleration with zero every time the location is updated.

2. Second of all, when a fruit is cut, it should disappear from the canvas. In order to achieve this, I created a variable called “isCut” in the Fruit class. Whenever the mouse/hand’s position is within the circle, the fruit will disappear and be removed from the ArrayList.

Maybe in the future, I will try to create a better cutting effect instead of just letting the fruit disappear. For example, maybe I will generate two triangles to represents the cut and then make the circle disappear.

3. After I finished with the Fruit class, I started to create the three circles on the top right corner of the screen to indicate the number of fails in the game. Every time the player fails to cut a fruit, one circle will turn to red. In order to achieve this, I added another variable called “hitBottom” in the Fruit class to check the location of the circle. Besides, since all fruits are generated from the bottom of the canvas originally, we should be careful to check the location when the fruit starts to fall.

One thing that bothered me for a long time is that no matter how many fruits are failed to cut, all three circles will turn to red at the end.  After trying to console.log out the number of the fails, I found that the status of the fruits was still being checked even when the user can’t see anything on the screen, which means I should’ve deleted the fruits when they dropped to the bottom as well.

4. The next step is to generate new fruits. New fruits should be generated when the fails are less than 5 and there are no objects in the ArrayList. Therefore, I created another function called generateFruits() for this. And when the fails are equal to 5, the player will see a “game over” message on the screen.  However, when the game is over, I still want the rest of the fruits to fall until they disappear. Therefore, I checked whether the fails are larger than or equal to 5 because when the game is over, the rest of the fruits are still falling and the number of fails is also increasing.

5. The next step is to add poseNet in the game. I watched Daniel Shiffman’s video for help. 

One difficulty that I met is that the image in the webcam is opposite from reality and I didn’t really find a solution on the Internet.

6. For future development, I will add the sound effect!