<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wikidot="http://www.wikidot.com/rss-namespace">

	<channel>
		<title>Final Update</title>
		<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update</link>
		<description>Posts in the discussion thread &quot;Final Update&quot; - The final code upload and updates</description>
				<copyright></copyright>
		<lastBuildDate>Wed, 13 May 2026 18:29:39 +0000</lastBuildDate>
		
					<item>
				<guid>http://rbwhitaker.wikidot.com/forum/t-711201#post-2177315</guid>
				<title>(no title)</title>
				<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update#post-2177315</link>
				<description></description>
				<pubDate>Thu, 11 Dec 2014 17:31:42 +0000</pubDate>
				<wikidot:authorName>PiscesMike</wikidot:authorName>				<wikidot:authorUserId>1721619</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>You're quite welcome, glad it can be of help! I had hoped the code would stay up indefinitely, but alas Rapidshare sucks. If you go looking for the other projects, and run into the same problem, just let me know!</p> <p>And&#8230; as far as the Breakout project goes - I'm glad it's easy to read and follow through. It was my first ever C# project, so I should say a couple things: First, some of it is sloppy code. There were times when I was under a time constraint just to get things done, so that means there are probably(certainly, lol) better ways to do certain things. Secondly, my object design, I've come to learn, could use some work. In this respect, some things are overly simple, or overly complex. I won't comment on this too much, because I'm still learning and don't want to steer you in the wrong direction.</p> <p>And, lastly, while the code is functional and fairly complete in respects to a fully functional game, I don't think I would use it as a template for other projects. There's most certainly some optimization that could have been done with combining various textures into spritesheets. One thing that arose from this competition was a set of reusable classes that I fashioned into a 'framework'. These classes are not in this project, per se, because they really got going in the second and third competitions. They make setting things up and getting the basics of a game going pretty quickly, and if you're interesting in those, I can make another upload and post.</p> <p>Anywho's have a great day, and happy coding!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://rbwhitaker.wikidot.com/forum/t-711201#post-2177274</guid>
				<title>(no title)</title>
				<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update#post-2177274</link>
				<description></description>
				<pubDate>Thu, 11 Dec 2014 16:37:44 +0000</pubDate>
				<wikidot:authorName>Trox085</wikidot:authorName>				<wikidot:authorUserId>2026739</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Thanks for reposting the code! I've read through most of it now and am able to follow along just fine. I think I'll start with the first competition's goal and work my way up through them all. Hopefully I'll feel comfortable enough to join you guys in the fourth competition.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://rbwhitaker.wikidot.com/forum/t-711201#post-2172471</guid>
				<title>(no title)</title>
				<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update#post-2172471</link>
				<description></description>
				<pubDate>Thu, 04 Dec 2014 21:39:37 +0000</pubDate>
				<wikidot:authorName>PiscesMike</wikidot:authorName>				<wikidot:authorUserId>1721619</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Google Drive link:<br /> <a href="https://drive.google.com/file/d/0B5moEgyck5X5ODhYQUx2X1QyNlU/view?usp=sharing">https://drive.google.com/file/d/0B5moEgyck5X5ODhYQUx2X1QyNlU/view?usp=sharing</a></p> <p>I don't know if you're familiar with google drive or not, but its a little funky in the way it treats zip files&#8230; it tries to treat them as a document. At any rate, to download it, simply located the down pointing arrow about midway across the screen on the top. Click that and it should let you download the complete file!</p> <p>If you have any questions, feel free to post away, or join us in the chat room. (I won't be there until a little later tonight&#8230; 7pm EST or so!)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://rbwhitaker.wikidot.com/forum/t-711201#post-2172463</guid>
				<title>(no title)</title>
				<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update#post-2172463</link>
				<description></description>
				<pubDate>Thu, 04 Dec 2014 21:19:08 +0000</pubDate>
				<wikidot:authorName>PiscesMike</wikidot:authorName>				<wikidot:authorUserId>1721619</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Greetings Trox!</p> <p>Ah, yeah, good ole Rapidshare, always deleting stuff. I do still have the code&#8230; let me put it up on Google Drive and Atlassian (if you use that)&#8230;</p> <p>I'll post a link shortly!</p> <p>Edit: Turns out it is already on BitBucket:<br /> <a href="https://bitbucket.org/PiscesMike/breakout-clone-project">https://bitbucket.org/PiscesMike/breakout-clone-project</a></p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://rbwhitaker.wikidot.com/forum/t-711201#post-2172454</guid>
				<title>(no title)</title>
				<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update#post-2172454</link>
				<description></description>
				<pubDate>Thu, 04 Dec 2014 21:05:42 +0000</pubDate>
				<wikidot:authorName>Trox</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>PiscesMike, I know I'm being a bit of a thread necromancer, but I just found this site a couple days ago, finished all the MonoGame tutorials and most of the XNA tutorials, and am now looking for further example code. Your RapidShare links above state that no data is available in the download. Any chance you still have a copy laying about?</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://rbwhitaker.wikidot.com/forum/t-711201#post-1909881</guid>
				<title>Re: Final Update</title>
				<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update#post-1909881</link>
				<description></description>
				<pubDate>Fri, 06 Dec 2013 19:37:23 +0000</pubDate>
				<wikidot:authorName>PiscesMike</wikidot:authorName>				<wikidot:authorUserId>1721619</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hey RB! Yes, I had mentioned before about doing another game as an example. I was thinking of an asteroid clone to keep things simple still, but was also giving a little more thought about making it more &quot;tutorial&quot;-ish. That, and I'm still absorbing what was learned in the first game to a degree. I had read about the game states and the game state manager before, but this was the first time it kind of 'clicked' for me what was actually happening, and how it worked.<br /> At any rate, I've actually been out raising funds and recruiting artists for a personal project which I'm going to be starting on Dec. 9th. We're going to be doing a &quot;Demo, kickstater funding, finish the game&quot; model for this project, so maybe I can shed a little light on that which may be helpful to others out there trying to get started.<br /> Coding on the new game won't start until I get work from the artists, so after I've gotten the documents and guidelines set up and sent out to those guys on the 9th, I'd be more than happy to start another &quot;30 day game challenge&quot; here. I've suggested an Asteroids clone, do you have any suggestions, or shall we start a thread just for determining that?</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://rbwhitaker.wikidot.com/forum/t-711201#post-1908298</guid>
				<title>Re: Final Update</title>
				<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update#post-1908298</link>
				<description></description>
				<pubDate>Wed, 04 Dec 2013 21:15:09 +0000</pubDate>
				<wikidot:authorName>rbwhitaker</wikidot:authorName>				<wikidot:authorUserId>88099</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hey, PiscesMike, out of curiosity do you have any plans to do a repeat of this? Make a second game?</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://rbwhitaker.wikidot.com/forum/t-711201#post-1874113</guid>
				<title>Re: Final Update</title>
				<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update#post-1874113</link>
				<description></description>
				<pubDate>Sat, 19 Oct 2013 22:05:28 +0000</pubDate>
				<wikidot:authorName>PiscesMike</wikidot:authorName>				<wikidot:authorUserId>1721619</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I found this to be a very interesting take on the breakout clone game:</p> <p><a href="http://www.kickstarter.com/projects/blackblackbeast/castle-breakers-for-the-pc?ref=live">http://www.kickstarter.com/projects/blackblackbeast/castle-breakers-for-the-pc?ref=live</a></p> <p>Imagine my surprise when I found out their music score is also from Kevin Macleod!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://rbwhitaker.wikidot.com/forum/t-711201#post-1874018</guid>
				<title>Re: Final Update</title>
				<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update#post-1874018</link>
				<description></description>
				<pubDate>Sat, 19 Oct 2013 18:52:12 +0000</pubDate>
				<wikidot:authorName>PiscesMike</wikidot:authorName>				<wikidot:authorUserId>1721619</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Thanks RB!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://rbwhitaker.wikidot.com/forum/t-711201#post-1874008</guid>
				<title>Re: Final Update</title>
				<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update#post-1874008</link>
				<description></description>
				<pubDate>Sat, 19 Oct 2013 18:25:18 +0000</pubDate>
				<wikidot:authorName>rbwhitaker</wikidot:authorName>				<wikidot:authorUserId>88099</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>OK, so, I just got done playing this game, and despite some of the bugs, I've had a huge grin on my face ever since the menu came up (beautiful background, by the way) and Kevin MacLeod's music came on. Bugs or not, I love what you guys accomplished here!</p> <p>I was going to list a couple of things that seemed out of place, but I think I decided I'm not going to. You already seem to know what tweaks could still be made and that's enough. You guys should be seriously proud of what you accomplished here in such a short time.</p> <p>I can't wait to see what you guys do next! (And hopefully be a bit more involved!)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://rbwhitaker.wikidot.com/forum/t-711201#post-1874004</guid>
				<title>Re: Final Update</title>
				<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update#post-1874004</link>
				<description></description>
				<pubDate>Sat, 19 Oct 2013 18:16:31 +0000</pubDate>
				<wikidot:authorName>rbwhitaker</wikidot:authorName>				<wikidot:authorUserId>88099</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I really like this little writeup. It's a great post-mortem. I like that you've explained what worked and what didn't, and I think this is a good example of what should be done for other people on this site doing the same kind of thing.</p> <p>I'm looking forward to playing around with this version. It's installing on my computer right now!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://rbwhitaker.wikidot.com/forum/t-711201#post-1873984</guid>
				<title>Re: Final Update</title>
				<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update#post-1873984</link>
				<description></description>
				<pubDate>Sat, 19 Oct 2013 17:08:12 +0000</pubDate>
				<wikidot:authorName>PiscesMike</wikidot:authorName>				<wikidot:authorUserId>1721619</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Thanks Emblis!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://rbwhitaker.wikidot.com/forum/t-711201#post-1873831</guid>
				<title>Re: Final Update</title>
				<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update#post-1873831</link>
				<description></description>
				<pubDate>Sat, 19 Oct 2013 09:31:29 +0000</pubDate>
				<wikidot:authorName>Emblis</wikidot:authorName>				<wikidot:authorUserId>1671135</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Great job! Aside from the points you mentioned it looks good.</p> <p>I wish I had been able to contribute more but between work and a puppy I have not had much spare time :P Maybe next time.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://rbwhitaker.wikidot.com/forum/t-711201#post-1873721</guid>
				<title>Re: Final Update</title>
				<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update#post-1873721</link>
				<description></description>
				<pubDate>Sat, 19 Oct 2013 01:51:48 +0000</pubDate>
				<wikidot:authorName>PiscesMike</wikidot:authorName>				<wikidot:authorUserId>1721619</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Ok the final update is uploading at this moment. While it is finishing, I wanted to get out my thoughts on the project, namely, what went right, and what went not-so-right.</p> <p>So, first of all, going by the guidelines we set out at the beginning I'd have to say we've done pretty well. I was able to get all the basics in there&#8230;. that is, all the brick types we talked about along with all the power up items, and some cool animations to boot. Towards the end, I added a title screen, and a credit screen. The high score screen was something that did not get done, although I don't feel too bad about that since it was an add on later in the project. When I suggested adding the high scores screen, it was in the hopes of creating a 'complete' game. Even though this one thing did not get completed, I still feel that the game is complete, in the sense that it does have game play, keeps track of your score, allows you to 'lose' if you run out of balls, and allows you to 'win' if you complete 10 levels. The high score screen would have been a nice added feature, but added feature is the key word. I was also able to get in RB's suggestion of making the brick pieces fade out over time as they fall, and that looks quite nice. Additionally, to break up the monotony of the pieces, I added a small command that rotates each brick piece sprite by a random amount so things are a little more diversified as far as how those animations look. Also, I added graphics to the top left of the game play screen to show how many balls you have left. A sound track and sound effects have been added, which adds a new level of depth to the game. The credit screen lists all the resources used and who created them. I added mouse support and keyboard support to the title screen.</p> <p>Now, on to the bad things. There are some bugs. Namely I've noticed issues with the way the level manager (or perhaps the ball class?) keeps track of the number of bricks left to break before moving on to the next level. Sometimes, depending on the brick types, it will move on to the next level while there are still a few bricks left that aren't indestructible. Not a huge issue, but irritating none the less. Also, once you move onto the later levels, sometimes bricks show up as an 'explosive' type when they are really the type that drop the disappearing ball power up. This was something that popped up very late in the coding (when I added multiple levels), so I really haven't had a chance to look for the cause. On the title screen, the mouse will allow you to select an option by clicking it. However, to launch the selected option, you have to hold the mouse button down while hovering over the selection. I was trying to set it up for standard windows actions, click to select, and double click to launch. However with the way I coded things, it turns out that instead of a double click, you can activate the option as mentioned above. This is something that should be fixed as well. Well, those are the major ones I've noticed. Since we had basically zero time for a beta testing stage, I'd appreciate any feedback you might have on other issues you notice.</p> <p>As to the actual code itself: I think most of it is good, except for the few instances where things aren't going quite as expected. Still, there is nothing that causes the program to crash or terminate unexpectedly, at least not that I have come across at this point. There were a couple times while coding that I realized a few changes would make things much better. First was the change from passing all the XNAObjects to each function that needed them to creating a wrapper class for all the objects so any function/class can use and access them in a standard manner. This change ended up working wonderfully after I got it added, but there are still a few places where code needs to be updated to this method. Secondly, it would have been very useful to do the same with the game objects themselves. There are a lot of calls where a function needs to create a copy of the brick array, or the ball, or even the paddle. It would have been good to create a wrapper class for this purpose as well, so anything could access all the game objects something like: GameObjects.Ball or GameObjects.Paddle, instead of having to pass objects in the function arguments. I started to add this functionality in but realized our time limitations quickly. At any rate, its something that will be good to keep in mind for later projects.</p> <p>And lastly, I think a lot of the base objects can and should be reused in future coding. There are still some minor issues with the rotation I've noticed in the base sprite class, but since that was not used in the project, I haven't had the opportunity to fix things. Don't get me wrong, the rotation actually works, but what I've seen is that when rotating, the point of origin (or perhaps the location of the sprite) seems to drift when used with a trajectory. Additionally, the rotation (when using the rotate_CW and rotate_CCW calls), is a little slow. That's not so much an error as much as it could be implemented a bit better. Namely, I tied the rotation speed to the system gametime, and while this is fine, it would have been better to allow the programmer to send in a rotational speed via an argument or class property.</p> <p>So all in all, I think we hit the mark, but I'm going to wait for some feedback from Mr. Whitaker to see what he thinks. While there are a few errors this was, after all, a learning experience, and in that sense I think it served its purpose very well. Going into the future we can build on this, and I think, end up with a set of classes that will make 2D game development fairly quick and easy.</p> <p>The link for downloading the final version of the code for this project is below. If you download and play with it some you may need to turn off the robot player - I kept it enabled while testing the levels, and although I meant to turn it off before the upload, I forgot. To turn off the robot player, locate the robot_player boolean in the paddle class and set it to false. Also, there is no video of the latest work in progress, for some reason my computer seems to have a microphone/sound input issue and will not record the audio that comes with the game, and this adds a lot to the game, so you just have to compile it yourself!</p> <p>Let me know what you all think! Thank you!</p> <p>Full source:<br /> <a href="http://rapidshare.com/share/20966770DE4890408CD5A1B361D7F733">http://rapidshare.com/share/20966770DE4890408CD5A1B361D7F733</a></p> <p>Install and executable only:<br /> <a href="http://rapidshare.com/share/626AF3A3C485F21BF7CF48020812C730">http://rapidshare.com/share/626AF3A3C485F21BF7CF48020812C730</a></p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://rbwhitaker.wikidot.com/forum/t-711201#post-1873689</guid>
				<title>Final Update</title>
				<link>http://rbwhitaker.wikidot.com/forum/t-711201/final-update#post-1873689</link>
				<description></description>
				<pubDate>Fri, 18 Oct 2013 23:40:40 +0000</pubDate>
				<wikidot:authorName>PiscesMike</wikidot:authorName>				<wikidot:authorUserId>1721619</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Greetings all. Just dropping a line to let you know the final update and code will be uploaded and posted tonight, at some point. I'm more of a night person, so I'm just getting up for the day (7:45pm here). Nevertheless, I will have the code posted shortly, and look forward to hearing input and review from you guys since we didn't really get to do a beta testing stage.</p> 
				 	]]>
				</content:encoded>							</item>
				</channel>
</rss>