End of Week 3: Tutorial Completed

--Originally published at TC3045 – Quality and Software Testing

5672524074_0a350d03aa_z
“clouds” flickr photo by Lonny Paul shared under a Creative Commons (BY) license

On this week, I designed a simple level that will teach the player how to use controls and I added a simple CSS file to center the canvas of the game. But what is more important, is that now, it will be easier to add more levels because once the tutorial level was designed, a small refactoring to the main file was done by Montoya so that it could read JSONs with complete information about a single level, not only objects locations but also specific functions to move obstacles in different ways.

I enjoyed the teamwork from this week, every one of us did different things and at the end, we integrated it on a single branch.

Week 3: Level Design

--Originally published at TC3045 – Quality and Software Testing

6027016199_18a61e7bfe_z
“clouds” flickr photo by Pattys-photos shared under a Creative Commons (BY) license

Now that the main functions of the game are implemented (physics, timer, wall-jump and obstacles) the next step is to implement a graphic user interface and different stages or levels for the game. On this week I will work on the design of a tutorial level (or level 0) that will teach the player how to move, this implies that I may have to do some refactoring for my own understanding and to organize the functions in such a way that it would be easier to change from level during the gameplay.

End of Week 2: First milestone completed

--Originally published at TC3045 – Quality and Software Testing

3594037468_236d161fe2_z
“’Fire Rainbow’ over RBV” flickr photo by Bryce Bradford shared under a Creative Commons (BY) license

The first milestone had been completed successfully, there is a little bug related to the gravity of the player but is easy to fix and it does not affect any other functionality of the game. I got a problem with Node.js and npm because on my computer the project did not want to run, so while I was fixing it (updating Node and npm) I kind of pair programmed with Andres to work on the movement of obstacles. I really do not know if I helped because I felt like I was just watching, I also asked him why he was doing certain things but I did not help in anything related to the logic of the game.

I hope to fully understand how pair programming works and what are the best practices in such a way that working in pairs would be more efficient than working alone. I really want to feel usefull when pair programming.

Week 2: Let the testing start

--Originally published at TC3045 – Quality and Software Testing

8341906565_1d5b83e0f1_z
“Cloudy” flickr photo by CLF shared under a Creative Commons (BY) license

Now that we have some of the functionalities working, we can start doing some testing and fix bugs if there are any. But before doing testing, we will finish some gameplay functionalities. We can also refactor some code so that it could be easier to test, such as grouping lines of code into different functions.

As for what I am going to do specifically, I am going to implement a cyclical movement of obstacles that is going to be used for harder levels.

 

End of Week 1: Unexpected progress

--Originally published at TC3045 – Quality and Software Testing

As the title says, something unexpected happened, do not worry, it was not a negative thing but something positive. I already had high expectation of the team members, and on this week, they exceed my expectations, specially Arturo Fornes.

7171670314_813df4c78e_z
“Rain drops” flickr photo by Rory MacLeod shared under a Creative Commons (BY) license

I think Arturo did relative a lot this week in terms of tasks, because on the project, he implemented basic physics such as movement, jump, wall jump and gravity. Additionally, he started the setup so that we could have at least and empty runnable project. Miguel started to implement testing, Andres an object on the game that will be used as a goal for each level and I an obstacle that return the player to the beginning when touched. Notice that I am only writing what I saw them doing, if you want to know more about them, check out their blog.

As a team we started to use GitHub in a more professional way. We started to use issues and more descriptive commits. It was the first time I used branches for developing and having master as the branch with a runnable project; since it was a first time, I almost screw up the repository. It was a good thing that this happened on early stages of the project rather than on the last moments of the deployment of the project.

I learned a lot on this week, and I am not talking about technology stuff but about teamwork. As a project manager I learned more about my team, I learned that each member can work much faster than I expected, that means that I have to rework the schedule and separate tasks in group so that watch of us could work on independent functionalities of Continue reading "End of Week 1: Unexpected progress"

Week 2: Initial setup

--Originally published at TC3045 – Quality and Software Testing

4305537991_9f68bb876d_b
“workplace” flickr photo by Martin Hufnagl shared under a Creative Commons (BY) license

The first thing I need to do, before starting the project, is to prepare our workplace, not only me but my team as well. So, before we start in working on our project, we are going to create a repository on a version control system, in this case, GitHub, and make an initial commit to make sure that every member of the team is in the repository.

After that, we need to choose a framework that could make easy and efficient the development of our project.

Finally, we are going to “play” with the framework and make some functional examples with it. This, with the objective of getting use to it so that we could work faster with our project next week.

The project starts today… or maybe later

--Originally published at TC3045 – Quality and Software Testing

Is it raining? no, it’s not.

This is the first blog related to the TC-3045 course project in which I am going to write about what the project is about, general ideas and some specific details of it. I know that some requirement will probably change, but my professor Ken Bauer told us to keep track about all the decision that are made for a project.

Clouds by edward stojakovic on Flickr under a CC License.
Clouds by edward stojakovic on Flickr under a CC License.

You might be wondering why I wrote that subtitle about raining, if you want to understand the little joke (although it may not be funny), you have to read this blog from Arturo. This reminds me that I have to present the team members of this project. They are Arturo Fornes, Miguel Montoya, Andrés Barro and me (Gerardo Juárez).

They named me project manager, I do not know if it was a joke or not, but I still did what I think a project manager should do first: I suggested long-term and short-term goals for the project and they approved it. I will write about the milestones and goals on my future blogs.

I want to make something clear: everyone on my team have the experience and abilities to be, at least, a project manager for a school project.

If you already read Arturo’s blog, then, you have already finished reading this post because what I will write next is about what the project “It’s not raining” is about.

It’s not raining is the working title of our project, is intended to be a browser based platform videogame I which the main goal is to achieve the highest score possible and show it off to anyonewho is also playing this game. This will be done through a leaderboard. The playable character might Continue reading "The project starts today… or maybe later"

Course expectations

--Originally published at TC3045 – Quality and Software Testing

As the title of this site suggests, the course tc3045 is about quality and software testing. After having the first class I was so relieved and fascinated about the grading system the professor Ken Bauer told us. If I did not misunderstand, then, in general, the course is going to be graded with a final project, weekly advances to it and, most importantly for me, with no partial exams where you have to write everything you learned on the partial.

I think this grading system fits perfectly with this course because I think that a great way to teach quality, is giving the students feedback about what they need to improve after seeing what they can do.

What I hope to learn from this course are good practices for team development projects and different tools or habits we should do as software engineers to test our software and to write code that everyone, or at least your team, could understand.

There is this sentence that I liked a lot from this blog that our professor shared with us:

I’m not looking for great work; I’m looking for their best work.

– Adam Croom