dalbinblue

LD24

I am In!

As with many others, this is my first time in the Ludum Dare competition.  My hope is to actually complete a game project as I have started many but finished few (read: almost none).  I really hopeful, as already this competition has me pumped up with excitement.

Programming: Visual Studio, C# using XNA 4.0

Graphics: NES style (likely) using Paint.NET

Sound: SFXR, FamiTracker, Audacity

Misc: Tiled, Chronolapse

Base Code: Get it Here.  The code is mostly cobbled together from a few past incomplete projects; it contains code for loading Tiled XML files and a custom spritesheet data.  A basic sound manager, sprite and tile map rendering, getting controller state.  Also included is a very quick and dirty tool (with source) for building sprite sheets with animations and collision bounds the custom spritesheet data format.

Font: For any text display, I will likely be using a free font  from http://www.proggyfonts.com/, specifically Proggy Square.  I have converted it to a spritefont (PNG) for use in XNA (both full size, and something that fits in 8×8).  The original font and converted formats can be downloaded Here. I believe the rules let you use free fonts, but I’m not sure if they can converted to the format of choice prior to the competition. If possible let me know in comments. If not I can recreate it during the competition.

 

Comments

19. Aug 2012 · 18:50 UTC
Oh, no, it’s fine to convert it beforehand. Anything to help get the low-end stuff out of the way is perfectly legal.

1/4 Quart progress report

About a fourth through the time limit now.  I worked for about six hours (started a 9PM local time) before going to sleep for about 4.  So far I have the rather amorphous player animated, controls implemented, all the desired abilities that the player can acquire via the aforementioned theme, and the HUD.  Not bad so far.  I’m a transition point in development and need to work on something completely different, so I’m not sure if I will do enemies or level loading next.

 

Progress Update 2

First off, I looked at my previous post and realized that I had way too little sleep to immediate wake up and post something.  My title looked like part of an ingredient list of a recipe.  In any case, I’m making good progress.  I have level loading and collision detection done (such a pain).  All of the players abilities function and the environment responds, I also have one complete enemy.  As it stands I should a completely functioning engine by the half way mark, and the second half can be adding levels and other assets and general polish.

 

Progress Update 4

The actual game portion of the game is now done.  You can play through from beginning to end.  Now I need to put together the polish that makes it complete, such as the title and end screens, and of course, sound.

 

LD25

99% Sure I am in

Hopefully going for a second dare in a row.  The last one was my first attempt, and I had such a blast, so I’m really hoping I don’t have to work the weekend, but as it looks now I should be in good shape to compete.

My tools of the trade haven’t really changed much from the last competition, and are as follows:

Programming: Visual Studio, C# using XNA 4.0

Graphics: NES style (likely) using Paint.NET

Sound: SFXR, FamiTracker, Audacity

Misc: Tiled, Chronolapse

Base Code: Get it here.  This is a slight update from the version I used in the previous competition.  The only major addition was very based tiled based collision map code to make it easier to do collision with the level.  This was something I struggled with in the previous competition so it made sense to solve the problem before it happened.

Font: For any text display, I will likely be using a free font  from http://www.proggyfonts.com/, specifically Proggy Square.  I have converted it to a spritefont (PNG) for use in XNA (both full size, and something that fits in 8×8).  The original font and converted formats can be downloaded Here.

 

Additionally, I put together a new warm up game since I hadn’t really done much in the lines of game programming since the last competition (other than the base code update).  It’s a sequel to the first warm up game I did, and is probably a little more than I should have one for a warm up game (spent about 7 hours on it).  If you have a moment, give it a try. Feedback is always appreciated.

Progress Update 1

Well, it’s 4PM where I am, so I really should take a break and get some rest.  Not as far as long as I would like to be, I wasted a good hour doing art that I ended hating, scrapped it, and went back and redid everytihng.  Looks MUCH better, but took 5 hours to fully animate the player character.  Have code that plays the animation so far, as well as a lot of content to work with.

Screenshot 1

Tool shot 1

 

As a note, Paint.NET is probably not the right tool for making animations.

Comments

pythong
15. Dec 2012 · 07:09 UTC
for paint-like animations, i’d recommend graphicscale (see tool page)

LD26

Progress Update 1

DalbinBlue LD26 Wip1

I’m pretty happy where I am at this point.  I have a good portion of the core game engine put together, and have  a small demo available to play with.  The graphics are all very crappy placeholder (which is different from my approach the last two times where I jumped into doing final artwork right at the beginning).  You can try a very, very early build Here if you like. You will need the XNA redistributables though to play.

For at least part of the minimalism theme I’m going for a minimal control scheme (As I have built poor controls in previous games).  The only controls in the game will be left and right (with an additional button to reset a level if stuck).

In any case, it’s late here. Time for bed.

WIP Update 2

Dalbinblue Minimalism Wip 2

At this point I believe all the game mechanics and level components are complete.   I have a new build available here if anyone would like to try it and give some feedback (always appreciated).  I have a set of tutorial levels, and one actual level.

I’ve found that designing puzzles for a minimal control scheme (left and right only) is quite difficult. I’m going to take some time now to mull over some puzzle designs while I polish up graphics the game.

WIP Update 3

I wasted a lot of time today; originally, I was going to rotoscope most of the animations, but that turned into a nightmare that ate up time, and produced terrible results.  So instead, I switched to hand drawn pixel art.  My protagonist is now this little fellow:

Character

I have no idea what the little fellow is.  I just started drawing and this is what came out.  In any case you can see him in the latest build of that game which can be downloaded here.

Dalbinblue WIP 3

Let’s hope the second half is much more productive.  But the time I turn in, I’d like to have the rest of the artwork done and at least 15 levels developed so that tomorrow and be putting in an ending and polish up the presentation.

WIP 4

I stayed up too late today, and am getting tired.  Apparently so is my game’s protagonist:

CharacterTired

Got a lot done in the last few hours.  Most of the game’s levels are done.  I just have one more actual puzzle level and the ending level to complete.  After that I have to get the opening and ending written, clean up a few graphics in the tutorial, and add some music.

Anyway, here is a screenshot from the latest build.  I would put up a WIP build, but I have a few place holders in for the last levels that act a bit funky and I’d prefer getting.  I’ll get them cleaned up tomorrow and hopefully post another build by noon.

 

Wip4

Fractured Post Mortem

 

What Went Well

Overall, this game was much, much better than any of my previous endeavors.  People complimented my previous games (either sincerely or at least politely), but this time there have been people asking me to continue on with this game and make it a proper release.

Theme – I really liked this theme.  When I saw it during initial theme voting it was the one I had hoped would win the vote and had some good ideas and the vague idea for a game stewing in my head a few days before hand.

Controls – This is where I failed the most in my last two games.  I made games with too many things the player could do and I used awkward buttons for these controls that just frustrated people.  It also made my games way too difficult.  With minimalism as the theme it made sense to me to make the controls minimalistic and eliminate my weak point.  While the game has three buttons for controls, you only actually need left and right to complete the game.  Not once did anyone complain or get confused dby these controls, so I would consider that a definite win for me.  Going forward I’m going to have to keep myself on a tight leash to make sure I keep my controls simple in future games.

Scope – As stated with controls, I tended to let players do too much in previous games.  This was another problem that I have in putting too many different things in a game, especially one so short; as a result many things were half baked, and while worked, could be done much better.  This time I decided that I needed to reign myself back in and do something simple but polished.  As a result, I had a very small list of features I wanted to implement the game, and had a completely working engine and initial levels within 8 hours of development time.  Thus by Saturday morning, my entire time was spent making the look, sound, or play better and could stop at nearly any time with a playable game.  This let me get far deeper in story and subtle little things in the game that really caught people’s attention, and on building a complete game with a proper ending.

Walk Cycle

Graphics – This was probably where I made the best decision on.  Initial the game was not supposed to look the way it does.  It was supposed to look a lot different, and if I pursued that route, the game probably would not have been as good as it came out.  My initial intention was to rotoscope the player, drawing over video recordings of myself performing all the actions in the game and having the game play done as a silhouette, it would have worked, but it would have had no charm.

After four hours struggling with the rotoscoped animations, I decided to scrap the whole thing and just try drawing something.  After a very quick doodle, I had a cute little character to work with; he was boxy, simple, but charming.  I quickly put together a few animations of walking, sitting down, falling, crying, until I had a character that with no facial expressions could actually show show emotion.  From those few frames, I put together the entire plot of the game and graphic style.  All in all the main character and his color shifted friend have 68 frames of animation which is a lot more than the 15 and 40 frames of the main characters of the previous games I worked on, and those characters had a lot more actions.  The result was a character that was much more endearing to the player.

The lesson learned here is to not be afraid to throw out something and start over if you you know it’s not going to work.  Let it go and concentrate on what will work.

Music – Music is another area that I am typically bad at.  The music in my previous game was terrible, absolutely terrible.  It was a 12 second loop that probably drove a few people batty.  In retrospect I should have just left it out.  This time I devoted more time to the music.  I knew I needed a longer music piece, and decided to spend all my allotted time on one good song.

To be honest, I’m not sure how the music got to a point where it actually sounded good.  I sat at a piano and banged at the keys until something sounded right.  Got a chord progression then started to fill in a melody, by what I can only describe as a breadth first search of notes.  In the end though, the music matched the game really well and people liked it enough that one of the other competitors, SonnyBone, went so far as to remix the music, which you can hear here.

Fractured Tutorial

Tutorials – The first six levels of the game teach all the mechanics of the game using only one word (“Space”) to tell the user how to reset a level.  I used simple levels, visual clues, and even other character’s actions to lead the player into learning how everything works in the game without having to tell them.  I learned a lot from Egoraptor’s breakdown of Megaman which I highly suggest you watch, though I will note he is a bit vulgar. My first game had a “here’s how to play” screen at the beginning; my second had tutorial text in game. This game did it much better, though I did mess up in one small way. One of the tutorial stages teaches how to reset a level by having a button that if pressed makes the level impossible to solve without a reset. I assumed players would walk to the wall that closed up, and had logic that would show instructions when you reached it; however, what I found is that as soon as the player hit the button, they would try to reopen the door by pressing the button again rather than walk forward. They would eventually get it, but it disrupted the flow of the game until they started just walking around the level looking for a solution.

Playtesting – If nothing else, I suggest you do this while developing your game, and if you want to continue working on the game get people to play the game afterwards and watch them play. During the 48 hours, my brother volunteered to test the game. I sent him several in progress releases often and early in the contest so that I could get feedback on what worked, and what didn’t. Afterwards, I signed up with nearly every person who was streaming their reviews so that I could see how people played the game. Actually watching people play, get frustrated, and have the aha moments taught me so much about game and level design and really helped my overall growth. I hope next competition to be in a position to do the same service to other developers but I was getting ready to move as part of a new job and didn’t have a consistent time to sit down and set up streaming and settle down for long play sessions.

What Went Bad

Before I get into the bad list, I want to note that the items that are bad in this game are far more specific and less significant than my previous games.  My last LD game wasn’t bad, but had some significant issues, so much so that my previous game’s post mortem was actually a comic making fun of the game.  While people did note issues in this competition’s game, they also noted that they played the game to the end, which is a fantastic thing to here.

Level visibility – One complaint is that the player could not see the entire level in one shot which caused them to miss things and have difficulty determining what was going on when hitting certain buttons.  In a puzzle game, the player really needs to see the whole puzzle at one time to make it possible to solve the puzzle without just guessing.  While I don’t think that being able to see the whole level at once is always necessary, the ability to scroll around or zoom out would have helped players quite a bit.

Fractured Buttons

Even the in game character had to squint to see some of the buttons.

Difficult to See Buttons – Compared to other issues this was minor, or at least fewer people complained bout this issue; however while watching people play the game I did notice that people got hung up in one or two places where a button was in shadow and players skipped over it and get frustrated.  The lesson learned here is that I need to make sure the environment does not obscure the actual gameplay elements of a level.

Difficulty Curve – The game starts off with a few simple levels to demonstrate the game’s mechanics, then throws the player into some rather difficult levels.  Two days is a very short amount of time determine a good difficulty curve, but it would have helped to create a few simpler levels that showed a simple puzzle with fewer pieces then build up the harder levels as a composite of these simpler puzzles.

Feedback – This is by far the biggest issue.  I alluded to the issue above with the visibility issue, but the real issue here is that in far too many places the player did not get immediate feedback to let them know the consequences of their actions.  The player would press a button and nothing visible on the screen would change.  The player was then forced to look around the level and find out the one thing that was different that they could interact with.  I think the best way to address this is that when the affected element of an action is off screen, the camera would pan or zoom to it to let the player know what is going on.  That simple of a change probably would have removed most of the frustration of the game do to the game engine (but left the good frustration you have in a devious puzzle).

Conclusion

I am extremely happy with the final results of this game.  There are definitely some rough edges and places to improve upon, and I fully intend on continuing the the development of this game right now (I’m debating platforms right now, so if you have any preferences, I’d like to know).  If you haven’t had a chance to play my game, I ask you to take a look, even after the competition is done and leave a comment with constructive criticism so that I can learn even more.

Play fractured here.


Fractured Title

Comments

19. May 2013 · 19:53 UTC
Since you developed with XNA, have you thought about releasing this for Xbox Live Indie Games? I think this game would do really well on that platform with enough visibility, and you could also try for Steam via Greenlight.

Fractured Results

Fractured Thank You

I’m simply stunned at getting 20th place in compo results; even more so at 25th for graphics and 48th for audio (seriously I wrote the music by banging notes out on a piano at random until things sounded right).  I want to thank everyone who played my game and gave such wonderful feedback.  I’ve taken you comments in to mind and have started working on turning this entry into a full game.  I have a long road ahead of me, but with such wonderful people looking forward to it, this journey will definitely be worth it!

Comments

22. May 2013 · 19:58 UTC
Is there some place where we can follow the development or receive an update when it’s further along?

LD27

Joining the Fray

I am most definitely in for a fourth run at the competition.  My last entry did very well, and I have set the personal bar quite high for this competition. The big thing I want to improve on this time is feedback, as in letting the user know how their actions affect the game world. There were too many off-screen changes in the last game and it cause quite a bit of confusion.

LD Warmup 2

Speaking of setting the bar too high and going overboard, I sort of went overboard with the warm up game this time.  I started making something simple, but was having too much fun and made a pretty sizable game over 16 hours.  It’s a pretty basic metriodvania style game, where you need to search for several artifacts to open the hidden treasure room.  Lots of exploration, I’d love to see if anyone can find all the treasure.  You can grab a copy of the warm up game at the warmup entry page.

In any case my tools haven’t changes too much in the last year:

Programming: Visual Studio, C# using XNA 4.0

Graphics: NES style using Paint.NET

Sound: SFXR, FamiTracker, Audacity

Map Editor: Tiled

Base Code: Get it with my latest warm up game here.  As before, I am distributing it with my warm up game so you can see some context with how to use the library. There is quite a bit of goodies in the library including a pretty powerful 2D camera, a great input and sound manager, and lots of graphic helpers. If you use XNA or Monogame, you might find some good code you can pull out for your own work.

Font: For any text display, I have been using a free font  from http://www.proggyfonts.com/, specifically Proggy Square.  I have converted it to a spritefont (PNG) for use in XNA (both full size, and something that fits in 8×8 for NES style graphics).  The original font and converted formats can be downloaded Here.

Tags: warm-up, xna

Comments

23. Aug 2013 · 03:56 UTC
WOOO!!!! Glad to see you back

WIP 1

LD27 WIP 1

The game may look pretty poor right now, but I’m happy with the progress so far.  I have player controls completely implemented, including movement, jumping, picking up and dropping/throwing objects, interaction with other elements such as switches, and time manipulation.  Tomorrow morning I should be able to get the level win condition and companion AI written, and then the afternoon can be spent making the game look presentable.

WIP 2

LD27 WIP2

At this point I’ve got the game engine pretty much done.  Interactions work well, the AI for the player’s companion is complete (it’s pretty stupid, but that’s part of the point) and you can win and lose a level.  I’m going to spend a good amount of time working on the graphics and animations for the level, starting with our two protagonists, shown above.  I’m not 100% sold on the way they look right now, but I’ll probably be happier after I get them animating.  Also, for those struggling to draw out your animations, the following diagram from animator Preston Blair has been my guide for a while now.

WIP4

LD27 WIP4

The game is nearly there!  I wrote a scripted event “language” to control the opening and ending of the game in about two hours; it’s terrible but it works.  The only things absolutely necessary now is the ending scene and some sound.  There are three other levels I want to build, but I don’t know if I will have time.

Captain Pico and Ensign DeGaro in Ten Second Time Bomb Complete


Screenshot 5

Well, my entry is complete.  It’s  a little frayed around the edges, but probably had the most interactivity among the games I’ve submitted, so I chalk it down to biting of a little more than I could chew.  It also didn’t help that I needed to switch gears and deal with an emergency at work as well.  In any case, this is a game of cooperation and time manipulation where you need to save yourself and and your captain from a gravitational anomaly by blowing up your own ship.  Have ago at it, and let me know what you think.  Constructive criticism is always appreciated.

The game can be found here

Captain Pico is Culturally Insensitive

PicoComma

I had a nasty bug in my game that prevented a good number of people from playing.  The issue?  It was how I was parsing floating point values from the level data.  I wasn’t doing it in a culture neutral fashion, so anyone that used a comma instead of a period as the divider between integer and fractional portions of the number would crash.  The solution was to make all the parsing culture invariant.

Thanks to everyone who helped me find the bug on IRC, and especially Deinonychus for getting me the stack trace of the error.  If possible go play his game because he is such a nice guy: http://www.ludumdare.com/compo/ludum-dare-27/?action=preview&uid=19103

 

Also if you want to play my now fixed game, you can find it at http://www.ludumdare.com/compo/ludum-dare-27/?action=preview&uid=13960