2013 - 5 - 21 / 5:22 pm / general
Dev Log: SFML C# Progress

Nothing too exciting for a blog post today unfortunately, just a quick update on my SFML C# progress. Over the weekend I was able to add tile maps roughly following the tutorial right on the SFML website about using vertex arrays for custom shapes.
It was surprisingly straight forward to get a tile map with custom vertex arrays rolling. My first attempt actually involved using a render target. I rendered all the tiles directly to the render target, then used that target as a texture for another sprite. In theory this works well enough but the size of render target's is limited by the video card. On my main PC workstation I can make a render texture of 16000 something pixels, but my laptop can only handle 8000 something pixels, so this seemed like a dangerous way to do it. I switched to the vertex array thing and now I am super excited to try out different applications of the vertex arrays.
Still on my list of things to do are animations, tweening, collisions, and texture atlas support, as well as Ogmo Editor support. Plus probably a lot of refactoring. When the framework is lookin' better I'll release the source publicly so people can laugh at my code and help improve it or use it.
2013 - 5 - 3 / 4:05 pm / tools
Dev Log: What the hell am I doing?
I'm not really sure what I'm doing right now. I'm kinda going all over the place if you can tell from my past two or three weeks of blog posts.
I got back from GDC and I saw what people were working on and I felt kinda crappy about putting all this effort into yet another AS3 game with Adobe AIR. The problem is performance. Flashpunk has a hard time maintaining 60 frames per second because of weird Flash things... it's just not that super stable. Offspring Fling is a relatively simple 2d game and for whatever reason some people with modern computers have a hard time running it at 60 fps and this is extremely frustrating for both them and me.

One day I went through some of my old prototypes. I took a look at Gaiadi, my Ludum Dare game from three years ago (WHAT THE HELL HOW IS IT THREE YEARS OLD ALREADY.) One of the most disturbing things about it was how smooth it ran. The Game Maker run time is actually pretty dang impressive and it runs at a solid 60 fps, especially when compared to flash. This made me actually feel pretty bummed because Offspring Fling isn't nearly as stable (at least in my eyes.) It's one of those moments where I asked myself "am I somehow getting worse at making games?"

So I want to learn something new... but then I've already put all this work into this AS3 framework that I'm using. The amount of friction to start on something new is really tough, because right now in AS3 making things is extremely fast and efficient because I've solved a lot of my issues and have a bunch of helper classes with super fast solutions to common problems across my projects. AS3 just also has a ton of useful libraries that I make use of like TweenLite and AS3Crypto.
read more
2013 - 3 - 4 / 3:26 pm / games
Dev Log: Some More Camera Stuff
I'm feeling pretty exhausted today so this post will probably be pretty short. Last week I posted about working on some camera stuff for platforming in Flashpunk. I made a few adjustments to the way my camera worked based on some more stuff I observed from Mario World and Yoshi's Island.

I changed around how some of the horizontal camera stuff works. Now you have some wiggle room before the camera starts to move at all horizontally. The look ahead also works slightly better than before. If you're pushing up against the side of the wiggle-area, the camera will slowly look ahead in the direction you're pushing. If you're moving in that direction, the speed in which it looks ahead increases so that you'll hopefully always be able to see what's coming down the line if you're moving fast.
The vertical movement is more or less the same. The camera only catches up to you when you're on a platform, or if you're pushing the margin of the screen with jumping or falling. The falling margin of the screen is much higher, since usually if you're falling you want to see a little bit downward. One thing I did change was the camera's natural target point in the y direction. Now if the camera thinks you're moving upward a lot, it will look above the player somewhat. If you're moving down though, it will look directly at the player again. Looking somewhat above the player ends up looking nice in most platformers because locking on in the center usually means showing 50% of the screen as solid ground with the most basic camera behavior.
I have run into some snags along the way... right now I need to figure out how to handle camera blocking better. Camera blockers are necessary for a game like this to hide secret areas, and I don't want to reveal them until the player actually crosses into the secret area. At the point in which the player crosses the blocker, the camera will then be unlocked and catch up to its target position again. This worked fine up until the point in which I made the player camera more complicated... I might have to do some tinkering to get it working just the way I want, but also in a clean and reusable way.
Okay that's all for now! (PS The Flashpunk website is still down, but once it comes back up all my links to it will work again! Also if you're looking for just the code, check out the Git repository.)
2013 - 2 - 25 / 2:13 pm / games
Dev Log: Platforming Camera
Chipping away at things in my remake of my Global Game Jam game. Now that I have more than 48 hours to make the game, I've been taking some time to figure out some things that I've been neglecting for the past couple years of making short form game jam games.
In Offspring Fling, there is very little scrolling. I think only one level actually scrolls both horizontally, and vertically. On top of that there are still only a few levels that scroll at all. This means that I didn't really have to worry about a complex camera, I just have the camera follow the player with a little bit of a drag and it works out mostly fine.
For this new game I'm working on, there's a bit more platforming, and almost every level will have scrolling in it, and there will be some big and open rooms... so I want to have a better camera system in general to handle platforming.
What do I mean by this? Take a look at this breakdown of the camera system from Mario World.
This kind of camera system is pretty crazy. There's a lot going on behind the scenes to make sure that the camera is showing the player exactly what they need to see. This is definitely one of those things where if you do it right, nobody will notice you're doing anything at all, but it is incredibly difficult to get this kind of stuff right.
read more
2013 - 2 - 18 / 12:42 pm / games
Dev Log: Slopes and Slopes
Still working on the re-make of my Global Game Jam game! The most recent development I can talk about is this:


Look at those beautiful SLOPES! I haven't actually done any platforming with slopes since all the way back in 2009 when I first made Jottobots (and before that, Verge.) This is my first time doing slopes of any sort in Flashpunk. There were a couple of hurdles to get over to get them working smoothly though.
read more
2013 - 2 - 4 / 8:02 am / games
Dev Log: Some Bitmap Text
I guess I'll start calling these posts Dev Logs now? Yeah, that sounds good.

The latest thing I've been chipping away at is handling bitmap text in my Flashpunk extended framework thing. There have been a couple of people that have posted Bitmap Font classes but they didn't do what I wanted, and I'm way better at coding my own thing from scratch vs. trying to modify someone else's code to do what I want.
Right now my bitmap text secret technology can do some cool stuff, like three different align modes (left, center, and right) which sounds pretty simple but it actually took me awhile to think of the proper solution for lining up text in a certain way. I also have some colored text as you can see in that awesome screenshot, and the way I do that is pretty cool (I think.) My code for coloring text ends up looking something like this:
//make da bitmap text
var bmpText:BitmapText = new BitmapText("This text will be #1GREEN!!#0 Yeah.", Global.bitmapFont);
//define the color "1" as green
bmpText.defineColor("1", 0x00FF00);
You can see a little bit how it works. I can define colors, which are assigned to certain characters (any Ascii character can be used) and then I can mark colors with a special character like '#'. Text after that character will then be drawn with a tint of that color. It's super easy to do colored words with this system, but it makes some other stuff pretty difficult.
One thing I still haven't figured out is how to escape the special character. Like if I wanted to actually display a '#' in my string, I don't have a way of doing that right now. I wanted to have '##' just escape out to a '#', and I was trying some fancy stuff with regular expressions for awhile but... yeah, things have not worked out yet. This is something I can probably just tackle later though.
Bitmap text comes in handy for a few reasons, and I think I'll make a more detailed blog post about that at some point down the road!
about
Hi there, my name is Kyle, and I'm a 27 year old kid with adult powers. I'm making video games and living the indie game developer life in Tempe, Arizona. 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. 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!
spotlight
blog stuff
categories
tags
- actionscript
- air
- alec holowka
- art
- artxgame
- as3
- bill pullman
- blog
- csharp
- depict1
- design
- dev log
- devlog
- diet
- doodles
- flash
- flashdevelop
- flashpunk
- food
- game jam
- gamedev
- gdc
- good times
- haxe
- haxepunk
- id4
- igh
- internet
- ios
- jottobots
- namiko
- ninja slash
- nme
- offspring fling
- paleo
- pax
- pax10
- php
- pipa
- podcast
- programming
- promotion
- python
- sfml
- snapshot
- sopa
- space sushi
- speedrun
- steam
- sushi
- tools
- uat
- verge
- webdev
- winnitron
- yay!
archives
- may 2013 (10)
- april 2013 (15)
- march 2013 (13)
- february 2013 (15)
- january 2013 (3)
- december 2012 (1)
- november 2012 (2)
- october 2012 (1)
- september 2012 (4)
- august 2012 (1)
- july 2012 (1)
- may 2012 (1)
- april 2012 (1)
- march 2012 (1)
- february 2012 (1)
- january 2012 (1)
- november 2011 (2)
- september 2011 (1)
- july 2011 (1)
- june 2011 (1)
- may 2011 (1)
- april 2011 (2)
- march 2011 (4)
- february 2011 (4)