Tuesday, November 23, 2010

Web Application

This is a CMU course I took this semester. I did a lot of web programming including servlet programming, database programming, etc.
Mainly using HTML, Java, JavaScript, SQL, AJAX, JSP, PHP, JSTL. Implemented in MVC and using Tomcat.

Social Star

This is a turn based strategy game, the final project I implemented for this course. Working with Andrew Chang, and finished in two weeks in our spare time.

I did all the back end databeans, DAOs and collaborate with Andrew on the other stuff including the game related classes, actions, the JSP pages and so on. We are using Java, JavaScript, AJAX, HTML to implement all of this.



You can register in the game website, and see your playing history on the welcome page, go to the lobby, create a game and play with another person.



You can register in, go to the lobby and join a game create by another player and play with him.


This is the tutorial for this game.

Monday, November 22, 2010

ActionScript Just For Fun

This is a small game I developed in my spare time during undergraduate. Using Flash and ActionScript. Just for fun! ^.^


ALL IN :: Microsoft Live Engagement

Sponsored by Microsoft and in development at Carnegie Mellon University’s Entertainment Technology Center, All In is a proof of concept that creates an innovative Texas Hold ‘Em gaming experience by utilizing Windows Phone 7, PC, and Xbox LIVE Avatars.This is a experience of shared screen (PC) and hidden screen (Windows Phone 7) environment with the ability to expand to multi-location gameplay.

This is my project in ETC, CMU during the third semester. For more detail for the project and our implementation, please visit our website at http://www.etc.cmu.edu/projects/allin/

Sunday, October 10, 2010

GUI Lab (Flex)

Here are some projects I did during my GUI Lab Class of CMU. All of them are developed in Flash Builder 4.

Flex Paint

Tuesday, July 13, 2010

Level Editor

Here are some features I implemented some features for the Level Editor.

Curve Editor

You can define the degree of the curve, edit the curve and also delete node on the curve. Then you can do curve animation which is making the object moving along the curve. At last,you can save the curve and load it back.

Animation Control

1. Time Silder
This time slider is exactly the same as in Maya and 3DMAX, you can define the number of frames, you can set key frame, you can play back and forth, frame by frame, and so on.
2. Animation Creation
Animation creation here is global based, every can has its own local animation loaded from maya or Max, in the level editor, you can also set the interactive animation between all the objects in the scene. You can define animation for every feature of the object, such as position, rotation, color and so on.
3. Save Animation
Also, you can save your animation and load it back, play it under animation mode.

Time Slider GUI

Graph Editor



1. Animation Generation
The Animation between two key frames is generated as Animation Curve, which is cubic bezier curve. The Animation is controlled by the handler of the key frame, the same as in Maya.
2. Graph Editor GUI
The graph editor GUI is the same as in Maya, you can choose between different channels to choose different animation curve.
3. Save and Load
All the animation and the animation curve can be saved out and load in later.

Graph Editor GUI

PandaSE Project

The PandaSE project is a software oriented project working on improving the Panda3D game engine. The project strives to develop, implement, and document new features in the game engine, as well as improve the engines current abilities. More specifically, this project aims to improve Panda3D by developing advanced shader inputs for the engine’s shader system. In addition to these shader improvements, the project will also revamp Panda3D's 3D modeling and animation export tools.

This is my project in ETC, CMU during the second semester. For more detail for the project and our implementation, please visit our website at http://www.etc.cmu.edu/projects/pandase/

Computer Graphics

Here are some projects I did during my Computer Graphics Class of CMU.


GLSL Shader

This project is about rendering outlines, similar to a cartoon drawing.





Ray Tracing








Monday, March 22, 2010

Building Virtual Worlds

Building Virtual Worlds is a course created by Carnegie Mellon University's Entertainment Technology Center, where students work in interdisciplinary teams to create interactive worlds every two weeks.

http://bvw.etc.cmu.edu/

Students use 3D modeling software (Maya/3Ds Max), painting software (Photoshop), sound editing software (Adobe Audition & Pro Tools), and Panda3D, a programming library originally developed by Walt Disney Imagineering's Virtual Reality studio, to display our virtual reality worlds. The course uses unique platforms such as the Head-Mounted Display and Trackers, the Jam-O-Drum, the Playmotion, camera-based audience interaction techniques, Quasi the robot, and others.

I was taking 3D Modeler and Animator role and had built five virtual worlds by the end of last semester, all of which are video games based on different platforms.

At last, two of my worlds were selected to the FINAL BVW SHOW by the jury, they are presented here.




Visual Story

Visual Story is a class where students are split into teams of 4 - 5 at the begining of the semester. The teams remain the same for the entire duration of the course. Teams were also assigned a team name and the name assigned to my team was 'Marvel'.

1. Music Video Round - Fireflies by Owl City

This was our final assignment and all the teams were asked to make a music video for any song of our choice.


2. Little Big Planet - Game Commercial

In this assignment, all the teams were asked to make a commercial for a game. The storyboards and other materials for the game was also provided.


3. Story with constraints

Teams were given constraints such as Location - Cafe , Theme - Insecurity, Object - Book, Color - Orange, and were asked to tell a story using the constraints in some way.


4. Team Introduction

This was our first assignment and we were asked to introduce our team in the form of a one minute video.