About LoneStranger of LoneStranger Designs (twitter: @lnstrngr)

Entries

LoneStranger's Trophies

Ludum Dare Donor Award
Awarded by PoV
on May 27, 2008

LoneStranger's Archive

Supreme Collider Postmortem

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Sunday, December 27th, 2015 11:50 am

I was surprised, as I am sure a lot of us were, that there was a tie for the LD34 theme with Two-Button Controls and Growing. I think I was surprised more that both themes were given a thumbs up by myself in the final vote. Not only that, but they worked well together for what became my LD34 Compo entry, Supreme Collider.

It started off as an idea I had actually had floating around my head for the past couple years. I thought it might be neat if you started off as a pixel sized object and grew as you ate other objects on a playing field. After jotting some ideas down while watching Star Wars with my kids, I had a majority of the game conceptualized.

What I ended up with was a game where you use two buttons to rotate your circle left or right, or press both to move it forward. As a small circle, you collide with other circles of similar or smaller size to make their size a part of yourself. As you grow in size you become able to take on larger circles. At the same time, the other small circles are colliding with each other, creating larger circles themselves. If you collide with one of the circles that are larger than you, then you became a part of them and the game is over. You win by being the last circle around.

Supreme Collider in-game.

What Worked

One of the Ludum Dare creations I am most proud of is my Ludum Dare 26 entry for Minimalism. It had a simple mechanic: drag colored squares into the same colored box. Keeping it simple made it easier to write and debug. I didn’t have to focus on how two or more mechanics would interact. I wanted to follow that same idea here with Supreme Collider, since I had some commitments on Sunday that I knew would take some of my Ludum Dare time.

My original idea to create conflict in the game was to add a clock, thinking that at the very least you could race against your previous time once you got the hang of it. It didn’t seem that great, so I kept thinking about it. It wasn’t until about 18 hours in that I thought about the larger circles winning the collision battle, giving you something to avoid and hopefully keeping you from just holding down on the thrust combination and zooming along the world wrap.

I wrote Supreme Collider in JavaScript, using Phaser. I have been messing around with it for maybe half a year, but I was comfortable enough to use it for Ludum Dare. Like any new language and framework there is a learning curve, so I run into bugs that have no clear reason and troubleshooting takes time. I think I did well for this though, and I don’t think I was stuck on any one problem for too long. I will continue playing with Phaser and will use it in the next Ludum Dare compo.

What Didn’t Work

One of the pieces of growing was having a larger and larger physical mass. As objects gain mass it takes more force to speed them up or slow them down. This made the middle-to-late stages of the game feel tedious. I scaled it down, but it didn’t really make it fun, so I completely removed this from the game. Every object has the same mass, and they do not change.

As I said above, the clock didn’t seem right as a conflict driver or a scoring device. I liked using the total mass collected from the other circles for scoring, but if you win, you’d get the same score as anyone else. I thought maybe if I combined that with the time it took you to do it, we’d have something more meaningful. However, I just did a simple collected mass divided by the seconds times one-thousand. I think it might be sort of accurate if you make it into the middle-to-late stages of the game, but if you happen to collect a couple nice circles early and then lose, you could end up with a pretty high score. I need to rework it to combine the two numbers in way that more accurately represents your results.

The art was not-so-good. Actually, there wasn’t much art at all. I used circles to represent the objects and changed the diameter based on how much they collected. I would have to do some tests but it is potentially cheaper processing-wise to use a sprite and scale it, or maybe a few sprites for certain threshold sizes and scale them.

Conclusion

The best part is, of course, that I finished something that has a start, a middle, and an end. Of course, it needs work around the edges. I could add some random events, like an alien ship that runs through and shoots the objects before skittering off, or a two player mode. Overall, I am happy with this entry.

Play it here.

Declaration of Ludumpendence

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Friday, December 5th, 2014 12:38 pm

I’m in.

I’m in.

I will most likely be working with lwjgl, Slick2D and MarteEngine. I have not been as disciplined in my game programming hobby over the past few years as I would have liked, but I have had some LD successes using FlashPunk, and Java. This time I am going back to Java to re-strengthen my skills and the MarteEngine seemed like a good fit, at least for now. It’s not nearly as complete as FlashPunk was, and development on it stopped three years ago, but Slick2D isn’t bad either and I can modify the MarteEngine stuff if I have to.

As usual, I’ll start with the idea of doing the Compo, and switch to the Jam if I feel that I need more time or assets. I am also toying with the idea of conscripting my six year old into service this weekend, perhaps with art or game ideas.

I’m not sure which theme I am most excited about. Entire Game on One Screen might be interesting, as would be Death is Useful. The snowman will likely fall far down, as most joke themes do, but I’m sure that won’t stop a lot of people using it as a sub-theme.

Now, I must finish some “day job work” so I can get on the early bus and be home in time for the theme reveal. Have fun everyone!

Lone Stranger’s You Only Get One Postmortem

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Sunday, January 5th, 2014 12:13 am

You can find my LD 28 entry here. May I suggest you give it a try before reading further?

Introduction

Going into the Ludum Dare challenge a couple weekends ago, I knew I wanted to use Unity. I had been using FlashPunk for every entry over the past few years, but it was time to move on. Unity has been my engine of choice for the past four or five months. I have especially learned a lot by participating in the Shroud of the Avatar Scene Jam competition held in September and October. Those jam competitions were first-person and used pre-made assets.

For Ludum Dare, however, I wanted to do something that wasn’t FPS. I’ve been gently ruminating on some kind of top-down arcade type game for awhile, so I thought I would make an attempt to do something simple using that perspective.

Friday came and the theme was announced. You Only Have One. The obvious two choices are one life, and one piece of ammo. I did not start on Friday, instead choosing to watch a movie with my wife. Saturday morning I began to tinker around with Unity and created a simple flat platform, added the player and off and on over the next couple days I managed to piece this together.
The Idea

I decided I wanted some kind of runner. I couldn’t come up with any better interpretations of the theme other than limiting the player to one shot. I thought about doing some variation to the Star Wars Death Star Trench Run, where you’d have to dodge obstacles on your way to the end and you’d have one shot to fire into the hole and blow the thing up. I thought about Moon Patrol as well.

What I ended up with was a game where you control the player via an over-the shoulder view down an alley. The goal is to get to the end and use the one bomb you have to blow up the ultimate evil. Along the way you have to go around blocks, avoid holes and dodge bolts shot from guns.

You Only Get One Bomb in action.

You Only Get One Bomb in action.

What I Don’t Like

The Holes

I wasn’t really happy with the solution that allowed the player to fall through the holes. The holes have a collider that triggers when the player touches it. It turns off the collider of the ground and the player falls through. The fact that it turns it off for the entire board didn’t cause any problems in this, but I could see it causing problems in other situations where I have other objects that rely on it being there. Another implementation next time around is to use blocks or hexes instead of one giant plane, and then remove them individually. It would require a new batch of code to manage the board, but would allow for different layouts and perhaps even hills and other height changes. Perhaps more elegant, but I could have used a terrain object.

Jumping

This was something that wasn’t really in the initial idea, but something I got for free when using the Unity platform controller. I didn’t change the default settings too much, but I know it was not really ideal. If you noticed, you could jump on the side walls and run to the end that way. It was a easter egg, in a way, since I left it in on purpose. It was my quick-solve while testing events down at the end.

Theme

I didn’t have a problem with the theme. I think my interpretation of it was weak. I couldn’t come up with something clever or a twist on the most common interpretations. There is no reason the player will feel forced into using their one bomb earlier than the end. Horrible design flaw.

What I Liked

Pre-existing Scripts

Having pre-existing scripts, like the player movement and camera movement saved time. It’s nice that you don’t have to solve some of the same problems over and over again. There is also a wide community with answers to common issues. All it takes is a Google search and then sorting past answers for older versions of Unity and incomplete responses. It certainly makes it a bit easier to work on the game rather than the stuff behind it.

Sound In Minutes

I was able to add sound to the game in about twenty minutes with Bfxr and Unity’s built in sound components. It was quite literally a last minute thing, and I was surprised at how fast I was able to get it up and going without any problems. It also seems every time I make that milestone of adding sound to games I am amazed at how much it can transform the project. Definitely a confidence booster.

Next Time

If I’m making a runner in the same vein as this one, I’d like to do it so movement was 3D, and have it be more like the Star Wars trench run. I think that might be more fun. I am not much of a modeler, so if I choose from the beginning to just do the Jam, I could plan ahead with assets from the Unity store or elsewhere.

You can find my LD 28 entry here.

LoneStranger’s Drag Postmortem

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Friday, May 3rd, 2013 3:20 pm

I had originally planned on collaborating with a friend on the Ludum Dare 26 Jam, however, plans started to fall apart Friday morning when my sister went into labor. Long story short, the baby was born later that evening, and along with other family commitments, took up most of the weekend.

On Sunday I was finally able to sit down and start working on something. My mind kept going back to some sample code I had given a FlashPunk user in Afternet’s #flashpunkers earlier in the week. He was asking for pointers on a drag mechanic and I was able to offer a little help. This sample code was still sitting in my initial basecode project in FlashDevelop and I just started going with the seeds of a simple idea.

1367290572442

I wanted a game where the player had to think fast, but didn’t have multiple types of actions to perform. The Drag mechanic is simple, and everyone who uses computers should be familiar with it. I also didn’t want to have to explain the rules to the player. I wanted them to be able to discover the rules with visual and audible hints. I decided that simply moving objects into a target would be adequate to satisfy those two pieces.

So I worked on Sunday night and before long had the basic functionality down. There were some overlap issues that I had to figure out due to me forgetting that I was centering the origin, but that was probably the only thing that was a pain. After more work on Monday night, it was ready to turn in. I ended up with a progression of levels that started simple and ended up fairly frantic. I knew I was going to be dinged by some voters if I completely avoided instructions, so I put a little blurb on the webpage about discovering it as well as adding a hint to the end game screen if you didn’t make it past the first level or the first level with multiple colored targets. I hoped this would be enough to keep people from being frustrated or downvoting me because they couldn’t understand it.

(I have to say that with the Minimalism theme it is hard to balance the polish. I decided that not only is my gameplay going to stick with one basic action, but the graphics would be minimalism with simple shapes. However, I know someone is going to downgrade the graphics because there are so many more entries that are fantastic graphically. Should they be voted higher because it looks better? Or should the simple graphics games be voted higher because they are following the theme? I don’t know, there are many entries where I can’t for the life of me figure out what is being interpreted as minimal but will probably score high because they are good.)

Here is a video of myself playing the game. Reviewers have apparently done a good job scoring higher.

I think the fact I kept the gameplay simple but had something challenging and fun was great. I was focused on that without having to prepare and test other mechanics. The progression of difficulty was simple and changed things around while still keeping that simple dragging mechanic.

I would have liked a high-score option that reported to my webpage or Twitter, or at the very least kept your own personal high score offline. I didn’t get a chance to do that before the time limit. I also had to skip the sound/music toggle which would have been a nice polite addition.

I had the same thought that showed up in many LD comments: It would be fun on mobile. I would like to explore this. I think I’d have to change the underlying code for handling the dragging to support two at a time, because I know that would be intuitive on a device.

If you would like to give it a try, please go it’s LD page.

Double Penetration: Two Is Better Than One

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Thursday, April 25th, 2013 11:24 pm

I’m in again for Ludum Dare 26, after a successful entry (translate: submitted) in December’s You Are The Villain jam. This time I’m bringing in reinforcements. I am really looking forward to working with my friend Kilnik to collaborate on a Jam entry. He will likely do most of the art and probably level design, should we do a game that requires that. While I would love to give Unity another go (he’s using it for another project), I need a more relaxed atmosphere to properly get my bearings with it. Instead, we’ll continue to use the same tools that I have been using for the past couple years and Flash as the engine.

  • AS3/Flex+FlashPunk+FlashDevelop
  • Photoshop
  • BFXR
  • Audacity
  • pencil, paper, eraser, ruler, iPad
  • Scanner
  • mIRC
  • Google+ Hangout

Using Google+ Hangout is new. I think it will be a good tool for collaboration since we are a few hundred miles apart. It allows video conferencing and screen sharing.

As is usual for the April and August competitions, it falls on the same weekend as a baseball game that I am scheduled to attend. I will lose likely eight hours, but will definitely be thinking of the project and how to move forward with it.

LS-MAN Postmortem

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Wednesday, December 19th, 2012 1:20 am

It is pretty depressing to work on your idea for a few hours on Friday night only to realize that at least one other person is doing the same thing as you. I had looked at a Google image search of “Atari 2600” just to see some basic game implementations and ponder how to reverse them. When I saw the Pacman game, I realized that it was something simple enough to do in 48 hours, and complex enough to not be just a concept demo (I think I fell somewhere in between). A game where the ghosts are trying to trap the Pacman wouldn’t terribly difficult: minor AI, simple screen, few animations, basic controls. It seemed like a good idea, and it was, which is probably why someone else selected it, too. After Friday I refused to read the “other” journal for fear of 1) unconsciously directing my creativity choices and 2) to not get discouraged and quit early. I continued on.

On Friday night I decided I wanted to use a mouse select->command scheme for control. Ghosts randomly move around the map until you click the ghost and tell it where to go. It will follow the path to the destination, where it will return to roaming. I didn’t want them to just stop somewhere because then you’d be able to camp out and essentially block Pacman while you herded the ghosts at your own whim. Having them roam would make it more difficult to trap Pacman. Friday night, after I created the map and creature code, I implemented the pathfinding system.

Most of my wasted time on Saturday was spent implementing the pathdirecting and pathfollowing system. This drove me nuts and I nearly threw it at the wall. I don’t think I ended up using most of what I did because it got to complex. I was able to rewrite it so it made more sense and was easier to debug. Once this was done, the ghosts could be directed, but also wander. I added some sounds and replaced some of the placeholder rectangles with bitmap graphics. At this point I had the makings of a game, but not things to make it an actual game: game over condition, accomplishment measurement or general polish.

gameplay

I don’t actually remember much of what happened on Sunday. I worked on some of the same things, but by the time there were only a handful of hours to go, I knew I wasn’t going to be able to make it. The deadline came and went, and I was onto the Jam. Monday I had to work, but I was able to spare a couple hours afterwards to add the game conditions and finish the UI to give the illusion of a finished product before submitting.

What Went Right

placeholder graphics – Usually I sketch things out while I flush out design and end up using them as the graphics. I like the resulting style. It give it that cheap cartoon animation feel. For this entry, however, I didn’t sketch a thing and used placeholder squares and lines. It let me implement features earlier instead of spending time trying to animate or adjust images. I don’t think sketching things is ever bad; it can help you bring your game idea to life even if you never use the image in it. Placeholders force you to work on what is more important and spend less time on things that would get removed or reduced near the deadline.

pathfinding – I used a couple AS3 classes from Untold Entertainment (which only needed a couple tweaks, see their comments) and it worked out really well. There are a few things that I could do to make it more efficient, but it was good for this task. I will definitely use it again.

codebase experience – I’ve been using Flashpunk for a couple years now, so I am getting much more familiar with it. I have built up solutions using it and have been able to leverage those solutions in future projects, reducing some wasted time trying to ‘reinvent the wheel.’

I submitted it! – At the end, I managed to get something that could actually be considered a game, even if it’s not up to the finished idea in my head. I really didn’t want to submit a demo or sandbox because that doesn’t really count as a game.

What Went Wrong

endgame came late – I didn’t actually get the endgame stuff in there until the last hour before I submitted. I should have worked on this earlier. I think next time I will be sure to add the endgame circumstances, even if the rest of the gameplay isn’t there. I still have to write gameplay before the end, but this would allow me to push the more dropable stuff to the end in case time got tight.
reconnaissance – I probably should have investigated my partner-in-idea’s logs at some point to see if there was something I was indeed missing. Based on the review comments so far, I really should have added a better method to select the ghosts, perhaps buttons on the screen and/or keys on the keyboard.

AI – I initially thought the AI was not going to be hard, but I ran out of time and never really had a chance to implement it. The Pacman and undirected ghosts are essentially random. I wanted to have them show a little personality, perhaps chasing or trapping the Pacman, but not so much that you don’t have a job when you play.

random change of position – I don’t believe the real Pacman game allows the ghosts to change direction except at an intersection (or when a power pellet is used). It’s been awhile since I played, so I might be wrong. Anyhow, a lot of my wasted time was trying to get them to not return to the just-traversed hallway without going around. I eventually gave up. Looking back now, it doesn’t seem like it was that big of a deal to warrant that much time spent on it.

node/tile types – I designed the game to keep pathfinding nodes separate from map tile data. The pathfinding system uses nodes with only three options: edge, wall and hall. At some point, however, I realized I needed more than just those three tile types or would have to hack in other properties. I would have to go back throughout the entire pathing code to implement new types. This introduced a few problems and I even had to back out a couple hours of changes. I think next time I am going to go with a standard tile that doubles as a node and contains properties that can be used instead of checking specifically for certain tile types.

Conclusion

I have to rate this as a successful competition because I was able to submit something that I can consider a game and not just a pile of crap that lets me vote on entries. I’m not completely content with the end-of-compo result, but I don’t know that it is possible to ever be fully happy. I’m probably sitting somewhere about half satisfaction. It was a great experience, however, and I can really tell that I have made progress over the years. Can’t wait for the next LD competition in April.

Submit Early

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Sunday, December 16th, 2012 11:37 am

Report Back

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Saturday, December 15th, 2012 11:18 am

I Am The Villain. Seriously.

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Friday, December 14th, 2012 10:30 pm

I live it.

Villain360

P.S. You’ll find your pretty tied up on the railroad tracks.

Theme Announcement Refresh

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Friday, December 14th, 2012 6:45 pm

Tell Your Family You Love Them

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Friday, December 14th, 2012 5:00 pm

Recharge

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Friday, December 14th, 2012 9:58 am

Sleep

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Thursday, December 13th, 2012 3:06 pm

Crashed and Burned

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Thursday, December 13th, 2012 7:45 am

CrashedAndBurned

Ludum Dare XXV Theme Voting in Visual Form

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Wednesday, December 12th, 2012 8:09 pm

I took the results of the four preliminary rounds of voting and graphed them to see how popular certain themes are compared to the others. I ranked them by the sum of the pluses and minuses. The top twelve are in the Final Round.
Theme Voting LD XXV

 [click image to embiggen]

Looks like there are three themes that are obvious favorites over the others–End of the World, Construction and You are The Villain–with between 800 and 1000 plus votes (green) and around 500 minus votes (red). For the most part, pluses and minuses for themes stay between 500 and 800 of either kind of vote. The neutral votes (yellow) stay fairly flat, but you can see what appears to be climb on the left side of the neutral votes before it starts it’s up-and-down.  I believe what sets those three highest themes apart from the others is that they managed to get more people than average to select plus instead of neutral, as well as have less people vote negative. In other words, they’re more polarizing. P.S. I don’t know what I’m talking about, look at the pretty colors.

My official prediction is that the top vote getter End of the World is going to be the final round winner. The timeliness is perfect and probably what drove it’s numbers in the first round. We won’t get this chance again, whether the Mayans were right or not.

UPDATE: I added another pretty graph. Since each round had a different open/close time there is obviously a flux in the number of votes cast in each one. Also, some people actually refrained from selecting an option, even neutral, for some themes. This graph shows the percentages of total votes plus or minus based on the number of votes cast for that theme.

Voting2

Make An Impact

Posted by of LoneStranger Designs (twitter: @lnstrngr)
Wednesday, December 12th, 2012 5:13 pm

MakeAnImpact

[cache: storing page]