Submissions from 2015-05-02 to 2015-05-03 (3 total)

Not much done today. Mostly, I got my desktop up and running with Haxe, Luxe, Cmder, Git, and GitHub for Windows. Will try to be more productive tomorrow.


I fixed some bugs from the previous update (actually some of the bugs were older, they just didn't present). I had earlier add a menu that lets you choose which items you wanted to use to fuel the fire. You can use your tent as kindling if you wish for instance (though I wouldn't recommend it). This lead to crashing though now that I had an ai character trying to interact with the campfire - ai characters don't have a menu attached, but otherwise use the same interaction code as the player. This had a simple solution - write a menu handler on into the ai and make sure when passing it a menu to give it enough context to make a decision. For the fuel, I have a list of item types and the order in which he would prefer to burn them, starting with the most obvious, the log. But if he is running his ai routine to top off the campfire and runs out of logs... who knows what might happen :)

Other bugs related to the conversation and event system. In one case, the same conversation was appearing twice, because of an delete-index-while-iterating-a-list error with events when there are two events to be executed on a frame. Luckily, I just happened to have my test conversation keyed to trigger on the same tick as another event, or I may not have caught this one!


Separately I'm going to throw in updates for another project here occasionally, even forgoing Erik on some updates. For about a year I've been working on my own front end to launch games from. It imports my library from steam and gog, can launch roms in various emulators, and can also just point to any shortcut or exe. It is a unified way for me to launch games and track my playtime, which has become increasingly important to me as my game pile grows out of control. I think that it might be useful to others in the future, but the polish isn't quite there, and it's missing some features that don't bother me too much but will be tougher for others to swallow.

Today I worked on some of those missing features. One issue was that all of the external apis had my own account information and passwords hardcoded. Wouldn't want to send my gog password out in public now would I? I also have not updated how the database stores games in a while. It's... pretty messy as you might expect, with support for so many different sources of game information added haphazardly over a year. I made some tweaks to it and updated my 1200 strong game database to the new data format. Where I used to have something like this:

{"name":"Assassin's Creed IV",

I now have this:

{"name":"Assassin's Creed IV",

It's a small change but is a lot easier to expand for the future. In general, I'm trying to make it more expandable, so that if I get feature request or bug reports I can more easily modify the data without end users having to run dangerous conversion scripts that might screw up their data.

Let me know if you are interested in beta testing the software, I'd really like to start with a very tiny group like this one.

No update tomorrow probably :P

I had been having a weird one-way-platform bug with my player controller. Sometimes the bottom of the player would be below the top of the platform, but the physics would either move the player on top of that platform or to the top of the previously-occupied platform. I was ready to rewrite the CharacterController2D that prime31 wrote because I was so confused, but it turns out that if I had read the documentation, I'd have noticed that one-way plaftorms require an EdgeCollider2D to work, not a BoxCollider2D like I was using.

So yeah, that was today's major breakthrough.

The second breakthrough is that I figured out why my textures were acting so weird: their size weren't set to a power of 2, and thus Unity couldn't render them pixel-perfect.

Today was frustrating, but I fixed two huge issues, so it feels good :)