My Memories about Zhengzhou
I grew up in Zhengzhou, from where the old Yellow River flows by. I feed cattle and goats, met Shaolin monks in refreshing July. Soft breeze blows sweet catkins. Swallows travel to south say me goodbye. Moonlight quietly pace in. Raindrops fall slowly weaving a soft rhyme. When I open my eyes cannot tell day from night. I cough every morning when the grey chaotic dust drowning time. Built for a century our metro line five, digging every day, thudding every night. Facing new overpass I should have cheered, but it suddenly rains like an old city's tear.
0 评论
Breif Intro
Player control a hero to collect as more coin as possible while keeping away from the moving enemies... Github: https://wswsws125.github.io/MSTU5003Project/ Game Demo: https://youtu.be/NVztM-TBVuU Aesthetic Decision: I want to make a game with simple interface and figures. Because the simple figure gives me a natural and peaceful feeling. Sometimes I get bored with some games with complicated graphics and gameplay. But I find it easy to get fun from some simple games, for example, WeChat app where a small person jump when you long press the screen. I think this game brings people a lot of fun in their busy lives. That’s why I want to design a casual game to let people take a break from the busy real life. Development: html/css are simple. For the js part, I use Processing (a great software for visual art design. Its functions are almost same with p5.js) and use a processing.js to compile the code into javascript. The classes and functions are listed below. Functions:arrow key control, collide detection (eat gold or bettacked by enemies), randomly gold refresh, hp increase/ decrease, froze everything when game over, record high score, click to move everything and start the game again. Classes and Functions Player variables float location x, location y; int hp, gold, speed, PImage img; functions Move by keys, eat, inCanvas, + void display() // draw the hero + void move(Wall[] walls) // move the hero by arrow keys, keep him in canvas, not go into walls + void hpUp() // add 1 hp, keep hp <= 10 + void hpDown() // minus 1 hp, keep hp >= 0 + boolean eat(PVector pos) // check if the hero eat the food, if so gold+1, hp+1 + boolean beAttacked(Enemy[] enemyArray) // check if the hero collide with the enemies, if so hp-1 Enemy extends Player variables int speed, xspeed, yspeed, garvity; functions + void move() //move the enemy + void display() //draw the enemy Wall variables float x; float y; float w; float h; functions + void display() //show the walls Main Global variables Player player; PVector food; Wall[] walls; Enemy[] enemyArray1,enemyArray2,enemyArray3,enemyArray4,enemyArray5; int scl=30, recordScore=0; PImage gold, gold1; functions + void drawStatus() //show the status bar + void pickLocation() // pick a random location of food + boolean inWall(Wall[] walls, PVector pos) // check whether the food is in wall + void resetAll(Enemy[] enemyArray1,Enemy[] enemyArray2,Enemy[] enemyArray3,Enemy[] enemyArray4,Enemy[] enemyArray5) //move all the enemy arrays + void stopAll(Enemy[] enemyArray1,Enemy[] enemyArray2,Enemy[] enemyArray3,Enemy[] enemyArray4,Enemy[] enemyArray5) // stop all the enemy arrays + void reloadScore() //record the highest score in a .txt file + void gameOver() //froze all characters, show information on a score board, click to restart Design Doc for Final Project
In my final project, I plan to make an RPG game where the player can control a hero(a ball) by arrow keys and explore in a maze-like map. I want to add some interesting functions of traditional RPG games, such as trigger battles, level up, collect props, have conversations and do other interactions with the objects in the maze. The audiences of this app are people who interested in RPG game. I want to make the graphic very simple but contains the basic RPG elements. If possible, I want to make a seemingly simple RPG game which gives players some surprise. I made a simple prototype with Processing.js as showing in the image. I have got functions: -moving the ball by arrow keys -cannot move through walls -show players status, including HP, level, exp, gold -battle system(cannot be triggered now) -level up function(cannot be called now) What I want to do next: -make a map -add a percentage bar of HP -trigger battle randomly -trigger event when some condition is met -add some monsters with images -design some props which will change hero’s property Passion Project Documentation
Project Title: Dream Orbit Summary: In this passion project, I made a dreamy solar system, including a black background and eight planets. I first made a cosmic background board. I put a piece of shiny black foam paper on a piece of wood to make a background board. Then I paste a circular piece of wood made by laser cutting on the lower left corner of the black foam paper as the "sun". I draw the orbits of the stars on the foam paper by a silver highlighter. Then I stick a laser-cut small piece of wood between the two orbits, making an "asteroid belt." After that, I paste a rainbow I made with craft sticks in the middle of the background board. Then the background board is finished. Then I am going to make eight "planets." The prototype of my project is the solar system, so I plan to make the planets as the eight planets of the solar system. While keeping the color of the planet as the real ones, I want to make these planets a little more abstract to preserve a "dream" feeling instead of being too real. I mainly used laser-cut wood chips to form these planets, and then glued different colors of shiny sand to the surface of the chips to color the planets. This process took a long time because I needed to make some details to make the combination of small pieces look more like planets. But I really enjoy this process. After making the "eight planets", I tried to put them on the track I painted. I wanted to find a proper position and stick them on the background board, but during the time of finding the proper positions, I found this process of freely placing planets very interesting. If I keep this feature, it will allow each viewer to participate in my project to find the location they think fits to place the planet. So, in the end, I decided to put them on the side rather than fix them on the background board. Inspiration: I used to make some small pieces by laser cutting. I also made some handicrafts with craft sticks, such as pencil case, candy box, xylophone, rainbow and so on. In the process of exploring in Thingspace, I found myself more and more like laser cutting. Once I did laser cut on black acrylic to make a star with star map pattern on it. This small object was my initial source of inspiration. I like the theme of the universe, night sky, and stars. So I decided to combine the small objects I made and create the universe in my mind. Research: I searched for some astronomical knowledge and celestial images. When making planets, I try to restore the relative size and color of the stars. Process: I have already completed the work of Dream Orbit. I also made a craft stick pen holder. In addition, a laser-cut wooden box decorated with small art pieces is being made. When I put the crafts I made on my desk, I feel better every time I see them, which encourages me to make more crafts. In this course of this semester, my passion for artistic creation has been inspired. I have discovered a lot of interesting art manufacturing techniques and found that their combination with traditional art is very interesting and often brings me surprises. Next, I will use more laser cutting chips, craft sticks, and glitter sand to explore and make some handicrafts. Visual Documentation (see photo album) Dec 1st
Recently, I bought some craft sticks. I think they are good materials of conveying the feeling of music (to put them into the shape of the sound wave), and there are many potential forms of its assembly. I want to apply them to my passion project by combining them with my other laser cutting works. This week, I made a pen holder with these sticks on the first day I get them, and the next day I made a candy box (as shown in the pictures). During this time, I also explored the combination of these craft sticks and my previously laser-cut spirals(it’s like the shape in the sound visualization program I made last week) and letter-shaped chips, as shown. Currently, I am still exploring the combination of craft stick and laser cutting wood chips. At present, I am no longer obsessed with having to make a pen holder. I think it is no longer important for me to have some practicality. What is important is whether this artwork can express my thoughts and whether it is beautiful. Practicality is good, but I will no longer make it the main goal of my work. Next week, I plan to laser cut and carve a heart shape and continue to explore its combination with craft sticks. Nov 25th Last week I finished the laser cutting of one box. This box is bigger than I thought and took more cutting time, I think I can use it in my final project. Because I can easily take it apart and change any side of it. Next, I am going to make more small boxes and build a scaffold of plastic sticks or other materials to combine all of the boxes into one big artwork. Currently, I have only two laser-cut boxes on my hand. This is a little far from my goal. After reading suggestions people gave me, I thought about my work a lot. I think my work is still monotonous now for it lacks some visual effects and does not reflect the element of music very well. And I also want to express a feeling of stars, night and fantasy. Next, I think I should: 1. Pay more attention to the presentation of the musical elements in the work, and find ways to make the work both functional and visually pleasant. Consider using codes in Processing to visualize music. 2. Give the work more spatial feeling and enhance its visual effects. Specifically, I will carry out the following steps: 1. Use Processing to generate more music-related patterns 2. Laser engraving/cutting/patterning these patterns in other ways 3. Combine existing works into final works Nov 16th
Last week, I completed the laser engraving of my first wooden box in Thingspace, and I plan to do its cutting this week. Recently, I started to make more boxes as the bricks I built mind fort. I went back to my mind map to find some of my interests as the subject of box engraving. I determined some topics that represent my passion: music, zodiac/moon/night/space, games, ancient culture of China. Next, I will collect some of my favorite logos and modify them as a pattern engraved on the side of the cube. I did some Illustrator files this week to continue to expand my mind fort. As shown in the picture, I made a box plan with zodiac patterns. I printed the pattern of the zodiac sign on each side of these two boxes. These designs may not be final, because I intend to add some decorative patterns around each zodiac pattern. In addition, I also intend to laser cut some graphics and paste them on the box as a decoration. Nov 10th Prototype 1 After a day of hard work, I made the game as above, as the initial version. At present, the game has the following functions: the player can click the 'Hit it' button to fight with the monster, and the monster will also attack after the player attack, reducing the player's health. Players can also choose to change the monster to fight by clicking the 'Change Opponent’ button. Each monster has a different health and power. In this version, I have set up the following 7 kinds of monsters (picture 2). The probability of occurrence of these monsters follows the random method described below. Among them, the probability of meeting Dragon is very small, only 1% (picture 3). Of course, this is far from my goal. Next, I will continue to improve the program, I intend to add experience, upgrades and coins, props, shop, loots, random events, storage progress and other elements. In addition, I also intend to use css to simply arrange the page layout, insert properties and props icons. Nov 5th Summary: In my final project, I want to make an RPG game where the player acts as a hero who will fight monsters, collect props and trigger special events. Inspiration: My inspiration originally comes from a classic RPG game names Magic Tower. In this game, a hero(controlled by player) moves in a tower with 100 (or more) floors. Each of the levels is a maze-like scenario where the hero can trigger battles, have conversations, collect props and do other interactions with the objects in the maze. It seems simple but contains a lot of functions. I also want to create some RPG game by myself. Though my piece might seem far simpler and easier than Magic Tower. I want to control an object and trigger something when it meets with others. I would like my audience to interact with this website by controlling the role and I hope them feel like exploring a mysterious world full of uncertainty when they are playing the game. Design and Technical reference: After I viewed some of the webpage provided in the syllabus, I intend to use p5 for js as a basic tool for realizing my project. I think it is a good package for creating and dealing with images. I will go through the tutorial of p5 on this webpage: https://p5js.org/learn/ In addition, I need to learn more about HTML itself on w3school and learn how to save and load the data of the user. I will go through tutorial websites below to get closer to my goal. https://medium.freecodecamp.org/learning-javascript-by-making-a-game-4aca51ad9030 Visually, I would like my piece to have the basic form and elements of Magic Tower, such as hero, maze, monsters which trigger battles, NPC which trigger conversation and some props to collect. But I want the style to be light and simple, like put the hero into a circle, put the maze into lines... Process: I have been through some basic tutorials of p5.js and I can already generate or load some image on the website by p5. I think the next steps are needed to realize the piece: 1. Make a frame. Generate/load images for the basic elements into the frame Including the hero, maze, NPC and other props. 2. Realize the keyboard control of the hero. 3. Trigger something when the hero collides with other objects. 4. Design the battle system. If possible, save the data of the game. Nov 10th This week I am going to design the shape of each part of the wood puzzle, using the Adobe illustrator path. How to design a splicing socket has become my main problem. I look up for some design of laser cutting puzzles and learned some basic form of finger joints. Then I began to make my own pieces. I plan to use 3mm thick wood for laser cutting, so the socket width should be set to 3mm. I use 16 pieces of wood into a cylinder, so each piece occupied an angle of 360/16=22.5°. In the case of 15mm per piece of wood, I make a 16-sided shape as the base for the laser cutting pen holder in AI as the picture shows. In addition, I saw a cube puzzle this week when I was looking for inspiration on the Internet. It is made of 6mm wood, very interesting. And it made me realize that the clever design of the socket can bring infinite possibilities. I downloaded the design drawings of these puzzles, made some modifications, and prepared to make these puzzle pieces with laser cutting next week. These pieces of wood will, if properly assembled, be assembled into a complete cube. Below is the website where I found the wood puzzle. There are also many amazing laser cutting designs on it. It is really great. https://www.instructables.com/id/Laser-Cut-Puzzle-Collection/ Nov 2nd I used Processing to generate 16 sticks of different heights based on the notes in the first four bars of Faded. I put them in AI and next Tinkercad to create a prototype of a pen holder. As the work progressed, I found a problem. If I want to combine the 16 pieces into a cylindrical shape, I need to first estimate the diameter and circumference of the cylindrical shape to calculate the approximate width of each piece. I assume the diameter of the pen cylinder is 7cm, then the circumference is 7πcm, and divide this number by 16 to get 1.374cm. This width can be used as the approximate width of each stick. Then I set the width to 1.5cm per piece. In the height setting, I use the formula of height=basicHeight+barwide*faded[i]*(0.618), where faded[i] is a sequence of 16 items generated according to the note height. When basicHeight=barwide*10*0.618, 16 heights were obtained: 10.20 10.20 10.20 12.05 || 14.83 14.83 14.83 13.90 || 12.05 12.05 12.05 12.05 || 9.27 9.27 9.27 8.34. After these calculations are completed, I use Processing to generate the graphics for these Sticks. After processing by AI and importing, these graphics are presented in Tinkercad as shown. I wanted to build a 3D model on Tinkercad, but the workload was too large, and in my imagination, these chips should be produced as Adobe Illustrator image and realized by laser cutting instead of 3D printing. So I still need to manually put them together after getting the real wood pieces. So building a stereo model in Tinkercad doesn't make much sense to realize this pen holder, but a way of checking its appearance. At this point, I should once again clarify my entire workflow: 1. Think about the shape of each part of the pen holder. 2. Create images of these components in AI, including contours for laser cutting (finished) and patterns for laser engraving. 3. Perform laser cutting&engraving. Oct 27th Today I try to do the first and the second step I mentioned last week. The first step is to draw those pieces and make a prototype model of the pen holder on Tinkercad. I used Processing as a tool for drawing the pieces. I made code like this(pic 1). What I want my code to do is to generate some bars with different heights (decided by the music note it represents). The draft is like this. Then I began to modify my code to draw something new. I generated some random patterns while I was playing around with the code. These patterns later inspired my enthusiasm to do my second step, to think about the pattern on those pieces. These are just some try. I found that coding really has a lot of possibilities. [Pictures] Next, I will put the pattern in pic 1 into Tinkercad and make a 3D prototype of my pen holder. Oct 21th I am very excited to read the feedback on my work given by my peers (Here thank Erin so much for sending me the feedback form). Having read the feedback, I want to make some adjustment on my idea stated in Oct 15th blog. I want to incorporate more than one way of music representation into my project and try to make it more aesthetically pleasing. As I said in my last blog, I want my pen holder to be in a cylinder shape but realize it by putting together 16 wood pieces with different heights cut by laser cutting. The music notes will remain on those pieces as engraving pattern. So the main body of it will be a 16-sided cylinder. In addition, some other ornamental pieces of a different color can be added to the main cylinder. These ornament pieces serve as another representation of this piece of music. My next steps are: 1. Make a 3D prototype in Tinkercad to have a rough look at its appearance(of the main body). Adjust its shape to find the appropriate height for each piece. (Before Oct 27rd) 2. Consider the pattern on each piece. I plan it to be some sort of transformation of the music staff. (Before Nov 3rd) 3. Draw the patterns in AI including the cutting edges and engraving patterns. If possible, make some slots to make the main body glue free. (Before Nov 10th, and the slots making step may possibly be done together with step 1.) 4. Consider the ornament pieces for the main body. Draw them in AI. (Always consider the ornamental pieces. Draw them before Nov 17th) 5. Do the laser cutting+engraving. Put all those pieces together. (Before December 2nd) The material I request is a piece of wood board for the main body and another board for ornaments (the material has not been decided yet). Oct 15th Today we all made presentations about our passion projects. I gained a lot of creative ideas from my classmates. All of us are trying to combine techniques with art in their unique ways. I really like this sharing process. I also made a presentation about my passion project Faded pen holder prototype. And I gain some good feedback from my peers. Now I have some new ideas to further improve this project. Music is something flow instead of static. I want my pen holder to render a sense of flow so I still want it to be in a cylinder shape. I thought the only way to realize cylinder shape is through 3D printing. But after seeing other people's idea, a new way of making a cylinder pen holder pops up in my mind. It is a combination of Peter Huang's wood pieces idea, Juan Carlos's sound wave idea and Nina Bellisio's suggestion of letting people who can not read music notation also feel the music. My new idea is, make the pen holder by putting together wood pieces cut by laser cutting. In the first 4 bars of Faded, there are 16 notes, some are high and some are low. I want to use 16 wood pieces with different height to present these 16 notes, and then surround these pieces as a cylinder shape to build a pen holder. I think I should take the next few steps to realize this new plan: 1. Make a 3D prototype in Tinkercad to have a rough look at its appearance. Adjust its shape to find the appropriate height for each piece. 2. Consider the pattern on each piece. This step will be interesting. 3. Draw the patterns in AI including the cutting edges and engraving patterns. 4. Do the laser cutting+engraving Oct 10th My passion project is Faded pen holder. Its four sides are musical notation from one of my favorite electric music Alan Walker’s Faded. This is my mind map (pic 1). I like music and I want to visualize the music. I also want to make a pen holder which can be placed on the table so that I can always see it and use it. (I want it to be in the cylinder but I don’t know how to make the model) Having this idea, I looked up for the music score of Faded, turned its first four bars into stave and transform it to vector in Adobe Illustrator. Then I imported it into Tinkercad, gave it a height and copied it three times. Then I got a model like this (pic 2). However, things go wrong when I came to the step of 3D printing. Some lines in this 3D model are of 1 point stroke, which will disappear in 3D printing preview. These 1pt strokes will also disappear in laser cutting. It seems that the only appropriate way to realize this pattern is by laser engraving. So I made a tiny prototype through engraving on the wood (pic 3). To further improve my model, I think I should spend more time reshaping the pattern of each side, to change those 1 pt strokes into thicker lines or shapes. Or if possible I would like to build a model of cylinder or ring. I have some ideas pop up but do not have a clear direction about what I want to do. So I just record my ideas here. Maybe one of them which I think is the best will become my Passion Project. Or a combination of some of the ideas will become my final one. My Passion Project - Faded Pen Holder |
Can Zhang(The pic is my cat.) |