Below you will find pages that utilize the taxonomy term “C”
2019 In Programming
This was a VERY busy year for my coding. This year I had over 769 commits to GitHub; my previous best was 58 in 2014. The commits were very unevenly distributed. If you look at the graph of my commits, outside of a busy week in January and another in May, I didn’t really start coding until August.
GitHub activity graph
But perhaps commits to GithHub isn’t the best metric. If you look at what I accomplished in the second half of 2019, I worked on an incredible number of projects.
Unity 2D Game 4: Laser Defender
The fourth game we worked on was another game that I spent a lot of my childhood playing. We made a Galaxian/Galaga clone:
Laser Defender - a Galaga Galaxian clone
My mom’s youngest brother had a Nintendo and lots of arcade ports. When I was young he lived in the condo above my grandmother’s condo and whenever we’d go visit her, I’d ask if I could visit him so we could play games. The game I loved playing the most there was Galaga because of the frantic pace.
Unity 2D Game 3: Block Destroyer
My journey through 2D game development using the Unity engine continued with our third project: a clone of Brick Breaker or Arkanoid. In case you’ve never seen it before, this is Arkanoid:
Arkanoid
It’s got a pretty important legacy, Breakout, the version that Atari created, was an important stepping stone for the two Steves of Apple (Steve Jobs and Steve Wozniak).
So it makes sense that this would be one of the games we would use on our learning journey. This is what my first level looks like:
Learning how to make 2D Games in Unity
I’ve been playing video games since I was somewhere around 5 or 6 years old and got a Nintendo Entertainment System for my birthday from one of my aunts. I also inherited a Tandy computer from my dad when I was younger. We had a bunch of edutainment games - like this Sesame Street game (that unfortunately a quick search on Google Images does not turn up) where you had to suck the Tweedles (bugs from Ernie’s flower box) to solve math problems. I also, and I’ve mentioned this before in several places on the net, learned to program from a book on BASIC and made myself a bunch of simple games, including Madlibs clones.
Philosophizing on the Move can lead to trouble
The plot twist at the end is awesome, but so is the programmer’s debate going on, especially since we were talking about this at work this week. Another great xkcd from Randall Monroe:
Two down....three to go
Today I finished up yet another class. The first one I finished up was a project where I was conducted a study for the School of Electrical Engineering to switch over to Linux and open source alternatives. I also published my study as my first publication at Lulu.com. It was great to have one class out of the way, especially one which was such a joy to participate in.
Today I wrapped up another favorite class, microcontroller design. As my faithful readers know, I’ve been providing the source code to each of the labs we completed during the semester. Well, today my group demoed our final project to our professor and TA. They were quite impressed with the progress we had made on the code, despite its limitations. Our final project, a web server on a microcontroller, was a lot of fun to work on. There were a lot of frustrating times, but it’s the good kind of frustration that motivates one to try as hard as they can to get around the problem. One of my favorite taks is to participate in design and debugging, trying to get my design to work because I know it *should* be working, so what did I forget? Was it simply a semi-colon? Was it something more significant, some kind of oversight? It was hard sticking to the project and keeping Rich from rewriting it from scratch, but I think we had a much better product because we sat through all of our problems and figured out what the original author of the source code we were basing it off of had done. After all, in a real work environment you have to figure what the previous guy did. There is no time to rewrite the code, no matter how awesome you are at coding. I will be posting the code and my report soon, probably over the next few days. I invite and challenge anyone out there to work on the code and make it more robust and reliable, there is PLENTY of room for that. You just need an Atmel Mega32 and STK500 development board. (As well as the computer on which one does the programming)
More Atmel Code available!
I have posted the latest code from the work Rich and I have done for our microcontroller class at Cornell. We are releasing all of our code under the GPL license so feel free to use it, modify it, and have fun with it. The code is modified C code and assembly language for the Atmel Mega32 chip running on an STK500 board. It should be easily available from Atmel or perhaps your local electronic hobbyist shop.
A few updates and notes
If you go to my main page, you can see where I have added a new section, C code from a class I’m taking this semester. We’re making a lot of really cool designs based upon the Atmel CPU, which is readily available for those who like to tinker. I’ve put up my first project, a reaction time tester. It has the user push a button, waits approximately two seconds plus a random amount to keep the user from guessing, and then displays the user’s reaction time. It also keeps the user from cheating by detecting if they are holding the button down.