My last blog was on July and I’ll use this one to talk about a bit of the stuff I’ve been messing with in this time.
Open source stuff
If you look at my GitHub profile the activity in those last couple months or so was rather low.
Those green dots are mainly commits in my little side project pets, I worked on it doing internationalization and I hope that when it’s 100% done the project will be useful to more people. It was a very straightforward job, my only complain was the inconsistency between the compilemessages and makemessages commands. But this was fixed on Django 1.9 so when I upgrade the project to the next LTS release of Django everything will be cool here.
Recently I also started to create a management command to send an email to users requesting some action of theirs part to keep the registration active and live on the website.
To be able to form the full URL I installed the Django’s sites framework (docs), this again was a very simple task. Digging a bit in the source code I found it to be very interesting, so I’ll probably make another small presentation about it, as I did with the cache framework (docs) which you can see here[PT-BR]. Haven’t decided yet if I’ll do it on English on Portuguese.
To provide the complete specter of changes in the project some stats, I raised the Code Climate rate of the source code to 3.86, and the test coverage to 99%. Now that I know Django and Python a bit better, there are some more refactors that I want to make, both in the application code as in the test code, making it easier for people to understand.
The live version now have a total of 105 pets and 151 users registered.
Later this year I’ve also made a small contribution to model_mommy.
A silly walk in the game development world
The most close that I’ve got to gamedev before was doing a small pong game with C++ and the SDL library some years ago.
I decided to research a bit what people were using to quickly build something and decided to try two of the alternatives: GameMaker:Studio 1.4 and Unity. In two months I built two simple (and stupid) games. So it took me something like a month to finish each game using each one of the development tools proposed, not that bad if you ask me.
A quick observation, the assets used are not mine, I grab it from Kenney. He shares a lot of free stuff, and I also bought a pack of assets. You should take a look at his website and also support him too, if you can.
So, with GameMaker I build upon a blog post in their website. It was a “lights off” game. I never heard of it before but I kind of like the idea.
The code on the blog posts had a few bugs and edge cases so I have modified it a lot as I also expanded on the idea.
My simple game have two modes of gameplay, one with designed levels by me, just four for now, and other with randomly generated that progressively increases the difficulty. I decided to give it a try and also create a design mode, where players can create levels and send to me. The server part is a simple Django app hosted on Heroku.
Here some screenshots of the “game”:
The whole IDE have a strong look-n-feel of the old Delphi IDEs. It’s heavily inspired by the Delphi philosophy, in my opinion. It uses a small C-like language called GML.
Things I like
- The community is very friendly, which makes sense, as it’s more focused on beginners;
- It’s very simple to do common stuff, an example is scrolling background, click here, there, and you are done;
- It’s very straight forward to make 2D games;
- Simple particle system.
Things I think can be improved
- The editor is kinda buggy, missing syntax highlight in some cases, autocomplete is also very disappointing some times;
- You need too much clicks to add an event;
- Slow feedback loop, it’s a bit slow to compile and run;
- I found it to be too much of a pain to work with UI, the lack of proper preview and the slow startup speed make it even worse;
- Missing preview for the particle system.
Here I should add a note, there’s a new version of GameMaker that fix most, if not all the problems that I had with the version I used. I think it’s worth a try. :)
I felt at home here! Unity is a much bigger project, the workflow is a lot better for my taste. It has a lot in common with modern IDEs. And I think it’s gaining a lot of momentum right now.
Unity was my first choice, I built a very silly game to make fun of it with some friends. You control a rabbit that farts to fly while breaks trees. There are upgrades to buy and collect during the gameplay, like body oil, protein and sweet potatoes. Yeah, we have some exotic kind of humor. :)
Unity comes with a version of MonoDevelop which is beautifully integrated with the tool. It was a long time since I used C# and I still think it’s a cool language, not as cool as Python but still cool. :P
I used both the leaderboards and achievements services from Google. I was surprised to see that Google maintains an Unity package to make it easier for developers to integrated the services into their projects, but after messing around with Unity a bit I understand that it makes sense.
Things I like
- It was a pleasure to work with UI in Unity, you can easily preview everything, it’s also incredibility flexible;
- Animation is awesome, it remembers the simplicity of Flash;
- Preview of the particle system is very handy;
- It’s very quick to start a playtest session, making the feedback loop a lot faster;
- A very communicative and approachable dev team, there’s even a public roadmap on the website, I also saw a talk about the future of Unity on YouTube.
Things I think can be improved
- A better support for 2D games;
- Simple stuff could be simpler, like a scrolling background without the need to do it yourself. Event if it’s very simple, it can get a bit repetitive in multiple projects.
In the end Unity was the tool that most pleasured me, and I’ll be using it in my next little, stupid and silly game. Unity <3.
A better 2D support is being done and some awesome stuffs are on the way. To simplify the reuse of common piece of code Unity have the asset store. For my own use I’ll probably start some kind of utils scripts collection.
This one will be very short.
I never used Blender before, so after discovering this lowpoly modeling technique I got hooked and decided to install Blender and give it a try.
A bit of reading and watching, and something like one hour resulted into this dog.
It’s not the most impressive stuff you’ll see but if you take into account my lack of experience and artistic skill I was very satisfied with the result.
I’ll revisit this at some point to develop an interactivity, and hopefully emotional, multimedia experience.
Other random stuff
I finished a lot of books, mainly from Bernard Cornwell, never read anything from him before. My girlfriend gifted me with an impressive number of his work and I loved it! I’m at the end of the The Last Kingdom series. I’m currently reading, and liking a lot, one book of Ken Follett, an author that I also never heard before being gifted with one of his book, thanks to my awesome girlfriend for it too. :)
For a more technical read I’m currently reading Programming Elixir from Dave Thomas, Level Up! from Scott Rogers, ReGex from Aurélio Marinho, Python Cookbook from David Beazley and Fluent Python from Luciano Ramalho. Hmm, looks like I have some kind of addiction to starting tech books, eh?
Being a completely newbie on gamedev stuff, Level Up! is being a cool read.
I’d like to highlight both Programming Elixir and Fluent Python.
Dave’s book is my introduction to a new, for me, and very interesting paradigm! I’m constantly having some “Ohhh” moments during the book.
It might be my love for the Python language and community friends or being proud of “knowing” the author, but Fluent Python is until now one of the most amazing technical reads for me, along with Pragmatic Programmer. So take this reading tip, read Pragmatic Programmer and if you are into Python, read Fluent Python!
I decided to give it a shot to write some posts in English and see how far my presence can go, and even that I didn’t wrote anything groundbreaking I got surprised about how far I did. For the love of numbers and graphics here I share the visualization picture of my blog.
I’m thinking about moving my blog to GitHub pages, I’m not using the complete feature set of Wordpress and not being able to collect more stats from it is kind of boring.
Months of work from my friend and I at my job and we are now close to finish an almost complete rewrite of a 13-15 years old PHP web application.
We haven’t collected stats recently but the new code base will be at most 10% the size of the old one. It’ll feature more precise information, have more features for the users and a responsive design making it comfortable to use in mobile devices.
After we finish it I think I’ll probably start to look for more challenges somewhere else.
I’ll probably continue to try something here and there in my spare time. But I didn’t expect to made anything successful as I have a very peculiar taste for stupid 2D games. I’ll probably stick with Unity for now.
I’m thinking that I could try to record a small video series, probably rebuilding an even smaller version of some of my previous “games” or a stripped version of my open source project.
So, that’s it! I see you all soon, hopefully. :)