Friday, May 2, 2014
Final Update
With the development stage of my 20 percent project coming to an end, this is my last space simulation blog post; I hope to provide an overview of how the project turned out, what worked, and what could have been done better. Overall, I would say that the project has been a success. While I don't have all the features I originally intended to finish, I do have an entertaining simulation which while not exactly accurate is at least entertaining. It seems like in general the state of my project comes down in many ways to my decision to use Unity development environment, which resulted in both significant setbacks and advantages. The upside of Unity is that it is free, and it provides a set of highly sophisticated tools for physics simulation of all kinds and realistic graphics. However, as I have often found out in the last few months, a highly developed game engine is also necessarily restrictive. The addition of code to simulate things like changing gravity essentially broke the rest of the simulation, as the game engine has its own way of processing physics information, and it doesn't expect certain variables to change. I'm sure there are workarounds for these kinds of issues, but I was often forced to give up on what could be considered important features because of my limited time and resources. On the other hand, I also had much more time to work on the aspects of the project that would usually be thought of as interesting because most of the technical stuff was already in place and could be set up with a few lines of code. Overall my impression is that if I had spent an equivalent amount of time working on the project using pure OpenGL or DirectX my project would have been able to develop more in the direction I intended, but it would be much less entertaining or impressive to the user. So, after a semester of work, I'm happy with the project and I think I did all I could to bring it close to my original goals. If I were to work on something similar with a team of more than one, and with more time allotted towards development, I would probably turn to something other than Unity, but with the resources I had it probably turned out as well as it could have.
Friday, April 25, 2014
After taking a week off...
I have to admit that this week I have not gotten as much development done as I would have liked, but there are also some upsides of taking a break. Removing yourself from the ultra-focused environment of developing an application can give you a new perspective on your progress and can lead to better ideas about what direction to move in for the future. Its easy to lose sight of your real goals and a little perspective can go a long way. For my part, a little time away from my project has led me to focus more on the trade off between a realistic simulation meant to educate or inspire, and a game designed to entertain. As is now stands, my project is somewhere in between, trying neither to mimic reality or fully entertain the user. I think the end result could be much better if start working mainly on features meant to be fun, as trying to remold my project into a realistic simulation of space at this point would inevitably result in disaster when it could not be completed on time. Even though I didn’t really develop my game this week, what I learned while not working on it may well be more beneficial to its quality.
Friday, April 11, 2014
TED Talk Ideas
The concept of a TED talk is essentially to communicate ideas that can be highly technical to an audience that is not necessarily familiar with the lexicon of the field in question. As a result I think that the TED talk format that is usually roughly followed will work well for a simulation as it is basically a programming project, and is therefore very technical. Direct screenshots or videos from the simulation would obviously be useful in contributing to the audience's understanding, but I would ideally like to also generate some kind of visual data of my progress. For instance, a very rapid video of all the coding I have done could demonstrate how the program has changed over time and how I have had to rewrite past pieces of code in order to better facilitate new ideas or different implementations of old ideas. Realia would be a challenge for a project that is entirely digital, although I do like the idea of giving the audience something that they can actually touch to help break up a presentation and stop it from becoming monotonous. I would like my presentation to have some similar aspects to that of Ken Robinson, although in practice I think that visuals would be an easy way to show the audience what I have actually made, so I don't think I'm going to be going the zero technology route. Something that I do think I can implement is strong communication of ideas without reading off of a PowerPoint, and I will try to use technology sparsely rather than whenever possible.
Friday, March 21, 2014
Done Manifesto
As the project deadline approaches, the Done Manifesto is increasingly a useful set of ideas. Much of the remaining work will carry a risk of perfectionism and the concept of finishing the project without worrying about making it perfect could be very valuable. Accepting that everything is a draft could especially benefit the project because as various pieces come together at different stages of polish or functionality, it can be a struggle not to go back and try to fix things rather than moving forward to the pieces that really need to be completed. Getting comfortable with the project as a draft could result in a final product that is more even and of higher quality that if the pieces that are implemented earlier are highly polished and developed as far as possible, while later parts are unfinished or hastily put together at the last minute. Other ideas, like banishing procrastination by giving up on ideas that you wait more than a week to get done, are also highly applicable to the project, which has suffered from a buildup of ideas that are not necessarily achievable in the remaining time frame. Overall, the Done Manifesto could help get my project done, and could improve the quality of the final product.
Friday, March 7, 2014
Teacher vs. Student vs. Human Centered Learning
Kevin Broohauser describes the three basic learning types as being teacher centered, student centered, and human centered. The difference between each type of learning is whose preferences guide the project most strongly. Teacher and student learning types are guided by teachers or students respectively, while human centered learning is based on the eventual consumer of whatever is being produced. Each type of learning is appropriate for different level tasks. While teacher centered learning is effective for memorization and student centered learning is a good fit for tasks involving understanding and applying concepts, human centered learning might be a better choice for creative endeavors like the 20% project. After learning Broohauser’s views on this subject, I believe that my project has unfortunately existed almost entirely in the realm of student oriented learning when it could probably benefit from a human oriented approach. While the current student centered approach has allowed me to explore programming and design to the extent that I am interested in, if the project was guided by the type of empathy for the user that Broohauser describes it could result in a more interesting or useful final product while also forcing me to explore avenues of learning that I have so far ignored because on the surface they seem unappealing. In the future I will try to incorporate more human centered learning into my project in the interest of producing a simulation that is actually desirable to the user.
Saturday, March 1, 2014
end of february progress
February is drawing to an end, and so far I am roughly on schedule with my original goals. I have a lot that I am proud of, especially the progress on the asteroid belt simulation. However there remains a lot of work to do on programming the universe to be entirely random and realistic to some degree. I am still confident that my original proposal is realistic considering what I have done so far and how much work I have left. Progress up to this point has required consistent effort, with about 3-4 hours of work per week, close to what I predicted in my proposal. While little of the work I have done so far has been particularly painful or frustrating, it has been mainly creative rather than technical, and I can foresee a decrease in productivity unless I begin to work in a more disciplined way as the project becomes more about small improvements and balance now that the large mechanisms are largely in place. At this moment, the simulation is made up entirely of asteroid belts and planets, the latter of which are currently represented by spheres while I work on gravity and loading objects as the player moves through space. I am planning to finish sun simulation by the end of next week, at which point I can begin to focus more on finalizing assets and fine-tuning the mechanics to bring the simulation closer to the composition of an actual galaxy.
Friday, February 21, 2014
Progress so far
So far the progress on this simulator has been slow, but I am still on schedule with some basic assets (spaceship, asteroids), and steady code development. Despite this progress, right now there are no planets or stars, and adding those types of features will require a significant amount of coding. I am planning to get temporary or basic assets done in the next week or so in order to focus on all the programming work that lies ahead. It probably won't be easy, but algorithms to randomly generate galaxies and solar systems will most likely be done within a month. My mentor might be able to help design these algorithms, but even just translating from basic logic to C# code could be quite a process. In summary, so far progress has been good and basic assets and movement code are complete, but there is still a lot of work left to do in the next few months to get a basic prototype working.
Friday, February 7, 2014
Mentor Possiblilities
In order to achieve my goals for this project I am going to need a mentor who can guide me through the process of designing and programming a fully featured space-exploration simulation. I have some programming skills already, and I have already started working on a basic prototype, but someone with experience with large-scale programming projects could probably be extremely as the simulation grows over the next few months. Ideally this person would also have experience with graphics-based programming, but anyone with programming expertise and patience could be a great help. As far as possible candidates go, so far the best option seems to be my father, Alan Gara. He could be extremely useful during this project because he has extensive programming experience and would usually be available to provide guidance and support.
Friday, January 24, 2014
Initial Goals
For my twenty percent project I want to make something that I can be proud of and that doesn't feel like just another thing I have to do for a grade. My favorite idea of those I have come up with is to do something programming related. I like this idea because programming is a skill that I think I have let lapse, and which I would enjoy developing further, especially in the context of an interesting or useful project. Right now my tentative goal for this project is some kind of space simulator, realistic or not, possibly with a game component. I like the goal of a space simulator because it’s not as overdone as other genres of software, and because it allows for a lot of creativity and interpretation on the development side of things. The obvious barrier to this goal is that my experience in programming is fairly limited, and I haven’t worked at all in the areas of graphics programming that this project would require. I want the universe in my game to be randomly generated, rather than put together by a person, which could require quite a bit of additional programming savvy if I want it be on the same level as a human-made model. I’m not yet sure how close I can get to my current vision by the end of the semester, but I’m very sure that I can learn a lot about computer programming in that time, and that whatever happens this project will be a useful opportunity to build up a useful skill set that has been stagnant for too long.
Subscribe to:
Comments (Atom)







