This past week in the capstone has gone very well compared to the last couple. The alpha is behind us and that has given the team a lot of stress relief. Now, the goal is cleaning up our code for the alpha in order to release a working beta. On my part I have some work to do (that might involve re-doing some of my code which I’m not happy about) but I am getting it done. The main problem is in how I created wall objects and the fact that Unity has no way to grab an object just by it’s location. I think the best (maybe only) way of doing this is by when I create the objects, I instantiate all of them into a list and then iterate through all of them one by one when I do the clean up. There might be a slight issue in the way I am doing the clean up as it will likely make the game lag a lot, but as far as a beta release is concerned I think its ok to have it this way. It does feel kind of bad though. The next thing that I have to do is change the input for what texture the code reads. The code currently finds a specific picture in the Resources folder. I will have to find a way to get the path of a maze picture off a click or import in order to use that as the path for the texture. I will have a problem here because what I am currently using requires the picture to be located in the Resources folder. So importing pictures from the camera or camera roll will require the pictures to first be sent to the resources folder before being able to load it. I’m not sure of the practicality of this, it might be better to just have a different method of importing just for the camera or camera roll.
Author: Gavin Thompson
Capstone Q2
This week has gone amazingly. I finished part of the project that has been worrying me for a long time: turning an image into game objects. In its current state, the code requires the maze to be drawn on a white background, but it works and is able to create a maze out of colliding-walls that are built out of small individual components. I think the next big step for me is changing the input to the code so that it can grab any maze of choice, though I’m not sure how that’s going to be implemented as of now. This has taken up most of my time in the past week or two as I have decided to focus on the project rather than my other classes, so it will be nice to hopefully have everything leveled out to where I can work on every class a little bit at a time. Something that is worrying me immediately is that I have a midterm in one of my classes that I’m not sure I’m completely ready for, but since I have finished this part of the project I will be able to give the midterm my full attention until it is over. I feel that I am pretty lucky that this is my only midterm this year as my classes other than that have been two projects (this is one of the two), and a series of Labs that have taken the majority of my time spent on that class. As far as figuring out how to convert images to game objects, I think it’s a little weird and very annoying how it was so stressful the entire time I was working on it, but now that I’ve finished I think it was a lot of fun. It definitely helps that I think it’s really cool now that it works. Hopefully the next part of the project won’t be as stressful (though I expect it be), but I’m sure I will have enjoyed it once it’s over.
Capstone Q2 #3
This week in the project we actually made a lot of progress. We have found good materials and made good progress on the project. I think we are going in a good direction for this project, the only problem that the team ran into this week is with the code review. The code review required us to share code that we wrote for our teammates to review. The problem that we ran into was that our game is a lot of manipulating Unity assets, which means changing Unity settings and not developing our own code. We will be picking up the pace from now on in order to hopefully have a lot more code for the next code review, but overall we are doing well for the project. For other classes, things are starting to level out in terms of work load which is sadly not a good thing since there is still a lot to do at one time. But, at least for this class, the further that we get in the project the more fun it becomes so it’s nice to be looking forward to something.
Capstone Q2 #2
This week for the capstone went by very slowly. I spent most of my time familiarizing my self with Unity and trying to find options/sources for image processing. Image processing seems like a daunting task and I would like to get started on it as soon as I can. This past week has been a bit hectic for my other classes, and since I tend to be due date driven, I will do things in order of due dates all at once instead of spacing out work over weeks. I will definitely prioritize this project for the next week and will try to get into the habit of spending a little bit of time on everything. I enjoy being focused on something and sitting something through until it is done, but with large projects like this on top of my other classes, it doesn’t seem very feasible to attempt to do everything all at once especially since a breather from stress is good every once in a while. I feel comfortable with Unity basics for now and will be spending all of my time on the project for the week getting familiar with image processing and coding/debugging when I’m able. I think the end goal for this week will be to process a straight line into something that can turn into a wall for the game. Processing an image as multiple connected lines is an advance task for me at this point, so I will take it slow and will move with the goal of producing anything. The stress from other classes has settled down a bit and will be at least a little bit lighter for the next few days so I’m glad to have the option to rest in between jobs when needed.
Capstone Quarter 2
This is the first blog since the previous quarter so I’ll summarize the previous quarter quickly. The first quarter in this project was all about documentation, figuring out project details and requirements, and getting to know the group that I will be working with for the rest of the project. Now that we are in the second phase of the project, we will be working on code for the project as a team. So far, we have set up a task board using Trello, and divided the project requirements into accomplishable tasks in order to give our project direction. There was plenty of confusion at first (we didn’t set up the task board properly the first time) and it has been fairly slow-coming for now, but hopefully as we get into the groove of things we will be able to pick up the pace and start getting some serious work done. I am currently still playing around with Unity to try and learn how everything works and while learning how to use a new tool is difficult, I think I can at least produce recognizable results already so I am excited to continue working on it. The involvement of turning drawings into game objects is a little intimidating since it seems like the most difficult part of the project, but I’m sure that once we get working it will come together nicely. Hopefully there are sources that we can reference or find assistance from in online forums, YouTube, etc., but that part of the project is still a little bit away since we have to lay the ground work first.
Capstone Week 8
This week for the project, we continued working on the design document. I think things went well for our team, we were able to fill out the document, fix holes that we had in the document and get the questions in for the other review team. One thing that went a little wrong was when we were mending our review design document that we were going to send to the other team, the improved version was turned into a separate document. The other review team commented on the first document instead of the improved one, but that’s not really a problem and is our fault anyway. When we were supposed to review and answer the questions that the other review team had however, there was only one question that they listed on their document. I am not sure if it was because of initial confusion with how the comments were supposed to laid out or external reasons, but having almost nothing to respond to was a little strange. The same person was also the only one to comment on our document, though it was really helpful that he replied to a couple of comments. His opinions and insights were really helpful since they were the first comments that came from a third party (someone outside of our team and the instructor). He gave us some things to think about with regards to our current design plans and implementation strategies that we will have to iron out before next week, but it’s very nice to have a direction to work towards.
Capstone Week 7
The project this week involved a lot of confusion. We submitted our design document drafts to another team for review, where we had to write questions about the project on our own review document before giving it to another team. There were also comments from the instructor on how to improve our own design document that we had to deal with at the same time. The extension that we were given for the team reviews was very helpful. It allowed our team time to solve the problems highlighted by the initial submission to the instructor before sending it off to the other team. We were able to get it done without much trouble and I feel that we put together a pretty good document. Hopefully we will be able to get more insight into different design options and criticisms for our document so that we can continue to perfect it. By building the document in the first place, we were opened to various options for the different sections of the project, so any ideas for narrowing down those options will be nice. Personally, I am glad that the document writings are almost finished and, more importantly, we can start getting into coding the project. The project partner in China is started to get busier, which means that the little time we have to communicate is growing smaller. We have been able to make it work so far, but live conferences are very difficult to include him in and the closer we get to starting on coding the project the sooner more of an issue this will become. There is about a month’s gap between finishing the documents and starting coding so hopefully a rhythm can be established where we are able to have a live conference.
Capstone Week 6
This week in the project requires our team to form a design document. The design document will act as an outline for the rest of the project. For me personally, this assignment is amazingly helpful. I love having an outline to follow as it makes everything more straight forward and also provides a set of rough checkpoints that can mark progress. Since the document will be an outline, the checkpoints will not have any specific meaning as far as completing the project goes, but it will help to move the team in the right direction. The design document is something that may be updated or changed as time goes on and the specifics are likely change, but it is still good to have a written plan for the course of the project. We did run into a slight problem this week with working on the design document. One of the team members currently lives in China so there is a large time difference that we work around. We have been able to work around that so far and we have kept in touch on a regular basis, but he started work this week. With a work schedule of the typical 9am to 5pm, he will be unavailable during weekdays as that correlates to 5pm to 1am PST. We usually held group calls on weekdays so we will have to try and find a time that will work on weekends for conferences. Other than that snag, the project has been great so far and the team has good people on it so I am not too worried about this difficulty. There was a sample design document given to us and Gantt charts were used to chart their timeline for the project for the upcoming terms. We will adapt similar charts to those since that is likely the timeline that will be used for this project. It is helpful that those timeline charts were supplied to us since it was able to give me an idea on what needs to be worked on when and it will help me formulate my schedule for future weeks.
Capstone Week 5
This week in the Senior project was very relaxing. We had no team assignment for this week and worked on a technology review paper. The paper explains what technologies will be used for the component of the project that we are responsible for. I wrote on UI design. The base of our draw and play video game is the Unity engine, and Unity has a built in UI component simply called Unity UI. It has been out for a while and because of that, the reference pages are detailed and there is plenty of tutorial and example content available online. Unity UI offers a lot of what our project needs: multiple pages that are able to be linked through transitions and an event controller, multiple options for the design of the various aspects of game (directions, page selection, and stage layout for example), and it also allows the incorporation of C# programs in the designs. We will be using Unity UI as the base for our design and front end, so I am very happy about all of the reference material. The course as a whole is going good so far and it is helpful that it’s progressing one step at a time in a logical and inclusive way. The discussions each week are a good way to discover new technologies and get feedback and ideas on the options available.
Capstone Week 4
This week we for our project we went over the project requirements. We went into specifications on what needed to be done and touched on the technologies that will be used to complete the project. The easiest thing for our project this week was the technologies. Figuring out what to use for the project was fairly simple for two reasons. First, our project was used as an example for the ‘technologies review’ discussion post. our team took this as a suggestion as to what technologies to use and when we looked into them a little more we figured they would be easy enough to use. Second, we had already decided on Unity for our game engine. This meant that the rest of our technologies were easy to figure out, since Unity 5 uses aspects of Physx (nvidia open source physics engine) as its default for some aspects. Unity also requires the use of C#, and OpenCV is the computer vision aspect that we chose since searching “computer vision unity” results in OpenCV being 2 of the top 3 results. Happily, nothing went wrong this week with the project. The information was already gathered and it was just a matter of piecing it together to present. The future looks promising as well as I was able to find good resources, mostly on YouTube, that will be useful in upcoming parts of the project, mainly when we setup the UI, which I’m glad about because that will be the part of the project that I am responsible for.