@konjak @Jonochrome 3 buttons is tough on a keyboard but I much prefer jump buttons over hitting up on the arrows. (Today)

@ADAMATOMIC if it was an ancient cursed foam sword that demanded the blood of his enemies then it probably wasnt his fault (Today)

@TylerGlaiel "has anyone ever experienced this obscure openGL problem?" "what no you're doing it wrong here's how to render a triangle" (Yesterday)

@ChevyRay wow dang that could be you except the crows become a giant wearable murder mech suit (2 days ago)

@theBanov @MattThorson yeah that's more your character my bad (2 days ago)

@MattThorson @theBanov that's why he's so protective of his sketch book... (2 days ago)

@ChevyRay oh man you could do the cool thing where you walk toward the camera in slow motion as like 1000 crows fly out from behind you (2 days ago)

@theBanov we must decipher the blurred notes (2 days ago)

RT @Jayisgames: Thanks for all your support over the years. You were all worth it. t.co/c35xMybDkF (2 days ago)

@ADAMATOMIC I want itch to take over the world is that so much to ask (2 days ago)

Hell is finding a forum thread started by someone having the exact problem you are facing and the post only reads "edited: nvm fixed it" (2 days ago)

@ChevyRay BattlePrefabs.DeathStar != CelestialBodies.Moon (2 days ago)

@unseven the prophecy... (2 days ago)

@Teknopants @NoelFB YES (but yeah some folks thought parts of Offspring Fling were too tough for how cute it looked) (2 days ago)

RPGs on Twitch: everyone rolls 20 all the time destroying everything at home: party barely survives simple tasks cause we cant roll above 7 (3 days ago)

@floatvoid i think you can only get those in canada (3 days ago)

@SteveSwink ñ too stroñg (3 days ago)

@ADAMATOMIC is this why his damn update is 5.1 gigs (3 days ago)

@CleverCrumbish whoooaaaaaaaaa (3 days ago)

@midio PUPCAKES?! *dies* (3 days ago)

follow
search
posts tagged with: tools

2016 - 4 - 5 / 2:16 pm / general

Asset Class Generator Updates

Asset Class Generator Updates

Over the last couple of weeks I've been thinking a lot about the idea of packing game assets into a single file for my Otter projects. Back when I was using Flash, and Game Maker, a compiled game ended up only being one main file. I always liked how simple the game would appear to be to a player. Just a zip file with an exe! There's no way you could mess that up.

In the wild world of programming with C# usually all of my assets end up being in a folder alongside the exe. This allows players to go through and view any asset the game could possibly load, and even modify those assets if they so choose. While this can be pretty cool, it also makes it tough to keep secrets.

Now I know the whole idea of "no matter how much effort you put into trying to hide stuff in your game people can still decompile it and hack it and see everything." Yeah, that is totally true, but I feel like that is only usually about 1% of all players of a game, and if I can put in just a little effort to hide secrets from most players I think it's worth it.

So with all of this in mind I made some updates to both my Asset Class Generator, and Otter. The Asset Class Generator can now pack assets together as bytes, and Otter has a static Files class that can load in assets that were packed by the generator. None of the files are encrypted or anything, but if you wanted to do something like that yourself it wouldn't be too difficult.

You can download the latest build of the Asset Class Generator from my open repository kpulvtools. Check out the details on how to use it here.

So far with tests in Super Sky Sisters this method works pretty well, and instead of a sprawling mess of folders and assets I can now just include a simple "data.pak" file along with the exe and dll files and off it goes. Now if only I could get rid of these pesky dll files somehow!

No Comments

2015 - 6 - 4 / 3:21 pm / general

Dev Log: Sounds n Stuff

Dev Log: Sounds n Stuff

Hey I'm being productive! Mostly. I'm still 'crastinatin' on the animations I have yet to do for Super Sky Sisters, but I am now getting some final stuff done on other aspects of it. I've been tackling some of the sounds lately and throwing in some temporary music so I can set up the music management system.

For sounds I'm turning to a new program I found on the internet called LabChirp. It's similar to the great and eternal BFXR, but it creates a different style of sound that's (to me) more akin to the old console sound chips.

Image

In other news I'm also working on the balance of the game. I've gone through and tweaked a lot of the game events in regards to how they grow more difficult over time, and I've also done some reworking of the difficulty levels that can be selected at the start of the game. My goal is to have a single play session last around 10 minutes, and during those 10 minutes I want the player(s) to be able to defeat all three of the game's bosses.

2 Comments

2015 - 1 - 27 / 11:42 am / tools

Asset Class Generator Update

Asset Class Generator Update

Just a quick post to say I've updated my Visual Studio Asset Class Generator with some bug fixes here and there. Download the new version right here.

There were some issues with duplicate file names, and also files with more than one period in the name would destroy it so I've now set it to ignore those files. I've also cleaned up the code that the generator writes.

The source code for the updated version is also now available here so you can feel free to modify it to your hearts content!

No Comments

2015 - 1 - 21 / 2:34 pm / general

Dev Log: Productivity Experiements

Dev Log: Productivity Experiements

When the new year came about I was determined to break my cycle of endless procrastination loops. I find that my productivity is tied to my mood, and my mood is tied to my productivity, so when things are going great in either one of those then it's awesome, but if one of those drops then it's kind of a self reinforcing downward spiral into the abyss. It's not impossible to break out of it, but it is really really difficult.

When I got back from my holiday season travels the very first thing I did on my main workstation computer was completely block reddit. I'm using a website blocking extension for Chrome that will just straight up block the site entirely. Reddit is a big problem for my procrastination. When facing a super hard problem I could either sit down spend a lot of time trying to solve it... or maybe open a browser and type "r" and suddenly an hour has gone by.

I've blocked reddit before, but not as hard. Usually my previous reddit blocks have just been totally mental. I would catch myself starting to type in reddit and then divert to something else, but this time I wanted to try a more all out approach. Also I can still browse it on my phone which I still do sometimes before bed, but having it blocked on my computer I should be doing work on feels different.

In similar fashion I've also limited my Twitter and Facebook time on my computer to one hour every 24 hours. Other sites are included in this time limit but it's mostly the big T and F. I actually don't think Twitter and Facebook are that much of a problem for me, but it is nice to have a hard limit on it per day, and even just having that limit does make me mindful of how much time I'm actually spending on those sites. For limiting time on sites I'm using the Chrome extension StayFocusd. I think I've only ever hit the hour limit once, but there are some times where working on various projects does involve Facebook and Twitter usage.

Blocking and restricting sites on my computer felt weird at first. I thought "well if I do this won't I just immediately find ways around my own restrictions?" As time goes on though the restrictions feel more like a part of my routine. Since I only have an hour of Twitter and Facebook I spend very little time on those sites now, and the time I do spend on there is very focused and brief. I haven't really felt a need to go to reddit lately, and I feel like I might just be better off without it. If I really really want to browse it I can use my phone which is a separate entity from my work computer.

The last thing for now is toggl which I've mentioned before. It's a simple time tracking application which can also be downloaded as a desktop program. I have a couple of different work categories such as game dev, drawing, blog, misc tasks, and I put exercise on there to track that as well. So far it's been working out pretty well and I am interested to see the results of it after a month or so. It is useful to see how much time was actually spent on certain things during the day.

I'm not holding myself to any sort of requirements through the day. Right now I just work on stuff as much as I feel like I can. Between drawing, game dev, and other stuff I'm logging about 4.5 to 5 hours of productivity a day which seems pretty decent.

As a continue to experiment with productivity I'll be sure to talk more about the results. Right now things are going pretty well with a weird prototype. It's getting me back into the groove of coding which I'm hoping will transfer back to my current projects like Super Sky Sisters and Stratoforce.

2 Comments

2014 - 11 - 25 / 12:04 pm / tools

Google Spreadsheet and nanDeck Workflow

Google Spreadsheet and nanDeck Workflow

One of the things I've been fiddling with for the past month or so is a prototype of a board game inspired by stuff like Dominion and Legendary and a mix of other stuff. It's been a collaboration with some of the local developers in the Phoenix area, and we we're getting to the point where hand writing a bunch of cards was getting really cumbersome, so I looked into tools for generating cards.

Image

I ended up finding nanDeck, which at first looks like a pretty weird program. Okay it is a pretty weird program, but after spending some time with it it really does get the job done. There are some basic tutorials that can get you started, and some neat posts about it here as well.

nanDeck has the ability to read data from a csv file. At first I was using Open Office to manage some spreadsheets and export them to csv files for nanDeck to import, but that wasn't going to last if I wanted to collaborate with others.

I converted all of my spreadsheets into a Google Drive spreadsheet so that I could share it with others, but now the question was how can I take all of that sheet and spit out a csv for each individual spreadsheet that is a part of the document?

The first thing I needed to do was download and install the desktop version of Google Drive. This lets me access my files on Google Drive as just files on my computer, much like Dropbox.

Next I needed a csv export script. I found one here, and then modified it to fit my needs more. The script runs the onOpen method and that adds a custom menu to the document so that anyone that the document is shared with can also use the script. Adding a script to a document is located in Tools, Script Editor.

Image

After loading the script I get a new menu option with my script function.

Image

The script ends up spitting out a bunch of csv files into a folder on my Google Drive. These folders end up syncing to my computer, and now all I have to do is move them from there into a folder where my nanDeck project lives.

Image

Image

That's where a Windows batch file comes in handy. I whipped up a quick batch file that will take all of the csv files from that generated folder and copy them into my project folder. Using some custom system variables it's easy to make this work on my various work computers just by setting those variables on each of them. Just using XCOPY works great.

XCOPY "%NANDECK_CSV_SOURCE%" "%NANDECK_CSV_DEST%" /S /Y /I


After the batch file runs all I have to do is click "Validate Deck" in nanDeck and it will update the data from the newly updated files, and now my new deck is ready to rock. Eventually I can even use nanDeck's command line features to copy the files and render the new deck from the batch file. Neat!

There's one major issue to look out for and that's using the Linked Data editor in nanDeck. If you click the button to edit the linked data, nanDeck seems to place the .csv file in lock down, meaning that XCOPY cant write over it. If this happens you'll have to close nanDeck to unlock the file so XCOPY can do its thing. As long as you don't use the linked data editor you'll be okay.

No Comments

2014 - 11 - 18 / 4:07 pm / general

Visual Studio Asset Class Generator

Visual Studio Asset Class Generator

One of the key things I learn from every game jam is what the major knots are in my work flow. The past two jams I did with Otter had a common issue: getting assets from my assets folder to the game was annoying!

I don't like to rely on strings in my code to reference things. A typo can cause a major headache, especially when referencing a path to a file that needs to be loaded. Usually I like to just keep an Assets.cs class that has a bunch of static references to various file paths. Something like this:

class Assets {

static string Asset(string str) {
string assets;
#if DEBUG
assets = "../../Assets/";
#else
assets = "Assets/";
#endif
Console.WriteLine("[ASSET] Register asset {0}.", assets + str);
return assets + str;
}

public static string ImageIcon = Asset("img/icon.png");

public static string ImagePalette = Asset("img/palette.png");
public static string ImageTile = Asset("img/tile.png");
public static string ImageTiles = Asset("img/tiles.png");

// and so on...


This makes it so I can just do something like this later:

public Image Image = new Image(Assets.ImageIcon);


Instead of having to remember that the path to the icon whenever I want to use it, I just keep a reference to it in once spot. This drastically reduces the amount of typos I could possibly hit, and it also makes it easy to bring up with auto complete and intellisense stuff.

However the process of saving out a png, then remembering the exact path to the png, and then opening up Assets.cs and adding lines to it for every new asset every single time becomes a giant pain. The more assets I have, the more complicated this becomes, and the more I'm modifying the assets folder the more annoying it gets! Back when I was using Flash I created an asset generator script to overcome this, so why not just do the same for C#? Wouldn't it be awesome to just be able to click a button in Visual Studio and have an Assets.cs generated from the files in my Assets folder?!

Download AssetClassGenerator.exe (v1.0 Windows 11kb)

This program will execute in the console and build an Assets.cs file based off of the Assets folder in your project directory. This was built with my specific use case in mind so this may not be an exact fit for your needs currently. read more

3 Comments

about

About

Hi! My name's Kyle, and I make video games most of the time in Denver, Colorado. Here you will find my thoughts, games, websites, doodles, and other stuff like that. I worked on Snapshot, Offspring Fling, and a whole bunch of other games. I also created and maintain Otter, a 2d game making framework. If you want to get a hold of me use the form on the bottom of the page, leave a comment, or just tweet at me. I try to post three times a week. Thanks for stoppin' by! You're the coolest.

blog stuff

categories

tags

archives

facebook

videos

Do you want to make a Let's Play of one of my games, or a just a video featuring footage of my games? You have my full permission to do so! Even if you are monetizing your videos, you still have my full permission to use any footage from any of my games. Go for it!

contact

Your message has been sent! Thanks :)
SEND MESSAGE