John’s Status Report for 3/22

Testing Platform

I continued working on a platform to test our modules with the Arduino. The board is symmetrical with two copies of each component to simulate the two module slots in each player’s panel.

Three switches are used on each side of the board to select which module the protoboard should simulate. This is because a 3-bit signal is used to determine which module is plugged into each slot of the panel.

Each side has a potentiometer, a button, and a space to insert an encoder. There is a row of header pins that connect to the Arduino pins via jumper wires.

Progress and next week’s deliverables

Progress is on track. For next week, I’d like to get some electronics integrated into the 3D printed modules. This should allow us to test gameplay / user interface.

Team Status Report 3/15

The most significant risk we have identified right now is the design of the modules. We’re a bit late schedule-wise with it, and it is quite essential to the enjoyability and feel of our game. Alan’s been a bit slow with the CAD designing, but we have some models already printed. We are working on getting those finalized quickly, so we will have a prototype for the demo. In the meantime, we are able to model the functionality of the reconfigurable controller from the mock protoboard that john designed. Which I guess can serve as a contingency for our interim demo, but that is very not ideal. We also have some prototype designs for the modules printed out, but they still need refining.

No changes were made to the overall system. We have slightly altered the design of the modules to have a better grip. I guess we also made decisions to have an attachable cap in order to make it easier to iterate on the module design without having to glue things together and then unglue them.

No changes have been made to the schedule.

Photo of newly designed and printed module and holder:

Alan’s Status Report 3/15

Mostly I worked on redesigning the modules. We used some of the advice from Gloria and made a model with slanted walls. I also got it printed

It works better than the last print. There’s enough room to insert it somewhat comfortably. I fear there might be some issues in a more high pressured environment with fitting. I’m not sure how exactly to solve that, I think maybe rounding the edges might help. But I will discuss more with the rest of the team.

I next need to make the cap for the module. Right now it’s just a generic hole, but we want to make a cap that can be easily snapped on (for reusability purposes) and also we need to make the holes custom to the specific type of peripheral they will be housing.

Lastly, I made some more progress on the code (which can be seen on the github). These changes were mostly centered around the encoder but also a lot of actual integration efforts. We got to read actual inputs and test it with a sample protoboard that John made.

 

For next week, I want to finish the cap design (mentioned above) and then print out the laser cut walls for the controller. There are also some discussions I want to have about the sending the encoder values from the arduino, that I have been saving for an in-person discussion. I think we should get that finalized soon just so we can integrate the arduino with the unity game, since we do have the protoboard set up at least. Also, we need to do some work for the ethics assignment.

Angela’s Status Report 3/15

This week I added some basic UI for the player’s score and implemented the behaviors and animations of a second enemy, a barracuda. I also started work on the third and final enemy type, a sailfish. My main goal for next week is to finish the sailfish and barracuda enemies, and make a few more small visual / quality of life improvements to the game. Next week’s stretch goal is to implement the enemy spawning system. Game is on track to meet MVP. Continue reading “Angela’s Status Report 3/15”

Alan’s Status Report 3/8

I tried printing out the current iteration of the module design. The 3D printing came out fine, but I need to make changes to the actual design. Currently there is not enough margin between the module piece and module holder for it to fit easily. I would attach a picture, but I do not have the 3d printed pieces on me at the moment.

I also wrote more code for the arduino. This can be seen on our github (https://github.com/amabraha/c3-aquamods-arduino). Most of the changes were refactoring toward generalizing the skeleton john wrote for our use case of interchangeable modules. I’ve also made progress toward our interrupt handler that will keep track of the state of the various rotary encoders that are used by the modules.

I also spent a lot of time doing work on the design report. I think that ended up being most of my Friday.

For next week, I am going to make updates to the CAD designs and print another iteration of the modules so we can see what we need to improve next. I also want to incorporate some of Gloria’s advice for the controller panels and get started on laser printing those. Lastly, I will continue working on the arduino code and integration.

Team Status Report 3/8

This week we wrote the design report.

We successfully simulated a game controller in Unity using the Arduino. We also received the rest of our electronic components and confirmed that they work as expected. We also made significant progress with game programming.

Design Changes

We have to make a slight design change with regard to pin assignments. Since only digital pins can be used for interrupts, we need an additional digital data pin. This is because we want to be able to use interrupts for reading encoder updates. We were originally planning on using one analog GPIO pin and one digital GPIO pin, and treating the analog pin as digital when we needed two digital pins for the encoder. We will now have two dedicated digital GPIO data pins and one analog data pin. This is not a significant change because we have the available pins that we need and our pogo pins have a spare pin available.

Significant Risks

The only risk we can think of at this time is the latency being higher than expected, but we will test this as soon as possible.

A was written by: Alan
B was written by: Angela
C was written by: John

Part A: Consideration of Global Factors

In general, the game we are designing is meant to be played at home with your friends physically next to you and hence lives in a very local space. But the general concepts that our project pushes toward have broader themes. In a more global context, our project contributes to the idea of more physical-oriented alternative controllers. Video games are a phenomenon that exist globally but many people are used to the same controller designs. Our project spreads more awareness of the possibility of controllers that can be uniquely created to enhance the experience of a specific game.

Part B: Consideration of cultural factors

Our product has a cultural aspect in encouraging players to play a cooperative game in person. The game is accessible to a wide age range considering that the modules have very simple controls such as buttons and sliders, so that young children and elderly people can both easily play the game.

Part C: Consideration of environmental factors

Our solution uses a microcontroller and the users’ personal computer, which use less energy than a large arcade machine. This efficiency is good for the environment since current power production often uses fossil fuels and other non-renewable resources.

Our design also uses easily repairable, open-sourced design, so users do not need to purchase a complete new set if something breaks. This reduces E-waste.

John’s Status Report for 3/8

Arduino-Unity Interface

I spent time integrating our Arduino code with Unity. I was able to successfully simulate the Arduino as a game controller. The game now reacts to us interacting with the buttons/potentiometers/encoders. I spent some time trying out the new electronic components that arrived. I made sure that the encoders are sending good signals and that the other components (buttons and potentiometer) work as well.

I also spent time working on the Arduino codebase and optimizing our design.

Design Report

I spent a significant amount of time this week working on the design report.

Progress and Next Week’s Deliverables

My progress slowed a bit due to midterms and time spent writing the design report, but I am still on track. By next week I hope to have some semi-permanent circuits (i.e. soldered protoboard instead of just breadboards) but that also depends on our panel/module design progress.