<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Solvengineer Blog</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/" />
    <link rel="self" type="application/atom+xml" href="http://solvengineer.com/blog/atom.xml" />
   <id>tag:solvengineer.com,2010:/blog/1</id>
    <link rel="service.post" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1" title="Solvengineer Blog" />
    <updated>2010-02-08T02:11:22Z</updated>
    <subtitle>News, articles, tips on science and technology, with a focus on engineering and scientific computing.
Visit our parent site at http://www.solvengineer.com.
</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.2ysb5-20051201</generator>
 
<entry>
    <title>two cool &quot;sandbox&quot; type programs</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2010/02/two_cool_sandbox_type_programs.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=59" title="two cool &quot;sandbox&quot; type programs" />
    <id>tag:solvengineer.com,2010:/blog//1.59</id>
    
    <published>2010-02-08T02:11:22Z</published>
    <updated>2010-02-08T02:11:22Z</updated>
    
    <summary>I am mentoring students for the First Technical Challenge robotics competition. Since I am better with software than with real parts, I tried to build and test the robot in a virtual world.First program I tried is Phun (http://www.phunland.com/wiki/Home), of...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>I am mentoring students for the First Technical Challenge robotics competition. Since I am better with software than with real parts, I tried to build and test the robot in a virtual world.</p><p>First program I tried is Phun (http://www.phunland.com/wiki/Home), of which I might have written before. With a &nbsp;slick interface and many features, Phun is indeed fun. You can create a machine that you control using the keyboard, which was the goal I had set to. However, the 2D design made it impossible to simulate certain aspects of the robot.</p><p><br /></p><p>So I went back to Google and started looking for a 3D alternative. And I found Golems (http://www.golemgame.com/) . Golems actually provides the user with many components useful for robotic design, such as sensors. I was able to build and run the robot in Golems. The CAD part lacks some features, such as tapering of objects already created, or user-defined polygons,&nbsp; so the robot has a lot corners sticking out. But in essence, Golems has delivered what I needed.</p><p>Try both and have fun! &nbsp;(sorry for the lack of links, my computer is a little messed up)</p><p><br /></p><p><br /></p>]]>
        
    </content>
</entry>
<entry>
    <title>wish I had more time....</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2009/09/wish_i_had_more_time.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=58" title="wish I had more time...." />
    <id>tag:solvengineer.com,2009:/blog//1.58</id>
    
    <published>2009-09-16T02:13:15Z</published>
    <updated>2009-09-16T02:13:21Z</updated>
    
    <summary>or a Macbook that isn&apos;t falling apart and is slower than molasses....I&apos;m working on the random level generator. Infinte gameplay :)...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>or a Macbook that isn't falling apart and is slower than molasses....</p><p>I'm working on the random level generator. Infinte gameplay :)<br /></p>]]>
        
    </content>
</entry>
<entry>
    <title>ahh physics</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2009/09/ahh_physics.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=57" title="ahh physics" />
    <id>tag:solvengineer.com,2009:/blog//1.57</id>
    
    <published>2009-09-01T23:49:03Z</published>
    <updated>2009-09-01T23:49:09Z</updated>
    
    <summary>Or , more accurately, tweaked physics for the sake of gameplay. Still working on a collision/control issue...but nearing a breakthrough. Then on towards making the game faster, then level design and finally enhancing static graphics. :) Making games is hard...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[Or , more accurately, tweaked physics for the sake of gameplay. Still working on a collision/control issue...but nearing a breakthrough. Then on towards making the game faster, then level design and finally enhancing static graphics. :) Making games is hard work!<br />]]>
        
    </content>
</entry>
<entry>
    <title>.NET iPhone development...</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2009/08/net_iphone_development.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=56" title=".NET iPhone development..." />
    <id>tag:solvengineer.com,2009:/blog//1.56</id>
    
    <published>2009-08-12T15:25:16Z</published>
    <updated>2009-08-12T15:25:23Z</updated>
    
    <summary><![CDATA[Somebody just gave me this link: http://www.mono-project.com/MonoTouchI wonder if it is any good for game development. Or how it manages form elements. It's to late to apply it to my current project but maybe the next one... &nbsp;...]]></summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>Somebody just gave me this link: <a href="http://www.mono-project.com/MonoTouch">http://www.mono-project.com/MonoTouch</a></p><p>I wonder if it is any good for game development. Or how it manages form elements. It's to late to apply it to my current project but maybe the next one... <br /></p><p>&nbsp;</p>]]>
        
    </content>
</entry>
<entry>
    <title>how to optimize the speed of your iPhone game</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2009/08/how_to_optimize_the_speed_of_y.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=55" title="how to optimize the speed of your iPhone game" />
    <id>tag:solvengineer.com,2009:/blog//1.55</id>
    
    <published>2009-08-03T18:00:54Z</published>
    <updated>2009-08-03T18:00:58Z</updated>
    
    <summary>I use quartz for my 2D game, which does not require many sprites to move, in fact I am staying away from pre-rendered images and use only Quartz shapes, and code in any effects also.At first it was running really...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>I use quartz for my 2D game, which does not require many sprites to move, in fact I am staying away from pre-rendered images and use only Quartz shapes, and code in any effects also.<br /><br />At first it was running really slow on my Touch. But I figured out some tricks to make it run smoother. You have a timer, right, that gets called every fraction of a second. Doing all the gameplay&nbsp; updates PLUS the rendering (setneedsdisplay function) EVERY time the timer is called makes for slow gameplay and unresponsive touch screen. However, using a counter that gets incremented every time the timer method is called and then reset after it reaches a certain value allows for one iteration to do game physics, one to display, and so on. I split the game physics between two iterations.<br />I also have a second independent timer that updates less often just to measure the time in the game, otherwise the time would be out of sync with the real time. The reason for that is that calling the NSTimer very often yields inaccurate timing because the time it takes to actually run the method that is called by the timer gets added onto the time between timer calls.</p><p>&nbsp;</p><p>So now my game runs almost smooth on the device. <br /></p>]]>
        
    </content>
</entry>
<entry>
    <title>If iTunes says: &quot;iPhone or iPod detected but not recognized &quot; then...</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2009/08/if_itunes_says_iphone_or_ipod.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=54" title="If iTunes says: &quot;iPhone or iPod detected but not recognized &quot; then..." />
    <id>tag:solvengineer.com,2009:/blog//1.54</id>
    
    <published>2009-08-02T00:31:01Z</published>
    <updated>2009-08-02T00:31:07Z</updated>
    
    <summary>...eject any CDs or DVDs from your drive(s), disconnect your device, close iTunes, then reconnect your device. It should work now.After I provisioned my Touch on the Mac, all of a sudden it stopped connecting to iTunes in Windows, where...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>...eject any CDs or DVDs from your drive(s), disconnect your device, close iTunes, then reconnect your device. It should work now.<br /></p><p>After I provisioned my Touch on the Mac, all of a sudden it stopped connecting to iTunes in Windows, where I have my music library and the device's backup files. <br /></p><p>After a lot of googling I found this trick mentioned somewhere, and as silly as it sounds, it fixed my problem<br /></p>]]>
        
    </content>
</entry>
<entry>
    <title>certificated!</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2009/07/certificated.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=53" title="certificated!" />
    <id>tag:solvengineer.com,2009:/blog//1.53</id>
    
    <published>2009-07-24T22:45:00Z</published>
    <updated>2009-07-24T22:45:06Z</updated>
    
    <summary>yup, I paid the 99 dollars and put my game on the Touch. Lemme tell you, it runs slower than in the sim. That is, the timer runs slower! I guess the timer delegate function doesn&apos;t get called as often...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>yup, I paid the 99 dollars and put my game on the Touch. Lemme tell you, it runs slower than in the sim. That is, the timer runs slower! I guess the timer delegate function doesn't get called as often because the iTouch is less powerful. I'm going to call thye timer delegate less often, about as often as the FPS of the view update.</p><p>I was fairly impressed with Apple's provisioning assistant, despite my initial grumbles when the connection timed out, which was probably my fault because I was switching wifi networks. Other than that, the process was really smooth.<br /></p><p>&nbsp;</p>]]>
        
    </content>
</entry>
<entry>
    <title>Fixed! (see previous post)</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2009/07/fixed_see_previous_post.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=52" title="Fixed! (see previous post)" />
    <id>tag:solvengineer.com,2009:/blog//1.52</id>
    
    <published>2009-07-16T02:16:11Z</published>
    <updated>2009-07-16T02:16:18Z</updated>
    
    <summary>when I was going to the main menu, the game view controller was still instantiated. It wasn&apos;t released or anything else. SO when I pushed the new game button, I was making another instance...doing that a bunch of times would...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>when I was going to the main menu, the game view controller was still instantiated. It wasn't released or anything else. SO when I pushed the new game button, I was making another instance...doing that a bunch of times would obviously fill up the memory. So, obviously, what I do now is I check if the game view controller is not instantiated (if (self==nil) {}), and if it is nil (first time new game button pushed) I do the alloc and init, otherwise, if it exists, I just re-init. In either case I insert its view on top of the main menu view.</p><p>And that is all! <br /></p>]]>
        
    </content>
</entry>
<entry>
    <title>watta mess!</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2009/07/watta_mess.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=51" title="watta mess!" />
    <id>tag:solvengineer.com,2009:/blog//1.51</id>
    
    <published>2009-07-11T23:32:07Z</published>
    <updated>2009-07-11T23:32:14Z</updated>
    
    <summary>I am implementing multiple levels now. Transitioning from one level to the next works fine, but the return to menu button doesn&apos;t work anymore until I push it three or four times. After that, levels reinitialize with the previous starting...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>I am implementing multiple levels now. Transitioning from one level to the next works fine, but the return to menu button doesn't work anymore until I push it three or four times. After that, levels reinitialize with the previous starting value for my moving element, instead of the initial value.</p><p>Grr... <br /></p>]]>
        
    </content>
</entry>
<entry>
    <title>Restarting a game level...</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2009/06/restarting_a_game_level.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=50" title="Restarting a game level..." />
    <id>tag:solvengineer.com,2009:/blog//1.50</id>
    
    <published>2009-07-01T02:25:27Z</published>
    <updated>2009-07-01T02:25:34Z</updated>
    
    <summary>I figured out how to restart my level upon pushing a button in the game view controller itself. Simply calling the init method on self works perfectly. I have all the initial conditions hard-coded in there anyway.This approach works well...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[I figured out how to restart my level upon pushing a button in the game view controller itself. Simply calling the init method on self works perfectly. I have all the initial conditions hard-coded in there anyway.<br />This approach works well for my game which has relatively few variables to initialize.]]>
        
    </content>
</entry>
<entry>
    <title>laying out levels</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2009/06/laying_out_levels.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=49" title="laying out levels" />
    <id>tag:solvengineer.com,2009:/blog//1.49</id>
    
    <published>2009-06-26T00:58:20Z</published>
    <updated>2009-06-26T00:58:32Z</updated>
    
    <summary>I&apos;m going to design every level of the game using graph paper. each square will be 10x10 pixels, so the viewable area will be 440x300 which amounts to...44x30 squares. This way, I can code every element&apos;s coordinates easily. I plan...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[I'm going to design every level of the game using graph paper. each square will be 10x10 pixels, so the viewable area will be 440x300 which amounts to...44x30 squares. This way, I can code every element's coordinates easily. I plan to hard code the levels and use a single file which will store the current level and score. I'm doing this becasue there will be only twenty levels and each will have only eight static objects.<br />]]>
        
    </content>
</entry>
<entry>
    <title>need to get organized</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2009/06/need_to_get_organized.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=48" title="need to get organized" />
    <id>tag:solvengineer.com,2009:/blog//1.48</id>
    
    <published>2009-06-23T23:51:37Z</published>
    <updated>2009-06-23T23:51:48Z</updated>
    
    <summary>The game development process needs to move forward, but there&apos;s so much to do. I need to create a roadmap for continuing development. Some highlights should be:Finalizing the engine with game win/lose conditions Setting up levels and level progressionSign up...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>The game development process needs to move forward, but there's so much to do. I need to create a roadmap for continuing development. Some highlights should be:</p><p>Finalizing the engine with game win/lose conditions <br /></p><p>Setting up levels and level progression</p><p>Sign up to become a certified developer <br /></p><p>Getting a dev device (excuse to get an old iPhone and keep it inactivated) </p><p>Improve graphics<br /></p><p>&nbsp;</p>]]>
        
    </content>
</entry>
<entry>
    <title>figured it out (see previous two posts)</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2009/06/figured_it_out_see_previous_tw.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=47" title="figured it out (see previous two posts)" />
    <id>tag:solvengineer.com,2009:/blog//1.47</id>
    
    <published>2009-06-21T20:13:15Z</published>
    <updated>2009-06-21T20:13:24Z</updated>
    
    <summary>For reasons I can&apos;t yet fathom, the view attempted to display itsefl before the object with the NSString was fully initialized. I put a check that if the NSString property was nil to not attempt to display it on screen...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>For reasons I can't yet fathom, the view attempted to display itsefl before the object with the NSString was fully initialized. I put a check that if the NSString property was nil to not attempt to display it on screen and it works fine now!</p><p>Another trick I learned from the folks at the idevgames.com forums is to mirror text using Quartz&nbsp; by setting a scale matrix with an argument of -1 on the direction I want mirrored (vertical or horizontal).</p><p>&nbsp;</p><p>These two issues cleared, the project can finally move forward !<br /></p>]]>
        
    </content>
</entry>
<entry>
    <title>I guess the problem is (lack of) Memory Management</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2009/06/i_guess_the_probem_is_lack_of.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=46" title="I guess the problem is (lack of) Memory Management" />
    <id>tag:solvengineer.com,2009:/blog//1.46</id>
    
    <published>2009-06-20T18:24:28Z</published>
    <updated>2009-06-20T18:25:34Z</updated>
    
    <summary>I think my game might be crashing in the sim because of poor memory management.So things compile fine but some NSString objects actually end up null when used because they are being passed around classes. There&apos;s no getting around this,...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>I think my game might be crashing in the sim because of poor memory management.So things compile fine but some NSString objects actually end up null when used because they are being passed around classes. There's no getting around this, I need to understand Objective C memory management, and revisit assign, retain, autorelease...<br /></p><p>I'm going to print out some tutorials from <a href="http://www.mobileorchard.com/iphone-memory-management/" target="_blank">here</a> and read them at the gym :)</p><p>&nbsp;</p>]]>
        
    </content>
</entry>
<entry>
    <title>XCoding and getting nowhere fast...</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2009/06/xcoding_and_getting_nowhere_fa.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=45" title="XCoding and getting nowhere fast..." />
    <id>tag:solvengineer.com,2009:/blog//1.45</id>
    
    <published>2009-06-17T01:49:19Z</published>
    <updated>2009-06-17T01:59:01Z</updated>
    
    <summary>Still working on the game&apos;s engine. It seems every time I add some new feature there&apos;s always one little issue that takes forever to fix, and which causes the game to crash in the simulator without yielding any errors or...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>Still working on the game's engine. It seems every time I add some new feature there's always one little issue that takes forever to fix, and which causes the game to crash in the simulator without yielding any errors or warnings in the compiler.</p><p>XCode is definitely NOT debug-friendly! <br /></p>]]>
        
    </content>
</entry>

</feed> 

