What I’ll do this week (April 9)

I have some things left to work in the api before helping Marco or Francisco with the mobile app and the tests.

  • Pool owners can specify custom amounts for each user, but they cannot make it automatic, I have to put a flag in the pool creation to set if the users will be charged the same amount, and also update everyones debt if a new user joins (This will only be updated if the pool has not started yet, because then users can start paying).
  • I need to notify users if they have a debt that have not paid (when the pool end date arrives).
  • With cash, owners should confirm the amount the users claim to have paid.
  • Store profile pics somewhere.

That’s what I’ll work this week, even if I don’t finish all of this I’ll start working in the Android app with Marco.

Advertisements

What I did this week (April 1)

This week I worked in the flow logic for cash payments, a user can only pay a pool if it has a debt, but he or she can overpay and then the pool owner has a debt with him. Pool owners can edit the debts and amounts of the users but only if the debt is high enough to surpass the pool’s total. I was working implementing stripe, in fact, we were able to receibe payments from users that registered in stripe (we were missing the frontend that would comunicate with stripe for the registration). Anyway we decided that we don’t have the time to finish this, there are other, more urgent things to do before the final delivery, so we will drop the credit card functionality from the app and focus in making better what we already have.

What I’ll do this week (April 1)

This week I’ll be working on the payment flow.

When a pool is marked as cash, users should say how much they paid and then the administrator should confirm the amount.

When a pool is marked as credit we will have to request the payment from the users and then send the same amount to the admin (we need to check if this is possible with stripe).

If the admin wants to update the amounts that the users have debt, we need to make sure that everything is kept within the limits of the initial costs (right now you can update a user’s dept to whatever amount). And maybe we should not be able to update the already paid amount (at least for credit), what’s already paid should not change.

Another nice to have would be to find friends on Facebook, instead of searching them by name or email.

That’s it.

What I did this week (May 25)

Even though we were on vacations I made a lot of progress. From the Cooper API now we can:

  • Use another invitation flow: there is an endpoint where we can find the pools that we are invited to, an endpoint to accept invitations, and another one to decline invitations, this way we can make sure that only those who are invited join and that you can also decline invitations.
  • Disabled sendgrid, we will delete the code that send emails, everything will be done in the app.
  • Friend requests, now we can have friends, send, accept and decline friend requests.
  • Login with facebook.
  • I put a server on Digital Ocean, started using travis for continous integration, everytime we push to the server repository, the app is built and the tests are run, if they pass we can merge, when we create a pull request to master and merge it, the code is deployed automatically to the Digital Ocean Server and restarted.
  • Now there is an https version of the server on port 3443, altough the http server is still running on 3000, this was because facebook only allows login from an https server. We may need to get a real certificate (I created and signed one by myself and the browser shows a warning).

Note App project

Our project for the semester will be a note keeper app, this app will keep track of the notes you’ve writen as well as its classification and share these notes with other users.

26905855_1780343678666556_1520429574_o

First Mockup

Our note app will have the advantage that you will be able to take a photo from some text and it will extract the text from the image and put it in a note (The image will need to be clear and also be text in its most part). Imagine that a professor wrote something important in the board and then, instead of writing it down by yourself you can take a picture of the board and then have it automatially converted in a note, now you are able to share it with others.

This app will be developed by Francisco, Marco, Estefy and me.

We will be developing in native Android, and will (provably) use the Android OpenCV library and tesseract to perform the text extraction, we will create a nodejs server to share the notes. We’ll test our app following the recomendation of the android developers website.

Project – Demo

this is a demo of our final project, a multiplayer videogame made with Unity.

chozaoop

Hey guys!

So we finally have an stable version of the Tanks Online game we did as a project!

Reminder: This game is not ours entirely, we got the game, then customized some stuff such as 3rd person camera, aim freely, visual filters, power ups, respawning, and most importantly a multiplayer capability we learned at the Unity Roadshow about 2 or 3 weeks ago.

Here’s a video showing some gameplay:

We had been testing the game on Ken’s class, it has been fun and it’s looking real different from the first version, Hermes freaking rocks!

While testing we detected some bugs and errors in general, Hermes then fixed it and also added some stuff. We also noticed how the game becomes less stable the more people enters a game, so let’s say it’s a good 1v1.

View original post

Project Update #4

So we’ve finished the tutorials and we will start creating our own game.

As a reminder, our objective in the course is to explore and learn about the Unity engine, game logic and how game objects work.

In the last couple of days we implemented a system to create different tanks in the same scene, the logic to control the game flow and audio mixers.

The tank manager is a script that controls that instantiate a tank in the scene, setting its new color, and defines several methods to modify the behaviour of the tank, like disabling control.TankManager.png

The Game Manager is a script that controls the game (duh), setting the targets for the camera (because there could be different number of tanks), and have different functions that are executed based in the current state of the game (i.e.: starting a round, playing, finishing). We can archive this thanks to coroutines, which are functions that can pause its execution and return to the normal flow of unity (updating the frame, etc.) and then continue executing where it left.GameManagerCode.png

So the Game Manager just defines the number of rounds to win, the delay time to start (a countdown), controls the targets of the camera, instantiates the tanks and the Manager also keeps track of the state of the tanks (to finish the game when there is only one tank left in the scene).

GameManager.png

The starting delay just shows the text “tanks!”.

Text.PNG

The audio mixer is just like a filter to all the audio sources that the game have, you can just create one in the project folder.CreateAudioMixer.png

You can also create sub-mixers, so you can divide the sounds of the game and apply different filters to it, in addition to the main mixer.

Attenuation.PNG

In the output field of the audio source of the different objects you can select the audio mixer that you want that sound belong to.

DrivingTankAudio.png

And as you can see in the images you can add filters, modify the pitch, level, attenuation and other things until you are satisfied with the sound effects of the game.

The next idea is to create an interface to interact with the tank and game manager scripts. This interface will let the player to set some properties for the game (like adjusting the damage, the force and the color of the tank).