Warning: Declaration of AVH_Walker_Category_Checklist::walk($elements, $max_depth) should be compatible with Walker::walk($elements, $max_depth, ...$args) in /home/kenbauer/public_kenscourses/tc3045winter2018/wp-content/plugins/extended-categories-widget/4.2/class/avh-ec.widgets.php on line 0
Warning: Declaration of AVH_Walker_CategoryDropdown::walk($elements, $max_depth) should be compatible with Walker::walk($elements, $max_depth, ...$args) in /home/kenbauer/public_kenscourses/tc3045winter2018/wp-content/plugins/extended-categories-widget/4.2/class/avh-ec.core.php on line 0 TC3045 – Quality and Tests of Software – TC3045 Winter 2018
Today we officially delivered the project at the Engineering Expo. There we presented our project to some judges and fellow students. Well, usually the explanation was for the judges, and the students would come just to play the game and try to get through the last level and put their playertag in the leaderboard.
I have to say that my score will be (Or already has been) overcomed by anyone who has a just a fraction of eyes to fingers reaction. What I’m trying to say is that even after one semester of development, I’m so bad at the game… After more than 1 hour playing level 4, I surrendered, and assumed that I could go trought all the levels in 2 hours, more or less, and then I pushed my score to the DB, manually. I think I deserved to be in the leaderboard of the game, even if I couldn’t put it there usiang legal abilities.
But now, onto my kinda semester retrospective.
I feel that overall this smesterI learned a lot about WEB development using NodeJS. In my WEB Development class project I learned about front-end frameworks, back-end development and deployment, different ways to make requests to de server, implementation of MariaDB queries on the server’s routes and the delivery of JWT and local storage.
What I learned in that class was useful for me, so that I shouldn’t need to worry about how to do all of the back-end development on this project, and instead focus on enjoying more the project, setting up Mongoose and MongoDB and designing server tests. I found out that I could really have fun doing those three new things because I didn’t worry at all for the rest of the stuff.
I don’t know what to say about my new habit of making very late publication of our weekly reports (And any report in general).
This week the rest of the team primary focus was to film and deliver the final project video, and myself, I worked in the design of the project poster. The one that we needed to present at “The Engineering Expo”. I’m very proud of that poster, I think it ended up real nice
I’m proud of our project. I think we worked very well and accomplished the delivery of a nicely done (And well tested) product. I’m still amazed at how bad I’m at playing it. But the doubts about myself got at ease when I saw at the expo how most of the people who played were having difficulties playing, because it is indeed, a difficult project. I guess my teammates just practiced a whole lot more when designing the levels and testing them.
See you the next time!
I leave you my poster down below.
Please, only share.
So previously (TO-DO) I committed to doing 3 issues. And sadly I just accomplished 2 of them. According to myself, I completed the two most important issues, and I left the boring and “difficult” to deal with one. And I’m talking to the creation of level 5. I didn’t have time for its development, and it’s also so booooooring and tiring to try and match the size of the figures to the ones I have in mind.
The first issue consisted in creating the Mongoose schema to hold the texts that some levels have. It should hold the texts in multiple languages. This part was easy. in fact, it is the shortest schema we have.
The second issue consisted in simply updating the Mongoose schema of levels. This meant only changing the text field with a boolean (Because the text now is held in the level-text document). This was also very easy.
So, what wasn’t easy? The middle ground of this two issues. This consisted in updated the server routes. Make a new route to deliver the text of the level. Make the BD connections for this level to be fetched. Make the HTTP requests from the client to the server. Update the way the level is loaded and decide whether or not a fetch for the texts is needed. And the worst of it was: Updating the level development script so you could modify both the level document and the texts document at the same time.
Okay, so now I have again stuff to do! Yay! 3 issues to be exact! 2 that I guess i’mgoing to like, and 1 that I must have. This week, and remaining sprint will be focused in incorporating multiple languages to our game. So my 3 issues are mostly related to that.
Update the level schema and already uploaded levels, so that they have only a boolean property called text. If true, the level loader must get the level data.
Create a new schema, for the level texts. It must contain all the languages for the texts of the level.
Okay, so doing the stuff that Gera asked me to do took me like 10 minutes. Which isn’t much, but it was more than what I estimated. I forgot how much time it takes to move stuff in the game window. Instead of giving to coordinates and creating a square using only the diagonal, it asks for the center coordinate, a high and a width, making my space senses go uisndqne… Oh, and to take a bit of initiative, not only I increased the size of the texts, but I also updated the content and added new texts to the level.
I’ve also created and updated some DB scripts. Now we have a remove level script, and there are some comments in most of the scripts to make a more specific query to the DB.
So this week I worked in the addition of a new enemy. This enemy is immortal, or at least to our knowledge, it is immune to bullets. This enemy is yellow (As if it was a shield), and those are the only visual differences in of the enemy. Obviously if it can’t be destroyed, it won’t give any points and thus it won’t display any text on hit.
And I would love to show here a little GIF of the enemy, but there are some sound issues that don’t let the game load (Not even an specific level). And I’m not blaming anyone, the issue only appears until devices pulled the repository, not before making the push.
My teammates worked this week in the sound system (Using p5.play, please check our README to see every framework we are using). They also worked regarding the implementation of new walls and objects (I helped a little bit on regarding the Mongoose level schema).
Okay okay… Now I don’t have an excuse… If you haven’t noticed, I missed a complete week. Week 10. Why? I could tell you many excuses, but those wouldn’t be completely true. What really happened is that I didn’t plan a moment to write both blogs and neither I dedicated a lot of my time to the project. That is the truth. Now I will tell you that the reason for my reduced interest in the projects that I had another pair of projects to dedicate my urgent attention. And then our one-week break made thing worse, making me forget completely about the work I was missing.
But that will change this week. I will finally implement the new enemy. I will try to touch as little as much as possible the code that my partners have made. As they have mostly dedicated the front-end and the game itself, and I have been working only in the back-end and testing.
If I can make it work changing the level JSON data, would be nice.
Okay, so supposedly this week we would try to come up with some new ideas for our project. Because,you know…. We kinda did all of them already.
My team came up with several ideas and changes. But what I think it’s the most important is that we are going to -finally- introduce proper sprites and sounds to the game. The idea of different surfaces (Like some slippery and bouncy ones) that would affect (And force us to develop) a more complex set of phisycs.
Well, at least I suggested a new issue for the project (new issue) that I will be implementing. That is a new enemy that can’t be killed when shooting at it. This will enable us to develop more levels where we don’t need to care about the gameplay getting to easy if the gun is spammed.