Sunday, December 16, 2012

Prototype #6 and Presentation

Basically Prototype #6 will be the final prototype of my game in this semester; but again, hopefully I will improve this game and update the info through the blog in the future as well! :)

Here is the prototype #6 of my game:

Peter the Cockroach

Things Changed:

Here are some changes I made from prototype #5:

  • Tutorial text description change from myself(creator) to Father
  • human trap scenario added

Things That Will Be Added(hopefully in the future):

  1. Understanding 'map' command to display the map of the game world.
  2. Human beings' attacks scenario
  3. Dog chasing scenario
  4. World extension
  5. More variety of food

Presentation

Thank you very much all for creating very fascinating game and interacting together! :) That was really a lot of fun learning how game programming works, steps needed to develop the actual game, and version control system (Github), and more.. I think I really learned a lot from this course - again, thank you Sam, thank you all! :)

Shohei Sasahara

Project Presentation for HPU Men's Basketball Team

I have recorded myself talking what I have got so far for the project and made the presentation of it. After recording, I have realized that I talked very slowly with my poor English.. but bear with me for those people who watch this video..

I have briefly talked about what I have got for my Github Wiki page as well as Code page(including User Stories and Scenarios), and things I learned from this course.

I think 2x speed would be recommended!
And Happy Winter Break people! :)


Shohei Sasahara

Friday, December 14, 2012

Making Use of JavaScript

ELLS Book Talking About JavaScript

While I was reading some of the pages in the chapter 11 'Enhancing Saas With Beautiful JavaScript' of Engineering Long Lasting Software, I learned several ways of how JavaScript is used nowadays by developers, not only the way I had thought in my mind.

I am also currently watching Edx course that mainly teaches JavaScript, but I have not finished watching all of them(hopefully will finish watching by tonight), so if I have some revisions to make in this post, I will do so and notify here as well.

JavaScript

JavaScript, the language itself, was developed by Bendan Eich, an employee of NetScape at that time, and was named firstly as 'LiveScript'. However, Java, the language developed by Sun Microsystems, was getting popular and popular, and since both Sun Microsystems and NetScape was doing tie-up enterprises at that time, the developers of LiveScript thought it would be better for LiveScirpt to be named somewhat similar to Java.

Thus, eventually LiveScript changed its name to JavaScript as it is known nowadays.

How JavaScript Could Be Used

According to chapter 11 of ELLS book, JavaScript is used mainly in three ways when development of SaaS(Software As a Service):

  1. Creating client-side applications such as Google Docs, comparable in complexity to desktop apps and possibly able to operate while disconnected from the Internet.
  2. Creating server-side apps similar to those we've been building using Rails, but using JavaScript frameworks such as Node.js.
  3. Using JavaScript to enhance the user experience of server-conyric SaaS apps that follow the Model-View-Controller architectural pattern.
To be honest, I did not know until I read the book that JavaScript is used as 1 or 2; I only somewhat knew that JavaScript could add visual movements to Web so that improve user experience on the web.. so I was surprised while I was reading the chapter.

Although the book drives into more about how JavaScript could be used for SaaS development and focuses on 3, and jQuery, which is one of the JavaScript libraries that enhances the power of JavaScript a lot, I would like to write specifically about 2, server-side JavaScript, which is Node.js. (If you are interested in more about JavaScript for SaaS development and jQuery, click the book image on the top-right side and please read the actual book :))

Introducing Server Side JavaScript - Node.js

Since I have briefly researched Node.js in Data Communications course, I thought here is somewhat appropriate place to share what I was impressed about Node.js through the research. As JavaScript could be used for creating server-side apps, I hope it will help anyone interested in Node.js or creating server-side apps.

According to the official website,

Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

Impressive Scalability

What it impressed me was how simple the 'Hello World' code on the official website and what it does. It basically creates the new server and allows user to set how it respond when the request comes in. The code is available from the official website of Node.js

Basically what it does is that it creates new server at http://127.0.0.1:1337/, so and if any request comes in, then it will display 'Hello World'. If you are interested in, install Node.js from the official website and try code using Terminal or command prompt. What you have to do is just copy and paste the code to whatever the Text Editor, save it as a javascript file, run it by typing: on your console and then type the url of the server on your browser's url tab.

What I was impressed about Node.js is that although it just looks like a small normal javaScript codes, it actually allows developers to create a new server and decide what server does when requests come, which I thought was just amazing..

I have actually made slides for Data Com's presentation, and fearfully uploaded on slideshare, so if you are interested in please take a look at it, and give me some feedback if you have any! :)

HPU Men's Basketball Project

User Stories and Scenarios

I have written two user scenarios for my user stories for my project of HPU Men's Basketball team, so I would like to share it. For writing user scenarios, I referred to my professor Sam's Github Repo of his project for local non-profit as well as Engineering Long-Lasting Software (ELLS), specifically Chapter 5 of it where it talks about BDD, User Stories Cucumber scenarios and so on. Here is my user stories and scenarios for HPU Men's Basketball Team project:

I will improve user stories and scenarios more and update gist, so this embedded gist may look different in the future, but this is what I have got so far.

Github Repository and Pivot Tracker

I have also created Github repository and a Pivotal Tracker story specifically for this project, so do check those out if anyone is interested in :)

The semester almost ends, and I think it is nearly possible for me to actually develop the complete solution within the semester(and possibly alternatives not just what the customers is currently willing to have), but I am strongly eager to try to help them out in some way next semester, in the future as well.

Wednesday, December 12, 2012

Playtesting Three Games!

Here are three playtesting videos from me.I am very sorry for not screencasting well enough but I hope what I have done somewhat helps the games developed even more! :)

My Screencast for Jurassic Survival

My Screencast for Refugee game

My Screencast for Road of Vision

Prototype #5 - Peter the Cockroach

Here is the prototype #5 of my game:

Peter the Cockroach

Things Changed:

Here are some changes I made from prototype #4:

  • Informing viable direction when the player tries to go to the not viable direction.
  • Some sort of auto understanding functionality when mistyped.:
    if the player accidentally pushes enter, then the game will recognize it as 'Look', and so on.
  • Visual change in the game play page:
    Cockroach image, cover image, and so on(the flexibility of the size of texts are still under construction..)
  • Welcome and info text section at the home page:
    Players can go there by clicking 'homepage' button on the right side of the game play page.

Things That Will Be Added:

  1. Understanding 'map' command to display the map of the game world.
  2. Human beings' attacks scenario
  3. Dog chasing scenario
  4. Human Beings' traps scenario
  5. World extension
  6. More variety of food

Information

I have updated my Github page for Peter the Cockroach, Github Wiki page and Github Issues page. If anyone is interested in, feel free to visit and take a look at those! :)

Friday, December 7, 2012

Prototype #4 - Peter the Cockroach

Here is the prototype #4 of my game:

Peter the Cockroach

Things Changed:

Here are some changes I made from prototype #3:

  • Added tutorial functionality:
    asking a player whether they wanna go through the tutorial or not - if yes, then start the tutorial which tells a player the basic commands in the game.
  • Added 'help' command:
    if a player types 'help', then it will show up the basic commands in the game (just like git --help in the terminal prompt.)
  • Added food in the world:
    onion

Things That Will Be Added:

  1. Understanding 'map' command to display the map of the game world.
  2. Human beings' attacks scenario
  3. Dog chasing scenario
  4. Human Beings' traps scenario
  5. Auto-spelling completion
  6. World extension
  7. More variety of food

Information

I have updated my Github page for Peter the Cockroach, Github Wiki page and Github Issues page. If anyone is interested in, feel free to visit and take a look at those! :)

Estimation for Project Management and Life in General

As I have read the Project Effort Estimation section of the book called Systems Analysis and Design with UML, 4th Edition from Alan Dennis; Barbara Haley Wixom; David Tegarden, I have learned how managers need to carefully analyze, consider, and even do some calculations to estimate time and effort required to build a system as accurately as possible.

Trade-Offs

According to the book, project management often requires trade-off decisions along the way, meaning that in order to achieve a certain goal, parting with another or other goodness or goals is necessary. (I personally thought this notion is very similar or the same as 'opportunity cost' in economics term) I thought the book gives the great example for describing what trade-off basically is like:

For example, if a project manager needs to readjust a deadline to an earlier date, then the only solutions are to decrease the functionality of the system or to increase costs by adding more people or having them work overtime.

Estimation

Estimation is the process of assigning projected values for time and effort. - System Analysis and Design

Assuming trade-offs occurs in a very frequent manner, project managers need to have a basic estimation of how much time, effort, or money is required for the project to be done successfully before the project begins so that they can have an brief image of how the project schedule should look like, and even when they need make critical decisions or 'manage' the project going forward along the way, they can always refer to their estimation.

Of course, as the project goes on and revisions of the project schedules are made, this estimation can be changed as well. Usually, estimation gradually becomes more specific than the one made at the beginning of project development since managers will have more experiences and resources as ingredients of the estimation.

(The book neatly mentions how the process estimation should be made - making use of user cases and user-case diagram through the calculations of important factors such as actors and user cases to eventually create Use-case-point-based estimation, and in addition to those, add some other complexity factors such as TCFs and EFs for estimating time and efforts required for a project. If you are really interested in learning more about those, click the book image on the top-right side, which will direct you to the amazon page of this book.:))

Learning From the Past

The book also mentions how important it is to keep the data and experience somewhat in a visual form so that companies can make use of those, especially when they are in the process of estimation:

One of the greatest strengths of information systems consulting firms is the past experience they offer to a project; they have estimates and methodologies that have been developed and honed over time and applied to hundreds of projects.
Although the key concept that the book teaches is not the process of learning from the past, I thought this is the great practice to apply and make use of, not just in the project management or any business activities, but in our daily lives in general as well.

When I wrote about difficulty of wise planning and its importance, the comment I got from my professor from online class was impressive to me, and I think that was because the process of estimation and planning is very closely related, or depending on the way people think, these are the same thing, but also as I mentioned above, what I learn from reading this book will not only become useful when actually planning or estimating in any project development or anything related to business or work, but the way we behave in our daily lives.

The real challenge is that in a world where you are competing with others you need to get the best estimates possible, and get just the right amount of planning done to achieve your goal. The best approach might be to try and learn from your previous efforts at estimation and try to gradually get better at estimating and working out how much planning to do. - Dr. Joseph

Thursday, December 6, 2012

User Stories for HPU Basketball Team

To say in a very general and broad way, the coach is willing to have a better way of managing stats and data with regard to individual player's shooting statistics from various different regions in a basketball court, data such as when a player shot, totals of making shot, and so on.

So I have started writing user stories for HPU Basketball Team by listening needs from one of the coaches of the team. Here is what I have got so far:

There will be updates and improvements soon!

Monday, December 3, 2012

Review - The Sims Social on Facebook

I have played the game The Sims Social on Facebook, so I would like to review what I felt while playing this game.

First Impression: This is THE Social Game

I have not played the social game a lot in my life, so at first, I did not know what to do although The Sims Social has a tutorial where players can firstly get used to the world in the game, visual experience, etc. In addition to it, it is really fresh to me to play this kind of game where people can actually interact with others in the virtual world, and this game was more realistic in terms of characters' faces, houses, etc compared to other social games. That's how I felt.

As I keep playing the game, I found that correcting the ball-looking points things that come out by doing some sort of actions in the game is interesting because of its sound and movement when I hover on it. As I kept correcting more, I thought my character in the game is getting better or growing, and I thought that feeling is what inspires players and lets them have fun in this game.

Usage Difficulty?

After I played the game for the second time, I realized that I can move the view of the world by dragging the mouse, and somehow I did know realize it in the first time. Thus, I was having difficulty clicking the ball-looking points to correct although it will automatically be added as points after waiting for some time.

What To Do?

In conclusion, although this game was interesting to me in a way that by doing something, I can earn some points for buying new things and making my character better, I could still not figure out what I really had to do, or enjoy this game. This is because I am a kind of person that I need the purpose or aim when I play the game, so I am not sure. Yet, I really liked the sounds in this game, visual experience in this game, movements of the characters, and varieties of things I can do in this game! Here is the official website of this game (not from facebook): The Sims Social. The announcement trailer of this game really rocks!

Prototype #3 - Peter the Cockroach

Here is the prototype #3 of my game:

Peter the Cockroach

Things Changed:

Here are some changes I made from prototype #2:

  • Added winning scenario:
    eating sufficient food to get over 5 points of score.
  • Added flexibility of understanding singular form of things
    e.g. Just by typing 'straw', the game will understand it as 'straws'
  • Added some food in the game world:
    hairs and leavings
  • Added some randomness in the game to have variety of losing scenario:
    being crashed while crossing the road happens randomly, and if the player is lucky, they can directly go to the kitchen without any hassle.
  • Added score rule that players can earn score by eating food:
    the score the player can earn depends on food.
  • Added a score display on the right side of the game screen.

Things That Will Be Added:

  1. Tutorial mode
  2. Understanding 'help' command to display what commands each player can type.
  3. Understanding 'map' command to display the map of the game world.
  4. Human beings' attacks scenario
  5. Dog chasing scenario
  6. Human Beings' traps scenario
  7. Auto-spelling completion
  8. World extension
  9. More variety of food
Yes, more revisions and improvements needed...!!!!

Eargerness

Now I am kind of getting used to inform7 game development, so I am more eager to add and implement new features and stories in this game.. This game will improve more! :)

Information

Now I have updated my Github page for Peter the Cockroach, briefly created Github Wiki page and Github Issues page. If anyone is interested in, feel free to visit and take a look at those! :)

Saturday, December 1, 2012

Overview of Feasibility Analysis

Since I have mentioned previously about planning in Difficulty of Wise Planning and its Importance, I think it is reasonable to write about what I have learned about feasibility analysis through the reading of System Analysis and Design with UML in this post since both the process of planning and feasibility analysis are sequential and closely related.

What is Feasibility Analysis?

According to the built-in dictionary of Mac OS X, the word feasibility means

the state or degree of being easily or conveniently done: the feasibility of a manned flight to Mars.

This implies that 'Feasibility Analysis' could be something like the process of analyzing the feasibility of doing something. According to the book System Analysis and Design with UML, 4th Edition, it says,
The feasibility analysis is there to guide the organization in determining whether or not to proceed with a project.
So, assessing whether the project plan that the company or a group within the company created is possible to attain its goal or not is the main purpose of feasibility analysis. In order to determine the final decision of whether to proceed the project by injecting company's money into it, the feasibility analysis tries to analyze how feasible the project will be by evaluating 3 different types of feasibilities:
  • technical feasibility
  • economic feasibility
  • organizational feasibility

Technical Feasibility

Technical feasibility assesses wether there is any risks or concerns related to anything technical along the way to proceed the project. For example, as this book suggests, companies can assess technical feasibility by asking themselves "Can we build it?". The question certainly examines whether the company has sufficient skills, knowledge and a capacity of the technologies that are used for the project. In addition to that, companies can also consider is the technology appropriate for the project, reconfirm the necessity of the technologies that they are about to use, whether users or developers are already familiar with this technologies, and so on.

The book gives us some of the examples of how to apply technical feasibility analysis:

  • compare with other projects that have already done within the organization
  • ask for IT professionals whether the project is possible to successfully complete

Economic Feasibility

While technical feasibility focuses on technical risks, economic feasibility, also called as cost-benefit analysis, focuses on mainly financial risks. Companies assessing economical feasibility ask a question like "Should we build it?" while considering its financial factors such as costs and benefits that the project will produce. Assumedly companies would not want to proceed the project if they can assume that costs of it will exceed benefits they can obtain. The book specifically states the process of assessing economic feasibility as
"identifying costs and benefits associated wit the system, assigning values to them, and then calculating the cash flow and return on investment for the project."

The book also mentions with regard to economic feasibility; it suggests that the more the expensive the project will be, the more effort and carefulness that companies should put into their economic feasibility. This is because expensive project simply implies that the big risk that companies have to bear and be aware of.

Organizational Feasibility

The last one, organizational feasibility allows companies to check and see if the outcome of the project, most likely applications, serves, or tangible products, will be helpful to attract more users or customers. The difference between economic feasibility and organizational feasibility is the meaning of benefit -- more actually money, or more users or customers. Thus, the best question to assess organizational feasibility is "If we build it, will they come?"

Not only future users or customers, but organizational feasibility also concerns how existing users or customers will benefit from the project. This means that companies can make sure whether the outcome of the project will create better environment for the user to be more familiar with other products or services, and the company itself. I personally thought that requires somewhat of connections or the brand impression between the project outcome and existing services, products, and the company itself must be shared in common. So that the existing customers or users of the company's business will like the company and be more familiar with it and its business.

Feasibility Study

The overall analysis and the result of those three different kinds of feasibilities above will be combined together eventually and called Feasibility Study. (In fact, in the real world, there a lot more to concern not just what I have explained in here..) This overall conclusion of the analysis will be given to the approval committee at the end of project initiation, and the final decision of whether the company should proceed to the project or not will be made.


Personal Review From the Reading

Through the reading of the section feasibility analysis from System Analysis and Design with UML, I simply thought that there are a lot of things that companies need to consider and be careful about before trying to move forward by doing some new projects and so on. As I will be working as an employee after I graduate from the university, it helps me have an image of how I feel or have to be aware of when I start working there, as it is not just simple as I was just randomly guessing and imagining a lot of things about working in real life from the outside of companies, as a student. Responsibilities, profits, costs, end-users, customers, usabilities, and more... I felt it is just so much to think about and carefully consider before making an action, and I realized that that is the real life, and therefore creating innovations or anything that changes people's ways of living is just so amazing and very far away from just 'good' result.