It’s Not Raining – Final review – “I’m Sorry ” Entry

“It’s Not Raining” by B&~(B)

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.

Mongoose and MongoDB were a first time experience for me. From designing the connection “raw” to mLab, to implementing Mongoose for testing and quality of data, to migrating to MongoDB Atlas because the Tec wouldn’t let us use mLab (Because reasons?), and finally updating and designing new schemas and models. It was fun, because it was new and it felt that I trully had time to do some research so I could write some clean and functional code.

And about testing, that was still fun, but it got difficult at sometimes. I’m proud beacuse I pushed myself on designing more specific tests, with more functionalities (such as hooks and a dummy DB, so the real DB wouldn’t be polluted). After I thought that i couldn’t make the API requests tests more complicated, I decided to use the same testing framework to create a scrip for level testing and designing. And that was really complicated, to change a JSON file and see the changes on the DB without restarting the server.

At the end, I think we all delivered what we promised. And I think that every member of the team did their best to do their assigned tasks but also helping each other.

“It’s Not Raining Score” by B&~(B)

Okay, so now it’s the time where I extremely regret the moment I decided to procastinate the publication of both the posts on week 10. Supposedly at the end of the semester I have to had delivered a grand total of 30 blog entries, 2 per week. And I currently have 26 blogs. That means that if my “I’m sorry entry” (This final review is my “I’m sorry”) could be exchanged for those two missed blogs I was talking about,  I would have credited 28 blog entries… I don’t know how could I achieved 30. Maybe Ken took into account the Spring vacations (Semana Santa). But if it’s another reason, I have nothing to ammend it, so I will accept the consecuences.

Still… It was a great semester, with a great project and a nice team.

Miguel Montoya
Epseranto enthusiast


Late and FINAL Report – Week 14

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 😀

“After the rain” of Susanne Nilsoon (CC Taken from

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!

Miguel Montoya
Esperanto enthusiast

I leave you my poster down below.
Please, only share.

“It’s not raining” by Miguel Montoya (CC BY-NC-ND


No level – End of Week 13

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.

“Undone” from Wayne Stadler (License: Taken from

But now, onto the stuff that I actually did.

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.

I realized after doing the issues that I actually didn’t know where one ended and where did the other begin. This is because there was some stuff I needed to develop to test both of the issues. And before fully testing one of them, I needed to test the other, and to do that I needed the middle ground I didn’t know to which issue assign it to.
And that is why I think I should have done 3 issues (one for the middle ground), and then everything would have fitted perfectly. In fact, maybe a fourth issue was needed that would consist in updating everything that we already have (BD, tests and level development), to accept the new format and schemas.

And that is all for now.


Miguel Montoya
Esperanto enthusiast

I kinda did a bit – End of Week 12

“IMG_0152” by clement127 (CC BY-NC-ND). From

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.

And… yeah…

That’s all for now.

I know this blog is late, and I’m sorry ;-;

Miguel Montoya
Esperanto Enthusiast

Inmortal- End of week 11

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.

“No Weapons” by Julien (CC BY-NC-ND). From

My teammates worked this week in the sound system (Using, 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).

I just had an idea – End of week 9

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.

“Gun-Idea” by Linus Bohman (CC BY). From

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.

And that is all for this week.
Have a good one.

Miguel Montoya
Esperanto enthusiast

End of week 8 (Vacations)

As I was talking about the week before last, we decided to take that week lightly and so the week after that (Because it was our Taller Vertical).


“Change” by Mark Deckers (CC BY-NC-ND). From

The summary of the last to weeks is the following:

  1. I made some bugfixes regarding the code I was working the past weeks. Some of the scripts were heavily bugged, especially the ones regarding level setting and getting to and from the database.
  2. Realize that I have to update part of the documentation. That I didn’t do.
  3. Realize as a team that we need more objectives to our project. Because, as it is, we kinda have done everything. So that is what we are going to do this week.

That is all for now. Thanks for tunning in.

Miguel Montoya
Esperanto enthusiast