Here's an interesting example of binpacking: http://hackaday.com/2016/01/22/pack-your-plywood-cuts-with-genetic-algortihms/
It's used to layout shapes to be cut from material using a laser cutter. The goal being to conserve material. The problem being an almost infinite number of combinations of parts. Doing it by hand is possible, but also tedious, time consuming, and not guaranteed to be the best solution.
I used to mess around with BoxCar 2D, but its based on flash. my browser wont even render it because I think flash is being removed from most browsers now. but you can probably get it to work. I think there was even a version made in java somewhere.
I really like this guy's example, though it isn't a game yet: bots You can even download and run that yourself, and it's open source.
I'm not sure what exactly you want to learn how to do, but I would suggest starting by learning the binary search tree and its variants. Also, I used this book in one of my classes and it was really good: Banzhaf
I use Zotero to organize/store papers, articles, links etc. It's free and I would highly reccommend it.
Initially I used it for a thesis I was writing on and just kept growing my library with more categories, more links, more papers. It is really intuitive, there is a Chrome extention which lets you add a website/paper (pdf) with one click to a collection of your choice, which then downloads the paper and stores it locally on your PC and adds it to your library in Zotero. You can also export your whole Library (including the downloaded files) to create a quick backup.
This is a good resource to get more about GA: https://www.amazon.ca/Evolutionary-Optimization-Algorithms-Dan-Simon/dp/0470937416
The way of flattening the NN parameters is the way I mostly see.
I like lisp because of how easy it is to abstract data and even treat functions as data. It seems like it lends itself to evolutionary programming a little more naturally than other languages. Also, I've heard that learning to program in lisp provides a very solid foundation for programming methodology in general. I have Structure and Interpretation of Computer Programs by Harold Abelson and Gerald Sussman, which I am using to learn how to program, a textbook which is based on lisp.