Another Ludum Dare has come and gone. Colby and I decided to participate again, this time taking a more active approach than four months ago when we decided to enter on a whim. We spent about a week setting up a code base we felt comfortable with and even came up with a few ideas for each potential theme to help us get the ball rolling right away. We also too an active role in voting and were very happy with the theme for Ludum Dare 33: You are the Monster.
To prepare our code, we first decided on the libraries we would be using so we could create template project that was ready to go. Firstly, we have recently switched paradigms and have moved away from class-based object-oriented programming (OOP) in favour of data-driven entity-component-systems (ECS). We have significantly improved the readability and sensibility of our code with this
When I was first contacted by Binary Cocoa to help them finish off IT Simulator, I was in the middle of my Ludum Dare project. I offered to help out after the contest if they still needed me, and they were gracious enough to wait for me. I've worked with Binary Cocoa in the past on the BOCO title so I was already familiar with some other projects they had up their sleeves, including IT Simulator.
IT Simulator is a title that was made in partnership with Fisher's Technology, a private business based in Idaho, the same state where Binary Cocoa is headquartered. Fisher's Technology wanted Binary Cocoa to create an arcade-style game to be used as a marketing tool at an upcoming IT conference.
The gist of IT Simulator is that you are a Fisher's Technology IT worker who must travel to various locations to fix and prevent the
Alright, now that we’ve had some much needed sleep, it’s time to talk about our project, “Not My Panties!”. We weren’t originally planning to join Ludum Dare, but once the theme was released, myself and Colby decide to at least think up some ideas. After about two hours of brainstorming, we settled on “A game where a cross-dressing boy is avoiding being outed by fighting off his pursuers with a giant DS Touch Pen”. With a subject and weapon in mind, we committed to enter our first Ludum Dare Jam.
With commitment to the jam, we needed to work out exactly what sort of game we were going to make. Since it was our first jam, we decided on taking the easy route and making a turn-based battle system. I had made one of these before for a different game, so it was minimal effort to recreate
BOCO has finally been released! You can purchase it on the Official Website for Windows, Mac, Linux, and Android or on the Google Play Store. The version on the website is DRM free and comes with the game, the sound track, and the source code (I'm sorry) and costs $3. The version from the Play Store is just the Android game and costs $1. I made this game with the guys from Binary Cocoa, so check out their website too!
I guess this officially makes me a game developer, eh?
With the new networking structure in place, making everything look nice is important. In my last post, I explained the idea behind how our network code works. In this post, I will explain the details that made everything come together.
First off, a quick recap. We are sending data from the client to the server on a 20Hz frequency, whch means the client is sending data 20 times each second, or roughly once every three frames. The server grabs this data and relays it on to all other clients. Ignoring latency for a moment, that means that each client is receiving new position data every third frame. Between these updates, the other tanks will just sit on the map and then jump to their new position. This is really ugly. To solve that problem, we did two things:
- Introduce velocity
- Use velocity to move the tank in lieu of data