Wednesday, June 16, 2010

PyWeek - Setting Myself to Far More Interesting Challenge

My delaying and procrastinating with Cherry and Gunner Robo Pocket have caused me to realize that I enjoy small, short projects more than larger, longer ones.

That said, PyWeek is coming up in a couple of months and I'm looking to redeem myself. I'm looking to redeem my overuse of religious terms, my flip-flopping, and my whimsical abandon of ideas.

That said: LandFish Studios (Me) will be attempting to create one game every week until the week of Pyweek. (And then, one game for that week)

I will call this task Operation: Stalwart Redemption, because I like titling my efforts as operations now and then.

Monday, June 14, 2010

Gunner Robo Pocket - Display Code Done, Now Onto Gameplay

I've had loads of trouble with the display code for Gunner Robo Pocket. The method I am using to draw the screen is simulating a dot matrix display, storing images as a set of pixels each with one of four colors. (Those colors are black, white, light gray, and dark gray; Those colors are relative, as I am using an LCD color scheme like the original Gameboy)

With that sorted, I'm going to be working on gameplay now. (Finally!)

I'll post about my progress. (I'll be posting more now that I actually have something to post about)

Friday, June 11, 2010

Mini-LD #19 - Gunner Robo Pocket

Mini-LD #19 has begun!

The theme for this event is "Industry"

My concept is that of a game that has you playing randomly-generated "Games" that each consist of 5 levels with a boss fight at the end of the 5th. (I may add a mini-boss to the 3rd level if I have time)

Each "game" will have a player character who is a combination of three attributes:
  • Overall Shape (Humanoid, Mech, Tank, or Flying Thing)
  • Flight Action (None, Multi-Jump, Hover, or Fly)
    • For the "Flying Thing" these mean: (None, Speed Burst, Turbo, or Ramming)
  • Weapon (Normal Gun, Charging Gun, Spread Gun, or Rapid Gun)
The "Games" will also use a variety of item and weapon rules:
  • Infinite ammo, limited ammo, or regenerating ammo?
  • Shields or no shields?
  • Items or no items? (Ammo will be either infinite or regenerating if there are no items)
  • Flight has a cost?
    • If so, shields, ammo, or both?
    • Or does it use its own energy?
I should have something by tomorrow afternoon. I'll be hosting the downloads on my public DropBox, and will be posting links to the downloads here and on the blog. I may also tweet them, but those will be formatted with

Until then, peace.

--- Mr.Dude

Already Lost Interest in Little Robo

I think I'm gonna flake out on Little Robo. It just doesn't seem all that interesting now that I've actually thought about the idea.

I'll be entering the Mini-LD #19 challenge, which starts later this evening, and I'll post about that here when it comes.

Wednesday, June 9, 2010

A Small Project: Little Robo

I have decided that since I'm taking time off from working on Cherry, that I want to work on a small project.
My concept is a single-screen small platforming game titled "Little Robo"

The game will be about a small robot that has to fight his way through an infinite number of very short levels.
The player would be able to choose from two robots: One fast robot with a charging gun (Somewhat like a certain blue robot) and one strong robot with a rapid-fire gun.

Levels will take about 30 seconds to complete, and will be randomly generated.

I will be posting updates about it, but it will probably not take long to make.

Taking a Break from Cherry - School and Other Things

With finals coming and a game development even this weekend, I've decided to take some time off from development on Cherry.

I will be entering in the coming Mini-LD, and there will be some coverage of that.

Until then, peace.

--- Mr. Dude

Monday, June 7, 2010

New baddies! The Angler, the Rocket Hound, and the Bar Drone

I've gotten my two baddies for today done, so I'd like to share them with my readers. (Well, those two and the baddie from yesterday!)First, the Angler. This is a great big ship with thick armor, powerful shields, and a great big spread gun. These behemoths will be somewhat rare, and docks that spawn them (And baddies of their size) will be very uncommon in bosses.

The Angler's stats are as follows:
  • 25 Armor points (Takes 13 gun shots or 2 missiles)
  • 40 Shield points (Takes 20 gun shots or 2 missiles)
  • Shield regenerates 1 point every 2.5 seconds
  • Weapon is a spread gun that fires one salvo of four shots (At 5, -5, 20, and -20 degrees) that each do 30 points of damage. (Two shots will get through the player's shields, one more will kill the player)
The Rocket Hound is a big ship with two missile racks that fire two missiles each. It has fairly powerful shields and reasonably thick armor, but isn't exactly indestructible. It can move surprisingly fast for its size, as well.

The Rock Hound's stats are as follows:
  • 35 Armor points (Takes 18 gun shots or 2 missiles)
  • 15 Shield points (Takes 8 gun shots or 1 missile)
  • Shields regenerate 2 points per second
  • Weapon is a pair of missile racks that fire a total of 4 missiles per salvo, and can fire 2 salvos per second, and each missile deals 30 damage
The Bar Drone is the second most common baddie. It is very quick, and has pretty tough shields. Its main weapon is a spread gun which fires a fairly tight pattern. Because its gun fires multiple shots in a tight spread, it likes to get close to you and stay close to you. For those who aren't familiar with programming, "Foo" and "Bar" are names that are often given to values that are used as examples without much context. (For example, demonstrating a simple feature of a programming language, especially in beginners' textbooks)

The Bar Drone's stats are as follows:
  • 12 Armor points (Takes 6 gun shots or one missile)
  • 6 Shield points (Takes 3 gun shots or one missile) (One missile kills it regardless of shields)
  • Shields regenerate 1 point per second
  • Weapon is a spread gun that fires salvos of 3 shots (At 0, 2, and -2 degrees) twice per second, with each shot dealing 8 damage (8 shots will get through the player's shields, 3 will kill)

I'm going to be working on this late tonight, so I'll keep you (The readers) posted.

I'm hoping to add one more type of baddie tomorrow. (It'd be two, but I have a meeting with my English professor to discuss my final portfolio tomorrow...)

--- Mr. Dude

The Day so Far has been down for today (Well, the status page said that the outage only affected a few areas, and I was in one of them...) so I've got a fair bit to post here.

All ships now flash when they take damage. Green when their shields are damaged and red when their armor is damaged. Also, baddies' life gauges only show for about 1/2 second after they have taken damage.

I've recently fixed a hiccup in how I handle the rate of time that will make all of my time intervals correct, but that isn't in the current demo.

(It is in the SVN repository, for those who are so inclined...)

I've released a new demo, as well. You can pick up a copy of the Windows version here, or the source code (Which requires that you have Love2D installed to run it) here.

These two releases also include a readme with some instructions and a copy of the license. The Windows release also includes the license for Love2D. (Which is the lower-case license.txt, the upper-case LICENSE.txt is the Cherry license. I'll sort those two out before the next demo, I promise!)

I haven't gotten my third baddie type done yet, but I'm working on it!

I'll probably throw in a fourth type because I have all the code I need for it anyway, and I'll be sure to post that along with the one I'm working on now.

Bosses... They'll probably be put together Wednesday at the soonest. I've got some of the underlying code, but I haven't gotten alot organized...

I think this might turn out well...

--- Mr. Dude

Sunday, June 6, 2010

Progress: The Angler, and What It's Existence Means

I've got my second type of baddie in.

That took much more effort than future types of baddie likely will.

Before today, I had most of my baddie-making code hard-wired to make the Foo Drone. I had to rewrite all of that to read the names of images, sounds, and stats from a config file. That's quite a bit of work right there.

I also had to get spread guns working correctly, which was harder than I thought it would be...
necessary (I think) to
I also had to give baddies shields. Unlike the Foo Drone, the Angler has shields.

All of the ships move much faster at the end of today than they did before. This isn't an accomplishment (Hopefully this is obvious) but it is a bit of tweaking that I really like. The player's ship is wicked fast (Which it's supposed to be), the Foo Drones also move much faster.

The Angler's spread gun could stand to be a bit more powerful (Which I could do my making it fire more shots at a time) and the sprites for its shots are rotated funny.

All in all, though, I'm happy with what I did today. It's not bad, considering that I slept in until noon today...

I'm gonna call it a night, though. I've gotten quite a bit done, and I'm happy with that. Tomorrow, I want to get a basic boss working and maybe a third type of baddie.

I'll post about the Angler and the third type of baddie when I've finished making the latter and have it balanced the way I like it.

I'll also post about some of the initial boss parts when I have made them.

Good night, internet. Can't wait for tomorrow.

An Existing Baddie and The Player

I will be posting about new content in Cherry, and I will make a new post when I've added at least two new elements, in addition to the normal progress updates.

The player's ship, the SF-47 "Cherry" is a fighter craft equipped with an automatic plasma gun and homing missiles, as well as very sturdy shields.

The Cherry's stats are as follows:
  • 20 Armor points and 60 Shield points
  • Has afterburners that double booster output
  • Main weapon as a plasma gun does 2 damage per shot and fires 16 rounds
  • Secondary weapon is homing missiles that do 20 damage per shot, fire 4 missiles per second, and reloads 1 missile every 1.5 seconds (Up to 4 missiles)

The "Foo Drone" will be the most common baddie, and at the time of writing is the only baddie.

Its stats are as follows:
  • 10 Armor points, no shields (Takes 5 gun shots or 1 missile to kill)
  • Has no special abilities
  • Weapon is a plasma gun that does 10 damage per shot and fires 6 shots per second

I will probably be making a new baddie some time tonight and one more tomorrow, so I'll be making another one of these posts!

A Note for Anyone Who has Been Playing the Demos of Cherry!

I've seen some (Well, not many, but some) downloads for Cherry's demos.

I'd like to encourage those who have downloaded it: If you have a problem, register it in the "Issues" tab! I read it every time I update the site, and I'll act very quickly to fix any problems, I promise!

Oh, and if you have a Subversion client on your machine, check out the source under the "Source" tab! It's got all of the features I talk about here, and gets them way before I release them in packages! And I almost always test to make sure the thing runs before I update it.

Plans for today: Trying to get bosses working

Well, I can't hide from it any longer. Today I start work on the bosses that are the core of the game.

By the end of today, I hope to have some code in place that I can work with to make boss characters happen.

I'm not going to cross my fingers as far as having an actual boss goes, though.

I'm also planning on making at least one new kind of baddie today. Here's hoping.

I don't know what the new baddie will be, but I'll post about it when I'm done.

(In fact, when I add new content, I'll probably post about it as I complete it)

Saturday, June 5, 2010

Homing missiles! Yeah!

I've got homing missiles up and running! Yeah!

Heres a screenie:

I'm excited about this. I think it might turn out to be really fun. :D

My Current Project: Cherry

My current project is a game called "Cherry" which is a space shooter where each level consists of a fight against a huge battleship and the various fighter ships that try to protect it.

These bosses are procedurally created, and consist of a cluster of parts that are revealed as you destroy those on top of them. Each boss has an engine room somewhere near the back-center. If you destroy this part, or disable the ship's defenses completely (The engine room can hide parts that are below it), then you win the level and move on to the next one.

The player has two weapons at their disposal: A rapid-fire plasma gun and homing missiles. The plasma gun has a limited energy reserve that recharges over time. The player can hold up to 4 homing missiles, and they reload over time.
They player has both shields and armor. The player's shields absorb attacks and recharge over time. The shields recharge faster when the player's shield points are low, and more slowly when the player's shield points are high. The player's armor does not regenerate, and the player dies if it runs out. If the player has any shield points at all, their armor will not be damaged by attacks, and the player has more shield points than armor points.

The game carries on indefinitely, and it can do so because the levels are randomly generated anyway. It will also track high scores.

The game will be written in Lua using the Love2D game engine. At the time of writing, the game's current state is a demo where the player can fight an endless stream of enemy ships. (Also, there is only one kind of ship to fight) I will (hopefully) be adding in some basic boss functionality soon, as well as sound effects and a winder variety of enemies. I also hope to add sounds soon.

Allow Me to Introduce Myself

Hello, internet! I'm Hank Mclaughlin (Known as "Mr. Dude" on many sites) and I'm the head and only member of LandFish Studios, a one-man open source game development project.

I'm currently working on a big (Well, bigger than I usually do) project, which I will describe in my next post.

A bit about myself:

I am a community college student who may be dropping out due to lack of money. (If a student loan doesn't go through...)

I have been programming for about five years now, and have worked with Java, C++, Python, Ruby, and Lua. I like to code open source games that I then give away for free. I don't plan to sell my games for money any time soon, but I may turn to that some time in the future. (Even then, I'll be indie and stay that way)

I'm currently working quite a bit with Lua using Love2D (, which combines SDL, OpenGL, OpenAL, and Box2D in one lovely package.

I'm a Linux user (Mandriva Linux, specifically), and I am fluent (Well, reasonably so) in the command line as well as knowing some basic system administration principles.

So, hello internet. It's nice to meet you.