Showing posts with label OLPC. Show all posts
Showing posts with label OLPC. Show all posts

Wednesday, May 28, 2014

Fractionauts v2.0 Post-mortem, and Pixel Art Tips & Resources

We did it! Fractionauts got some great feedbacks. I'm fairly confident that it's the most attractive project during the final presentation.

You can check it out at https://github.com/chrisknepper/xo-fractions-game. Our team used https://github.com/kyung01/xo-fractions-game/ and did a huge fat pull request to merge with the main branch at chrisknepper.

Pixel Art Reskinning

Although I'm no professional artist, making game arts is one of the things I enjoy doing. This time I got the chance to flex that muscle and did a reskin of Fractionauts. There are a few tips and tricks to make such task easier. If you know any, please tell me! Making pixel art is very efficient and fun for 2D games.
The gameplay screen of Fractionauts.

Photoshop Setting

There are many tools you can use to create pixel art, ranging from Photoshop, Illustrator to MSPaint. 
Choose whatever tool you are most familiar with - the arts from Risk of Rain is made in MSPaint and they look FABULOUS.
I do my best work in Photoshop, and there are couple things you can do to make it easier.
  1. In Preference/General, set Image Interpolation to Nearest Neighbor. This will keep the pixels pixelated instead of blurry when the image size is changed.
  2. For the Paint Bucket tool, set Tolerance to 0 and deselect Anti-alias. This makes the bucket™ respect your pixels and does not over-paint it. Or in short, it makes the paint bucket work like the one in MSPaint.
  3. Use Pencil Tool to make all the pixellings you need. Load "Square Brushes" to paint squares. Which looks like pixels.
  4. Now try to erase it. Is the eraser blurring your image so much you want to chew a rabbit? If you feel as I do, you'll love this one: Change Eraser mode to Pencil. This turns off the anti-alias that Brush Mode performs. You can also change it to Block, which works as a fix-sized square eraser in any zoom level.
  5. For Texts, custom pixelated font is always the better choice because they are designed with pixelation in mind, but a common practice necessary is to change Anti-Alias (the one list option right to font size. It's so very easy to spot) to None. This prevents, again, the evil blurriness. We want our edges sharp.
    • A cool thing about fonts is that all fonts will be pixelated when they became too small. So, if you type the texts small in your desired fancy font, then rasterize it, then transform it to your desired size, you get to create some unique-looking text!
  6. Speaking of Transforming, change the Interpolation to Nearest Neighbor when using it because something something hard edge.
  7. Usually, when you zoom too close to the pixels, Photoshop automatically slaps a grid onto it. This could be distracting and annoying. Turn it off at View/Show/Pixel Grid.
And there you go! You have successfully degraded Photoshop to a more powerful MSPaint! Congratulations!

Art Direction

I've asked many people the simple question of "How to make pixel art". Their answers are similar.

Look at a style you like, and copy that.

My designer artist friend told me that. The Art director at Workinman told me that. A promising pixel art tutorial series said that.
When it comes to making an image interesting and useful, pixel art is no different from the other styles of artworks. And just as in other art styles, there is no silver bullet: many small details go into the look of it. My tip is to use a limited color palette, especially if you are going for a retro style of art. Systems back then don't support that many colors. Use kuler.adobe.com to search for and create your own color palette. Make sure the images look cohesive when put together. Make a mock-up of the gameplay scene first to determine how it'll look, then dissect it into art assets for the programmer to use. Don't use JPG compression.

For further tips and tricks, http://www.pixeljoint.com/forum/forum_posts.asp?TID=11299 is an amazing detailed tutorial addressing many common mistakes and practices. Check it out!

Wednesday, May 21, 2014

Fractionauts Playtest with 4th graders

On May 14th, we the RIT Humanitarian Free & Open Source Software class took a trip to Allendale Columbia School to have the 4th graders playtest our educational games.

Fractionauts, the game our team was working on, received great success! It was nominated for IGN Game of the Year
Setting up the gamespace

Fractionauts!

Some kid reached level 150. He's getting a badge.
Feedbacks from kids:
  • The level progression in the beginning is too slow. There's a lot of 1/2 in the first couple levels, and that was too easy to grab their interest. The fraction addition could be introduced earlier too - they don't start coming in till level 13.
  • Level generator that takes over since level 40 can use some difficulty tweaking
  • Bug Report! Sometimes the level generator generates multiple ways to get the right fuel amount, but only recognizes one of them as correct answer.

Feedbacks from Observation:
  • The current mouse icon replacement is a little too big, as players often mistake the middle of the icon as where the cursor is at. The hitbox for some buttons, such as the most important LAUNCH, is too small too, causing players and especially kids to get confused.
  • the BACK button needs to be more obvious. White text plz?
  • The positioning for fuel dividers are a little off near the top.


Finally, let's just take a moment and appreciate the fact that our fellow classmate, Danny Shumway, had a successful playtest of his horror game Eyes Open with 4th graders.


Wednesday, April 16, 2014

Team Proposal #2

Team Fractionauts v2.0


Team Members and Contacts:
Nekocoder           erycduhart010@gmail.com  
Jothle12                 jtl7264@g.rit.edu                     
Kyung                     kxc8603@g.rit.edu                   
PickledChicken   cxl6359@g.rit.edu                    


The Project In Question
Fractionauts is an astronaut themed "quiz game" targeted around 4th grade students interested in learning how to perform basic arithmetic with fractions. Hosted by Chris Knepper on Github, it designed for use on the XO, a Python-centered mini-computer that has often been distributed for use in developing areas.





Several potential contributions have been brought up so far. The ones we are most likely to pursue are: 

  • Packaging-Suggested by Remy himself, packaging and submitting (or simply patching) the game to an XO is a good idea.
  • Level Transition Animations - Simple movements of sprites, text fading, and "Correct Answer" text would help the overall experience of playing this game. 
  • Dynamically Generated Questions - Currently, the questions are all preset, meaning one could simply memorize the answers and their order instead of learning the subject matter. This is a high one on our list of to-do's.
  • Interactive Tutorial Level - A simple "How to play" level with instructions for first time users, perhaps accessible in the "Instructions" section of the game.
  • Slowness on XOPC - There seems to be a longer load time than we'd hope on XO's. Maybe we can find a way to speed up the process. This one is a little low on our current list of goals however.
  • Remedy inability to exit “How to play” screen - There is an instructions area already written out within the game's code, but no button available to exit the area. Obviously, this is an important one to fix.
  • Give Feedback and Hints to Players - This one is a quality of life improvement. Since the youth who may use this game are new to mathematics with fractions, we think that having the ability to ask for help from the machine would improve their experience.
  • Introduce Subtraction Questions - The Fourth Grade Math Curriculum for New York and Massachusetts both mention subtraction of fractions being taught at that grade level, so when we looked at our game and saw that there was no directly subtraction-specific questions, we felt that perhaps this would be a good addition to the game.
  • Level Timer - A way to "score" the player based on how they perform seems like it would help motivate players, and a "level bonus" timer would likely be a good way to facilitate this scoring.


The main contributors to this project so far use the handles Nolski, ChrisKnepper, ExplosiveHippo, Valeatory, Waterseas, and Emmix. Each one has their own copy of the main Github repository, each copy hosted using their main handle name (save for Emmix, which uses the Github name of jrs1498). It is currently assumed that our communications with them will be mainly through e-mail, IRC, and Github.


A full community architecture report on the project so far can be found here.


Outlook So Far

The Easy Parts, and How We Will Handle Them: 

  • Buttons to fix the "Instructions" screen - Buttons already exist within the code. Solving the problem will likely be as simple as copying code from one section of the project files to another.
  • Tutorial Level - Once the exit from the instructions screen is added, it shouldn't be much harder to add another button that leads to a specific question with instructions around it. 
  • Contacting the Leaders - As said before, the people who originally made this project stopped several months ago. However, several of them are likely on our campus, so finding them and making frequent contact with the ones who hold the project won't be a challenge. The first step is just e-mailing and setting up the initial lines of communication. After that, frequent contact should follow fairly easily.


The Hard Parts, and How We Will Handle Them:

  • Dynamically Generated Questions - Although the framework to make questions already exists, it is currently more oriented towards a "question pool" approach than spontaneously generated questions. Our first order of business with this is to find a way to quickly generate "answer parts" that will add up to a desired "final answer." After that, the challenge will be to attach the parts to our pool of images. If all else fails, we could do the "pick a random question from a hard-coded question pool" approach and preset answer parts.
  • Level Transition Animations - Most of our group members currently aren't familiar with the Python coding language, so animation in that environment will be a large step for all of us. By studying how the rocket sprite has been put on the screen, however, the only knowledge that will need to be pulled from outside the current project is making a "timer."
  • Introduce Subtraction Questions - The major reasons this will be difficult is that the assets currently available are currently oriented towards addition questions and the fact that how we approach subtraction questions will be heavily reliant on whether we use "fresh-made" or "pool-carried" questions. If we go the "pool-carried" route, the focus will mostly be on supplying art assets (siphons or differently sized tanks) and a scenario where REMOVING gas from a tank is logical. Meanwhile, if we go the "fresh-made" route, the art assets from before will likely be in use as our focus shifts towards making the "question" class flexible enough to make both addition and subtraction solutions available.
It hasn't been set as to what order or how many of our tasks will be tackled, but it likely will be something akin to the below:
*Note: The "/" means that these two items will likely be tackled in parallel.
  1. Fix the "Instructions" Screen 
  2. Dynamically Generate Questions
  3. Level Transition Animations/Tutorial Level
  4. Introduce Subtraction Levels
  5. Feedback and Hints to Player
  6. Level Bonus Timer
  7. Packaging/Speeding up the Program

Friday, March 28, 2014

Commarch Report: Fractionauts

Here's the report the team made on Google Doc.

I was away for GDC, hence not being able to contribute to the project. Sorry team!

My thought on the project:
Although git-by-a-bus and the Calloway Coefficient of Fail showed us some terrible results about this project, I feel optimistic about it, because this is a small project built and maintained by a few people that's very easy to reach. Git-by-a-bus or the contributor visualization also doesn't honor some tasks as much, such as the art asset commits from Waterseas.
The tasks in the near future is polishing and shipping the game. Transition effects, bug fixes, Badge implementations, etc. One good functionality to add is randomization of level contents, that'll add infinite replayability instead of the linear and one-time experience we have now. It would also be interesting to add a timer, and value that into the scores, so kids can show off their mad math methods.
It would also be nice to re-skin the game with professional arts, but we would need a good illustrator / designer for that.

Team Proposal: Fractionauts

Blog forked from Jordan Lehman, Eryc Duhart, and KyungHwan Chang.

Team Members, Contacts, and Titles:
Nekocoder           erycduhart010@gmail.com  
Jothle12                 jtl7264@g.rit.edu                    
Kyung                     kxc8603@g.rit.edu                   
PickledChicken   cxl6359@g.rit.edu                    


The Project In Question
Fractionauts, which is an astronaut themed "quiz game" targeted around 4th grade students interested in learning how to perform basic arithmetic with fractions. Hosted by Chris Knepper on Github, it designed for use on the XO, a Python-centered mini-computer.





Our intended contribution has not been set yet, but several options have been brought up: 

  • Packaging-Suggested by Remy himself, packaging and submitting (or patching) the game to XO is a good idea
  • Level Transition Animations
  • Dynamically Generated Questions
  • Interactive Tutorial Level
  • Slowness on XOPC
  • Remedy inability to exit “How to play” screen
  • Give Feedback and Hints to Players


The main contributors to this project so far use the handles Nolski, ChrisKnepper, ExplosiveHippo, Valeatory, Waterseas, and Emmix. Each one has their own copy of the main Github repository, each copy hosted using their main handle name (save for Emmix, which uses the Github name of jrs1498). It is currently assumed that our communications with them will be mainly through e-mail, IRC, and Github.


This post will be edited at a later time with a link to a full community architecture assessment.


Outlook So Far
The Bad: Initial organization of team members seems to be problematic, as communication lines between members are still being set up. In addition, I am unfamiliar with the Python language, so early programming needs may be difficult to fill. The specifics of our contribution also still need to be determined.

The Good: I can tell based on overall attitude and morale that the group is contains several hardworking individuals that are eager to do whatever task they are set to. There also seems to be a good amount of general knowledge within the group regarding the chosen project, despite how "young" the project is.