Updates: June 10, 2016

June 10, 2016 at 10:55 am (Art, Java, memory palace, Programming, Rant, Thinking) (, , , , , , , , , , , , )


I’ve been working on a number of different things as well as thinking about my next steps and goals for the year. Here is a point-form list of some of the projects and endeavors I’ve been spending effort on in the past couple weeks:

  • I set up a home Linux server. I wanted a local, private Git repository as well as a machine to host some automated processes and apps. Things have been working out very well on this front. It’s been a great learning experience on top of it as well as I haven’t really used Linux in a decade or more. I installed a desktop version of Ubuntu, but I’ve been sticking to using the terminal as much as possible to expand my sphere of knowledge.
  • I’ve been working on my coding skills and algorithm knowledge. I always have some sort of coding project on the go, but recently I’ve been so focused on my front-end skills that I’ve let my core skills droop a bit. To get back up to par, I’ve been solving a lot of coding problems in Java as well as figuring out some algorithms that I haven’t touched in a while. I decided to start basic with heaps and heapsort, then moved on to KMP string matching, and now I am working on suffix tries/trees. I’m going at a slow pace with this though so I can not only code solutions, but also store them in my mind palace.

   Preparing an algorithm for long-term mind palace storage pretty much consists of tearing the algorithm down to its basic elements in your mind and trying to make a story out of it. For example, I’ve decided to store the KMP string matching algorithm in a kitchen in one of my mind-rooms, so I compared the process to making spaghetti. Comparing noodles of different length was the basis of the story. I also had to work in the generation of the prefix table for the search pattern. For this, I’ve been toying around with adding some sort of “sauce” to the story to indicate the comparisons of the prefix to suffix for each length of the pattern noodle.

   I think that I’m finally starting to outgrow the hub room I’ve been using for my computer science mind palace. It was a good index for classes of algorithms so I could always see what tools were at my disposal, but it’s getting too cluttered now.

  • I’ve also been doing a lot of general-purpose reading. I visited the library not long ago and “accidentally” walked away with between 10-15 books. Some of these were painting-related so I could learn some new techniques and composition skills, but I also picked up some interesting biology books. One of these is a book on viruses (the non-computer version). I’ve been learning a lot about how they operate as well as how they’re being used/manipulated today. Bacteriophages are being produced to one day replace antibiotics, and I find the whole thing fascinating (phages are a type of virus that goes after bacteria instead of humans).
  • In addition to practicing my coding/problem solving skills, I’ve also been working on learning and using some new technologies; at least new to me. I’ve been fiddling with the Play framework, which is a web platform. I wasn’t really impressed with it at the start as you have to use a self-hosted web app just to create a project structure, but beyond that it seems really nifty. My next area of interest within this framework is the Ebean integration, which allows for a fun way to connect objects to databases without having to write scripts and stored procedures. There are also some features to allow syncing a database to ElasticSearch automatically, which will be fun.
  • The Android platform is another area I am learning about lately. I’ve set up my development environment and I’ve been learning about the SDK for creating apps. It seems like there are a lot of different approaches to building Android apps, especially as the SDK has been evolving. It has made things a little awkward to get started (as there are many references on the internet to doing things the “old” ways), but I think I’m past that hurdle now. My only real problem now is that I haven’t been spending enough time on this project.

Permalink Leave a Comment

Paper Donkey Engine

February 3, 2011 at 1:32 pm (Computer Science, Games, Graphics) (, , , , , , , , , )


So I haven’t posted in a very long time now, mostly due to me being busy with research and life. I have a few projects I want to post some stuff about though. One of them is the SpeedGame I created last September for a competition. It’s codenamed Paper Donkey and is essentially a 2D-in-3D engine I wrote in Processing. I had a teammate (Matt) for this project and so I made him do most of the game design and level creation aspect of it so that I could focus on engine coding. We didn’t really care about winning anything, but mostly just wanted the experience of working on a team to make a completed project.

The game we came up with itself was a little on the dull side. Due to time constraints, we had to trim the game mechanics to just a maze. That being said, I would consider it a huge success. I only really wanted to build an engine I could use to prototype games and I got what I wanted. The engine code is pretty nifty and it works great. There is a slight performance issue though since I do some pretty naive collision detection and other things like that. Also, a couple of the features ended up being really glitchy so I removed them from the levels.

The engine renders 2D sprites in a 3D perspective. So the level geometry is represented by floor and wall tiles while the characters are rendered as billboards that always face the camera. It has a pretty decent animation system, but no editor so the files have to be created by hand to specify animation sequences. The same goes for the levels because I didn’t bother to use my old map editor formats for this project. It has been a while since I’ve worked with the engine, so I’ll have to take a look at it in order to post more on the exact features of it, but it was a blast to make and use. It took about a week to build and a week to make the game on top of it.

<I will edit this post at a later time and add screenshots>

Permalink Leave a Comment