Friday, December 16, 2016

Course Reflection

This course (CS108) has been very informative helping students like me to learn a lot about many aspects of games such as history of games, definitions, game designs, game development process, new technologies both software and hardware based, etc. To be more specific the aspects I mentioned included a great variety of complex engines and tools available to us making it easier to create things such as art, entertainment, tools and utility programs as well as brining in some ideas and inspirations about potential future projects. Some of those projects have been developed by students to different degrees from rough pre-alpha stage prototypes to completely amazing and outstanding fully developed games and applications. Aside from acquiring and expanding a great amount of knowledge throughout this course, I have personally improved my skills in areas such as programming, writing(blogging), tools and applications usage via hands-on work. Thanks to our instructor, prof. James Morgan, this course has been very enjoyable and helpful :)

Saturday, November 26, 2016

CarbonCraft

Main Menu
CarbonCraft is a collaborative educational game teaching kids about energy usage in the house. It is a game we have created on the topic of climate change and environmental sustainability.There are very few games in the climate change category of educational games. High quality climate change games are coming out but none have multiplayer elements. We understand that getting into schools is difficult, but our approach and partnership with curriculum developers will make entry easier. CarbonCraft is aimed towards middle school students. By seeing the changes that their decisions make they will be learning by doing rather than by taking tests. Based on how efficient their choices are, they will be rewarded with CarbonCoins to purchase upgrades for their home. The players will then be rated on their choices and given awards bavsed on how efficient their home is.

Kitchen and Player's UI
So far the plan is to make CarbonCraft a co-op game where players would be able to walk around the kitchen, pick up items and throw them into the baskets. Their first goal is to gather one item from each category on the checklist in order to cook breakfast with the most energy-efficient ingridinets possible. Each item has different characteristics of water consumption, waste it creates and CO2 it produces. Also, in order to keep electricity usage in check, a player has to turn off appliances which he/she doesn't use.
Minigame
 We have also added minigames, statistics and quizes to make the game more fun to play.
Statistics(beef production)
Quiz(Boss Fight)

Saturday, November 19, 2016

GPS Games

PokemonGo(left: 3d virtual space; right: augmented rality)
Ingress and PokemonGo are GPS-based, augmented-reality games available on Android and iOS developed by Niantic where the latter can be considered a more advanced and more popular version of the former. The two games allow players to progress through the game via interaction between the real world and the virtual world. GPS-based games add some flavor to the process of playing because the virtual space is directly linked to real world through the locations which match in both worlds. When you move in the real world, you also move in the virtual world, though it's not possible to do that in reverse (^_^).
Ingress. In-game map.
I've played Ingress before. While there seems to be a variety of things to do like finding and hacking portals as well as spreading your faction's influence, the spectrum of actions playes can perform is very limited making the game being interesting in a short-term and boring in a long term. The only reason the game was interesting to me was because of the game's unique flavor of the two spaces, virtual and real, being related to each other.

Saturday, November 5, 2016

Call of the Void (version 2)

Oops, the lanterns seem to be misaligned
In "Call of the Void" you are a ninja whose goal is to assassinate 3 guards who are guarding a mansion. There is a harmless boss too :) You get points for killing each guard. The maximum number of points you can get is 100. If the guards detect you, they will shoot at you since they have firearms and they don't like you. Believe me, you won't be able to dodge their bullets.
Compared to Alpha, this version has more guards with refined AI behavior and many more animations. Moreover, now you can die, restart the game, complete the game and recieve score.
Use arrow keys for movement/jumping. 'C' - to throw projectiles. 'Alt' - to teleport forward(this is kind of a cheat; if you get stuck inside of objects, try teleporting out).

Art: Robert Steiminger.
Programming: Andrei Voinov.

Link to the game's executable: GoogleDrive.

Saturday, October 22, 2016

Call of the Void

The very beginning of the first level
"Call of the Void" is a side-scrolling game where you play as a ninja trying to sneak into a mansion and assassinate its owner. You will have to avoid areas with light or destroy light sources in order to make it easier for you to deal with guards who will try to kill you if you are detected. You can, however, kill the guards too, but keep in mind that you, as a ninja, have throwing weapons, whereas guards have firearms.

My role as a producer was to put in image assets into the game, convert them into usable sprites and make game objects based on those sprites. Objects' placement, collisions, player controls, animation triggers, AI behavior and physics were the things I have implemented and/or planning to implement.

The game's level hasn't been finished yet, so we are planning to place all kinds of objects and NPCs across the level to make it challenging and fun to complete it. Because there isn't much stuff in the game right now, there isn't much to test or play with. Other than that, once the game is finished, the major questions we would like to ask our players would be: is the game fun? Is the game challenging enough?

Link to the game's executable: GoogleDrive.

Saturday, October 1, 2016

Video Games

"You Have To Burn The Rope" is an easy and quick to finish game with a little trick. In this game there is only one level with a boss. You, as a player, have to literally burn the rope in order to kill the boss and finish the game. Controls in this game a simple: you can move and jump around with arrow keys. Most of the letter keys on the keyboard would trigger a weapon throw, which is ironically useless in this game since those weapons don't do any damage to the boss. All of those things are mentioned in the beginning of the game in pure text form by the author of the game. Naturally, when seeing a game similar to those made in Game Maker, you would expect tools at your disposal to be useful, especially when to comes to killing a boss with weapons. However, in this game you simply have to follow the game's name and burn the rope to complete it(see Pic. 1).

Pic. 1. You Have To Burn The Rope

"WizardWizard" is a typical game with many levels and puzzles which one must complete in order to advance to the next level. There are 25 levels in this game with difficulty increasing with each level you pass. The controls are simple: you can jump, double jump and move with arrow keys. And that is all you need to do here. Your goal for every level is to obtain the key and open the door which leads to the next level. Even though a player can die from a fall into abyss or to a spinning cog, the death is not permanent and the player would respawn immediately and attempt to complete the level again. However, when the player dies, the deathcount increases by one. Note that each level's title provides a hint to or outlines the major obstacle in your path to finishing the level(see Pic. 2).

Pic. 2. WizardWizard

"This is The Only Level" is a game with only one physical level, but with dynamic mechanics which change with every stage of the same level passed. Things like gravity, controls, objects' and surfaces' characteristics vary with each stage with one or more things from the list changed on each stage. Even though the level's structure always looks the same, the objective, which is to reach the other end of the level, or rather escape the level, would be the same and in the same place. However, due to variation of all of the factors mentioned before, players experience different challenges throughout the stages of the game. The game tracks your time, and the number of deaths. Each stage has a title which is a hint to how to beat the stage(see Pic. 3).
"This is The Only Level" looks very similar to "WizardWizard" in terms of some mechanics objectives, and GUI. The first and most thing in common between both games is that there is no permanent death, while there is a deathcounter which counts number of times a player died. Both games have that counter in their graphical user interfaces. Second similarity is the simplicity of the controls. While controls in "This is The Only Level" might vary with stages, the general idea is that you can jump and move around with arrow keys just like in "WizardWizard". Third, each stage in both games has a character controlled by player in two-dimensional space, a spawn point and an objective which players have to reach in order to advance to the next stage/level. Fourth, GUIs in both games have a stage/level title which somehow relates to, or points out the challenge of that specific stage or level, sometimes making it easier for a player to find a way to complete the stage/level. Fifth, both games have two objectives players have to complete, though there are some exceptional stages in "This is The Only Level" where you don't have to complete one of the two objectives to proceed to the next level. In "WizardWizard" players have to obtain a key to open a gate leading to the next level, whereas in "This is The Only Level" players have to press a button first in order to open a path leading to the next level.

Pic. 3. This is The Only Level



Sunday, September 25, 2016

XCraft the Board Game

XCraft is a board game about two to four powers fighting for control over an ancient artifact. Players represent and control the forces involved in this war. They can gather resources, build their armies, fight their opponents and capture control points around the artifacts. The ultimate goal of this game is to take control of all 6 control points around the ancient artifact. Only one player can become a winner.
This game has gone through three stages of development with one play session per each stage. When the first version of game was built, there were some uncertainties about what values should be used for resource gathering, producing workers and warriors and limits to players' actions per turn. Since there were only two players available for the first play test, the game board was drawn for just two players(see Pic. 1). In the first version of the game the game's pace was extremely slow. Due to the game objective being too difficult to achieve and some balance issues with resources' conversion rates, it became almost impossible for players to finish the game. There were 16 control points for players to capture to finish the game. It would've taken a lot of time to capture all 16 control points, but the game can only be won if a single player captures all of those points which, under constant pressure and fierce attacks from the second player proved to be impossible.

Pic. 1. First version of the game board

Because the first version failed as a winnable game, there were changes made to the number of control points around the objective making it 6 instead of 16 and the resource gathering amounts as well as cost of units. The second version of the game introduced limits to how many actions players can take each turn making it 2 actions per turn with certain rules for how those actions can be utilized. The speed at which players could build their armies increased, which made fights between the players to occur earlier in the game and more often throughout the game ovrall. These changes significantly sped up the game's pace; however, they were not enough to make the game's goal achievable within reasonable time frame. In other words, the game still took too long to finish. The major problems with the second version were that there were too many fields that players' armies had to cover in order to get to the objective. On top of that, the number of fields around the board was bit chaotic and unbalanced favoring some players over the other(see Pic. 2).

Pic. 2. Second version of the game board(graphical representation)

Changes made in the third version of the game were mostly focused on the game board's layout. The 6 core control points around the objective were numbered from 1 to 6 and each player, when rolling a die, could choose to instantly move his/her warrior unit to one of the six control points depending on the number rolled. This meant that all players could get to the objective without having to cover big distances and instantly occupy a control point. If a control point is occupied then another player who also wants to jump to that spot would have to fight the player in control of the point. In addition, the paths leading to the control points were rearranged making it easier for players to reach the objective. The more players play the game, the longer it takes to finish it, but, at the very least, after two iterations of changes to the game, it became winnable.
Here are some shots from the final play session(game's version #3) with 4 players(see Pic. 3 and Pic. 4). There are still some issues with the balance of the game in terms of layout of the board and the location of control points, but the third version of the game is much better than the last two.

Pic. 3. Third version of the game(1st turn)

Pic. 4. Third version of the game(nth turn)

Sunday, September 11, 2016

Forbidden Island

Pic. 1. Initial Setup

Once upon a time, Explorer, Engineer, Messenger and Pilot discovered Forbidden Island. Unknowingly to them, the four slightly adjusted the laws of nature on the island making their hunt for treasures a bit easier than it would normally be. The island started to sink at a "normal" speed. Explorer was the most active one among the four in terms of distance covered by foot. He kept searching for treasures at a fast pace while keeping himself dry. Engineer was working hard day and night shoring up parts of the island. He was stubborn and unwilling to let even a single piece of land to sink on his watch. As a true friend and the most generous person among the four, Messenger continued to give away his pieces of treasure maps to his comrades throughout their journey. Pilot slowly proceeded through the wilderness recovering treasures the surface and assisting others in the process. When all the treasures were recovered, all four flew to the landing pad and were successfully evacuated from Forbidden Island.

Pic. 2. Farewell Forbidden Island

Starring: Michael Nguyen as Explorer, Kevin Bui as Engineer, Eldon Lee as Messenger, Andrei Voinov as Pilot.

Results: 5 tiles sunk, 12 tiles flooded, water level: 5(2 levels before the apocalyptical flood), 4/4 treasures recovered, 4/4 players survived. Victory!

Game Rules: http://gamewright.com/gamewright/pdfs/Rules/ForbiddenIslandTM-RULES.pdf
Boardgamegeek link: https://www.boardgamegeek.com/image/646456/forbidden-island

Monday, August 29, 2016

Prince Of Persia [DOS]

Pic. 1. Prince of Persia ... examining a spike trap

First, you have to experience ... death! Well, that's how you learn the ways to play most of the video games, which allow one to die, anyway. The game I would like to talk about is Prince Of Persia. Do not confuse it with the game of the same name developed by Ubisoft in 2008. This one is special because, first of all, it was developed in 1989, and, second of all, it was initially developed for Apple II and later ported to other operating systems. I've played it before on MS-DOS.

So you play ... as a guy who is trying to save princess from a terribly evil person whom you have to defeat at the end of endless dungeons full of traps and guards. To do so, you have to ... die ... infinite number of times until you remember where all the traps are, learn how to fight the guards with a sword, which you don't have initially. I mean, I can get to the point where I grab a sword, but when I encounter the first guard he kills me ... so sad. Overall, the game is good - simple movement controls such as arrow keys to climb up and down, jump, run; not so simple swordplay; simple scenario - save princess X, and beat boss Y; a numbers of not so unexpected deaths.

As for how experience of playing this game in an emulator compares to that of playing it on the actual DOS-running computer, I would say that I haven't noticed any differences between them. Because MS-DOS is technically a predecessor to MS-Windows operating system, there haven't been any issues with mismatching controls, run-time errors or any kind of performance problems since, apparently, compatibility between the two is high, though the emulator plays the biggest role of all by simulating a functioning DOS operating system.

References: http://playdosgamesonline.com/prince-of-persia.html

Tuesday, May 12, 2015

How much do software developers get paid?

According to the Bureau of Labor Statistics (BLS) of the United States of America the median annual wage for applications software developers was $90,060 in May 2012. The median wage is the wage at which half the workers in an occupation earned more than that amount and half earned less. The lowest 10 percent earned less than $55,190, and the top 10 percent earned more than $138,880. The median annual wage for systems software developers was $99,000 in May 2012. The lowest 10 percent earned less than $62,800, and the top 10 percent earned more than $148,850 (BLS, 2014).

http://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm#tab-5
For prospective software developers it is very important to know how much they should expect to be paid once they get a job. It is not a rare occasion for a person trying to get a job to agree for the first offered to him/her salary right away without even considering the actual pay at other companies or their true worth. Employers may take advantage of you not possessing the information about how much, on average, or at minimum, you should be paid for the job you are or will be doing. Once hired, it is also a good idea to keep track of your career growth along with your pay, and compare it to the changes in pay for your profession in your state/country. Depending on how much experience you have in the field and how good your skills are, your salary may vary.

Bureau of Labor Statistics, U.S. Department of Labor, Occupational Outlook Handbook, 2014-15 Edition, Software Developers. Retrieved May 12, 2015, from
http://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm

Sunday, April 19, 2015

Presenting your project and the importance of a 15 second pitch

It is important to successfully complete your project in a timely fashion. However, it is equally important to be able to present your project as well as yourself as a part of the team that worked on the project and managed to make its clients' wishes come true. Once a project is complete, it is advisable to prepare a 15 second pitch. Usually every person from the group presenting the project should have a 15 second pitch prepared for the project presentation. The pitch should not last longer than 30 seconds, 15 of which serve you as your personal advertising saying who you are, what your major is, what skills you have, and etc. Generally speaking, for the first 15 seconds you advertise yourself as a "product" including, but not limited to information about your education, skills, experience, personal traits, and your goals. The second part of your pitch describes the product that you worked on. You advertise your project as a finished product - what was the purpose the project, what was achieved through the completion of the project, whom you worked for, and whether the project is transferable, scalable and sustainable.
http://www.synergyworldwideblog.com/2014/01/craft-perfect-elevator-pitch.html
The 15-second pitch, also known as an elevator pitch, can be applied in a variety of situations and for a variety of people. For example, if you have a product to offer, you would advertise it to a customer for the purpose of selling it. If you are a company representative, it is crucial to always have a pitch prepared because not only your future depends on the quality of your speech, but also your company's future and potential profits that you are partially responsible for. You might also present your business to one of your business partners. Katherine Arline (2015) states that "the key to an elevator pitch is length: the pitch should last as long as a typical elevator ride, or about 30 seconds. A longer pitch risks losing your audience's attention, while a shorter one may leave out important details. Equally important is content. Your pitch should include intriguing details about your business, paving the way for questions and conversation."

Arline, K. (2015, January 26). What Is an Elevator Pitch? Retrieved April 19, 2015, from http://www.businessnewsdaily.com/3937-elevator-pitch.html

Sunday, April 12, 2015

Let Me Teach You Agile

Agile is a software development process which involves adaptive planning, organized step-by-step development, well-communicated implementation process (receiving feedback about deliverables, and making improvements based on the feedback). Technically agile is an abstract methodology which can have different forms depending on a scale of a project it is applied to, size of a group/company doing such a project, and other factors which may affect a development process. What's common in all agile-based development processes is the concept of constant planning and improvement throughout the period of a product's development.
http://www.adfkickstart.com/wp-content/uploads/2012/12/agile_methodology_overview.png
Emina Elezovic says that "agile development methodology is a conceptual framework for undertaking any software engineering project". This is a slightly different definition from the one that I wrote before, but it has the same idea of interpreting agile as a "conceptual framework" for projects. Elezovic also explains that there are a number of agile software development methods but the most popular are Extreme Programming (XP) and Scrum. In general, agile methods attempt to minimize risk and maximize productivity by developing software in short iterations and by deemphasizing work on interim work artifacts (Elezovic, 2012).
 
Elezovic, E. (2012, December 21). Agile Methodology. Retrieved April 12, 2015, from http://www.adfkickstart.com/agile-methodology

Sunday, March 22, 2015

How much of my work and what I create do I really own?

When a person creates his/her own original work, whether it's a piece of art, a written story, software, hardware, etc., it automatically becomes that person's intellectual property, who, by default, owns rights to its reproduction and distribution. There are two types of intellectual property: registered and unregistered.
  • Registered intellectual property gives the owner rights over the monopoly of the concept.  Examples include patents, trademarks, design rights, domain rights and plant breeder rights.
  • Unregistered intellectual property only prevents others from copying the concept.  Unregistered trademarks, copyright and database rights are all unregistered (Wilson, 2011).


In the sphere of software development it is very common for a person who writes a program's code to transfer some or all rights to his/her client. The usual way of handling the ownership of an intellectual property is through a contract or any other written agreement between the developer and the client which is supported by law. When making a contract, because you own your original work, you can assign to the client as few or as many rights as you want. For example, you can assign rights to use the software only in certain geographic regions (U.S. only), or for specific periods of time. You can also control whether the client is allowed to modify your work or license/sell your work to a third-party without your approval (Kimbarovsky, 2009).

Kimbarovsky, R. (2009). Contracts. Retrieved March 22, 2015, from http://rosskimbarovsky.com/contracts-for-software-and-website-developers.pdf

Wilson, K. (2011, June 3). What is the Difference between Registered and Non-Registered Intellectual Property? Retrieved March 22, 2015, from http://www.hawkip.com/advice/what-is-the-difference-between-registered-and-non-registered-intellectual-property