I moved to a new URL! Check it out!

Doodle Post

Image

Dev Log: That Lost Feeling

Dev Log: That Lost Feeling
I feel like days are just flying by lately. What have I even been up to?! The past week or so has probably been a record low in the motivation department, and I have no good idea why that is. I guess it just happens. Sometimes I just end up feeling totally lost as to what I should do, or what I should be working on.

I'm working a little bit on a board game idea that some local Phoenix developer friends came up with, and I'm poking around at finishing my two player coop action game, but overall my amount-of-work-getting-done value has dropped off a lot, and the crazy thing is just a week or so ago it felt like it was at an all time high! I've been doing creative stuff and making games and whatever else for years now and I still don't understand how it all works.

Sometimes it just seems like every other developer or creative person on the planet has everything figured out and I'm the only one that totally drops off the face of the earth for weeks. (I know that's pretty hyperbolic, but I'm not claiming to be rational here.) When I get programming demotivated I start to draw more, and you'd figure I'd draw art for my games, but the problem is that for some reason that stresses me out, and so I just start to doodle what makes me comfortable instead.

I'm going to try just fiddling around with Otter to see if I can get a spark going again for programming. I think some of this feeling might have to do with upcoming travel which always stresses me out beyond belief. I wish I didn't freak out so much whenever I have upcoming travel, but I'm not really sure how to fix it!

Oh well, game development isn't all sunshine and puppy dogs and rainbows or whatever. Sometimes it sucks, and it's really depressing! But maybe it will clear up again soon.

On the upside I've been watching Handmade Hero and so far it's been pretty awesome. It's going to be a complete series on making a game from scratch. It's opening my eyes to a lot of stuff that I thought was just dark magic, and there are a lot of great programming and development tips scattered throughout all of the videos.

Doodle Post

Image


Image

Dev Log: Photoshop Animations

Dev Log: Photoshop Animations
I may have figured out a Photoshop animation workflow that actually makes sense after all these years. I've been trying to use the frame based animation timeline, but it turns out the video timeline makes way more sense.

Using "Video Groups" is almost how I wished Photoshop animations would work. To create a video group you can click on the little film strip icon with a down arrow on it that's next to "Layer 1" in the video timeline. I have no idea why this option is only located here and nowhere else that I can see.

Image

Each layer in a video group is another frame of the animation (if you make each layer's duration only 1 frame long.) The video timeline then only shows each group and not every individual layer. Also you can totally use onion skinning with a video group which is already a billion times better than using the frame based animation timeline.

Image

I'll have a more detailed post going over this workflow once I get a little bit more used to it, but for the initial tests seem really promising.

Easy CSV Parsing in .Net

Easy CSV Parsing in .Net
Working on getting a public build of my latest game jam game up, and one thing I'm experimenting with is using CSVs for certain types of data. There's a bunch of enemies in the game that all have different stats, and usually I just store this information in the class for each enemy. Storing this data on a CSV has the benefit of being able to see all the data next to each other.

While I could achieve the same thing by having a dictionary set up in the code itself, storing the data in a csv file makes it a little bit easier to view and edit. Tweaks can be made more easily, and storing a bunch of data in dictionaries in code can get a little crazy looking depending on how much data there is to store.

Image


At first I was using OpenOffice Calc for my CSV editing, but there's a huge down side with that: file locking! OpenOffice thinks it's an awesome idea to put any file its editing into a crazy lock down mode, so I can't even read from the file while OpenOffice has it open. So I had to ditch it, and instead I'm using Ron's Editor. So far this is the best free csv editor I can find, even though it's a quite bit more strict about editing than a big spread sheet.

Now for loading the CSV data I'm using CsvHelper which makes parsing a csv as painless as possible. My enemies.csv looks like this:
EnemyType,Supply,Mass,MaxHealth
BasicTest,1,1,10
BigSkeleton,10,0,-1
TestPart,0,0,5

And the code to parse that looks like this:
var csv = new CsvReader(File.OpenText(Assets.Data.Enemies));
while (csv.Read()) {
var record = new Record();

record.EnemyType = Util.GetTypeFromAllAssemblies(csv.GetField<string>("EnemyType"));
record.Supply = csv.GetField<int>("Supply");
record.Mass = csv.GetField<float>("Mass");
record.MaxHealth = csv.GetField<int>("MaxHealth");

Records.Add(record.EnemyType, record);
}

I'm using a tiny class called Record to store the data. Record looks like this:
public class Record {
public Type EnemyType;
public int Supply;
public float Mass;
public int MaxHealth;
}

I end up loading the csv data into a dictionary with the enemy Types as the key, and the Records as the values. When an enemy is created it can look into that dictionary by using its own type and get out a Record object that contains all the data it needs to initialize.
var r = Records[this.GetType()];

AddComponents(
new Team(TeamType.Enemy),
new Heart(r.MaxHealth),
new SpriteEffects()
);
Group = O.GroupGameplay;

if (r.Mass > 0) {
AddComponent(new PushAway(r.Mass, Tag.Enemy));
}

var h = GetComponent<Heart>();

h.OnDeath += () => {
Death();
};
h.OnDamage += (d) => {
};

Pretty straight forward! I think I'm going to extend this to expose more fine tunings of things. It might also be fun to leave the files totally exposed for players to mess around with as well.

Doodle Post

Image


Got sick for Thanksgiving and still recovering. Not enough brain power to program yet so just doodling for now.