Thursday, July 23, 2009

Senior Project Week 8

This week we delivered the second release of the project, first release using the Django framework. Overall, the release was fairly successful in gathering feedback, though there are some grievances we have as a team. Much of this has to do with what we have been asked to do, and the fact that it is a task that is unreasonable and not along the line of a standard software engineering project.

Today, during out meeting, we were told that the project was not a focus of technology or other such. Instead, as what happens with many of our meetings, the problem was changed to solve this: Solve the means by which people communicate to allow for the most optimal solution to people communicating with each other effectively.

Now, the problem with this is that, this question is a question that has existed since the beginning of time. Hence, it has never been solved. Now, we can come up with ideas on how to approach the problem, but this is merely an example of the kinds of ways the project changes. At first, it was a massive system with web based and application based components. Next, it was a website (everyone agree this was the type of product that was wanted). Now, after this release, it has been made into solving the answer to an unsolvable, philosophical question.

Aside, our testing we performed with this release with users proved fruitful, at least for the current incarnation of the project and the current heading of the project. Hence, it was not a total loss.

As such, we're going to work on maintaining our current heading, and trying to accommodate requirements and requests of our clients.

Project ACE Week 8

This week, Krista and I worked on finishing up the smart lane switching functionality for the Racing activity. While I worked on that, she worked on the write-up for the activity. Afterward, we worked together on the cheat sheet for commands and functions for the activity. Lastly, we're working on getting the rest of the activity flushed out for review by our peers over the next week or so.

Friday, July 17, 2009

Senior Project Week 7

This weeks meeting went fairly badly, as the clients derailed the meeting for around 30 minutes of extra time. We've come to the conclusion that we're going to need to adopt a much less organic process and act more like a software company than merely employees working on a project. This is mainly due to the fact that many software firms by now would have told them that there are certain limitations that will not be crossed, and that's that.

The main concern is that the clients do not have a notion that back-end work must be done to support the front end of the website. Also, they want to be involved in every aspect, including decision making about how we will code the site (even coding styles), as well as how we will test (they want to tell us what they think the best testing method will be). We've tried to be as open as possible, but it just is not working, and hence we have to put up a wall and draw the line.

So, our plan for this week is to create the HTA Task Analysis for the features we are delivering with this prototype and finish it up for testing next week. Following, we will be planning on having a final elicitation sit down to get exactly what they want to be editable, what we agree is easy to do and what is not, and then setting the record straight once and for all there.

From there, we hope to be able to finish up this milestone for the end of the quarter, getting all of the features we listed accomplished and marked out.

Project ACE Week 7

Well, this week was pretty slow in terms of work pace.

For pretty much the whole week, I worked with Krista on the Racing Activity. She worked primarily on the model of the racing robot and the write up. I worked on tuning the line following code and starting to allow the robot race cars to switch lanes, which turns out to be very difficult.

Aside, everything has gone relatively smoothly. I want to try to get Krista more involved with some of the programming and coding, but she seems hesitant, mainly because she has around 0 programming experience. Perhaps it would really be better not to, and to just focus on our strengths. I'm hoping that, within next week's time, we can have the programming done and then just focus on activity planning and design.

Monday, July 13, 2009

Senior Project Week 6

Senior project this week turned out better than expected.

For our clients, we were able to display to them the basic flow of our ideas, maintaining control of the meeting while getting the feedback we needed for the current state of the project. From there, we planned on meeting on Saturday for a Hack Day, or straight programming day, to get everyone setup and such. We ended up getting a pre-production server from our clients as well, which we will use for deploying the current product and allowing them to test it.

So, for the rest of the week till Saturday, I worked strenuously on getting my computer setup to work with Django on my Windows partition, seeing as my development server at home decided to lose its drivers and die completely following. This took a while, but was well worth it for reasons following:

On Hack Day, I spent half of my time helping my teammates get Django and Python, with MySQL, set up for development. I provided insight and advice to installing and the procedure for setting up their computers while Matt, my teammate who was already set up, worked on the pre-production server. Overall, everything went fairly smoothly, with a few hiccups seeing as we couldn't get the software to work well on the Mac OS X.

Aside, I worked on basic model-to-view controller functionality, getting the system ready to be capable of displaying the various records in tables and other related information. I worked on this for Contests and People. I also got our People objects extending the Django User model, which will allow us to use Django authentication and session tracking for the system, which should make a great deal of the system easier to develop for.

For this Monday, we are looking at presenting our work thus far and planning on gathering some HTML templates and layouts to get feedback from our design client, who will hopefully give us a designer or someone to work with the organize the visual aesthetics of the site. Aside, we will merely be publishing to them our current work complete thus far.

Project ACE Week 6

Last week I worked with Krista on the Racing Robot activity. We worked on building a better model for racing and then worked on finding some algorithms to work with.

I found a paper on several line following algorithms for the Minstorms robot. Krista worked on developing the model more thoroughly after we discussed what the robot should be doing. In short, the division worked well.

So, aside, we made a lot of progress. For this week, we're going to work on the activities and algorithms for them, trying to implement and test the feasibility of the different algorithms for the students to implement.

First Application Not So Good

Well, my application for the game design position didn't go so well. I was somewhat discouraged when I was told they were considering someone else, but likewise, I still think it's going well. I'm still hoping one of the programming positions work out. I mean, this is one of my dream companies to work for, so, here's to hope and ambition.

Aside, I applied for an extra position, the position of content programmer. I'm hoping that will work well as well.

Aside, I spent most of the day last Friday working on my website. I've updated it to be much more modern, using a little bit of PHP and similar web technologies. I'm hoping that the updates will make it much more presentable and professional. I also did quite a bit of image editing to reduce the size of the website overall, allowing me to place it in the two areas I can for right now.

Well, that about wraps it up for applications for now. I'll have more to post on that later.

Sunday, July 5, 2009

Applications are Out

On July 4, I applied to ArenaNet, makers of Guild Wars. I decided to apply because, even though I have been accepted to the Masters program here at RIT for Game Design and Development, I have decided likewise that it would be better to also apply, because it could open doors for me and offer me opportunities I may not get otherwise.

I applied for three positions, related to my skill sets:

1. Tools / Engine Programmer - I applied to this position because I have experience in working with and creating tools for developers. I also have allot of usability and design experience, which will be very beneficial for this position.

2. Graphics Programmer - This is one of my primary domains and focus. Though I do not have a strong DirectX background, I feel that I would be more than competent enough to work in this position.

3. Live Team Game Designer - This is, to be honest, the culmination of what would be my creative interests and possible work interests. While I find myself to be an excellent and experienced programmer, my true love is to use those abilities with my creative ideas and potentials to design and create content and ideas for games.

To get hired for any of the above positions would be a dream come true. I am looking forward to notifying my fellow coworkers and professors if I get a good reply back, to use for references and the like.

Fall-Week 5 Senior Project Work

Senior project this week was relatively interesting.

First off, the Tuesday meeting on 6/30 went OK, but it really revealed just how dangerous some of our clients can be in ways. The main problem with this happens to be that during each meeting, not only is there substantial requirements creep/churn, but the clients have a tendency to not only hijack the meetings, but to also want to be, for lack of better words, "too deeply" involved with aspects of the project. This has to deal with many ideas, such as having requests for having code editable by people with no technical skills, while still having it function properly. Likewise, creating or embedding editors into the system that will allow these people to do this, none of which is really that easy or feasible.

From there, our adviser and group has decided many of the following:

1. We must have an agenda clearly created and maintained, ready to be presented on the Monday before the client meeting of the week. This will be done by gathering up accomplishments and concerns on Sunday and Monday.

2. Meetings will be limited to no longer than 1 to 1.5 hours of discussion. The first hour should be nothing but presentation of what has been accomplished and review / feedback with respect to those issues. Following this, there will be a meeting break and the last .15 to .5 hours will be spent on feedback or client concerns. This will allow for a follow-up reflection directly after the meeting.

For this week, the experienced web developers have planned on editing and creating several of the pages and functionality sets that have to deal with the people / project aggregation part of the system. Aside, I will be attempting to get my hands into the code and create the basic models for the system.

Week 5 ACE Work

This week, I have been working with my co-worker Krista on the design and ideas for the Race Car and Board Game activities. For this, we are working on deciding whether or not it is feasible to use a "Segway-bot", a robot which moves like a Segway, for both racing and for the board game.

Design-wise, it would be much easier to utilize one design across both projects. However, there are some drawbacks to using the Segway-bot for the racing activity:
- Knocking into obstacles or other bots can result in serious damage or failure of the robot.
- Switching lanes can be difficult.
- Stability while switching lanes can be impared due to knocking into other vehicles.
- Very limited sensor space with upright design.

Likewise, it has many pluses:
+ Same design applicable to both projects then.
+ More compact design, allowing more robots to be used on the same course.
+ Allow for smaller race courses.

So far, she has been working on looking up solid design techniques we can use for building the Segway styled robot. I have been working with various code examples for how to make the robot work effectively.

Based on allot of the code I've seen, while it is feasible for a simple robot, allowing all of the racing facilities we have discussed could be difficult.

About Me

Software engineer, game developer, writer, and student. My work revolves around games, algorithms, real-time development, and creative works.