Saturday, December 4, 2010

Sky Lance - No Screenie Yet, But an Update

After having issues with the Ogre model exporter, I've decided to try to use Panda3D for the game. I've had segfaults trying to use it (Segfaults once I try to open a window...) but I've also found a couple of libs that the Panda3D build tool (It has its own build tool...) tries to link against (In particular the off-screen rendering component of Mesa/OpenGL) that it will skip silently unless you specifically tell it to link OpenGL. That's annoying, but I went ahead and installed that, so I should be good to go. If I still have segfaults, then I'll... Well, I'll keep trying, honestly.

That being said, I'm happy to keep trying with Panda. I want to make it work. The distribution tools aren't quite release-ready but are working, and they can build a stand-alone executable. Which is absolutely beautiful. Not only that, but it can build an executable for any of the three big platforms (Window, Linux, Mac) from any of those three, and it apparently trims down the Panda runtime that it embeds to what is actually used.

I'm happy to keep trying for that.

As I'm writing this, I'm checking out a fresh copy of 1.7.1 from the Panda CVS. (1.7.1 is the next release, but it's available on CVS and fixes some build errors from the current release version)

I'll be simplifying my design somewhat, as well. I'm thinking that interchangeable weapons are maybe a bit too much for something like this. I'm not sure what I'll do at this point as far as the exact design. But I'm trying to sort all of that out at the moment.

I'll try to have some actual progress on my next post.

Until then, peace

--- Mr. Dude

Wednesday, December 1, 2010

First Post in Quite Some Time - What I'm Up To

I've been mainly doing my blogging on the Ludum Dare public blog, but I've decided that I really need to use this page.

My current project which I began, well, yesterday, is a shmup titled "Sky Lance". It is a vertically scrolling shmup that is meant to be a tribute to such classic shmups as DonPachi (And DoDonPachi, and those after that), Twin Cobra, and Raiden. It is not a direct clone of any of those, though it borrows elements from Raiden and DonPachi.

As I'm writing this, I have a model of a player ship (One of a handful I will make) that has two skins, each for the first and second player respectively. I am currently taking a break from getting the Ogre framework set up for the game so I can start work on things like collision objects and some kind of entities.

The game will support two players on the same machine, and will also support playing with a game controller or joystick. It will also support a joystick for each player (Which is a natural way to play with two players)

It will have four or five playable vessels. (Which will vary in attributes and behavior, as well as in what exactly they are, IE: An airplane or a helicopter) It will also feature a handful of primary and secondary weapons that can be interchanged. Weapon pods that follow the player's vessel will be available as well. Weapons will behave differently between the different vessels, as well. Finally, each vessel will have a handful of different engines available that will each have advantages and disadvantages. (Such as good speed with poor acceleration)

Levels will be generated procedurally, but will follow an overall flow from the first level to the last. (Meaning that difficulty, setting, and other aspects will flow while the exact terrain and enemies will vary)

I could ramble more, but that all is simply tentative but more than likely.

My next post will have a screenshot that will feature some proof that I'm not just full of hot air.


-- Mr. Dude

Friday, September 17, 2010

A Sincere Effort and Hopefully Successful Mini-LD Warmup

I've decided that I need a project I can commit to, and that the easiest way to commit to a project is, well, to actually commit to one.

To that end, I've decided to try to create a real Mini-LD warmup. I'm using the same kind of time frame that I'm going to use for the Mini-LD: Work from Friday morning to Monday evening, taking Tuesday if needed. I'm going to use the theme similarly, as in that I'm probably not going to use the theme.

(The host of this month's Mini-LD, Sophie, has been very adamant about how loose the rules are for this one)

The game I've got in mind is a ninja game. Specifically, a furry ninja platformer about a vixen trying to save her little sister from a ninja school rival. The player will have a choice between two characters, as well.

It'll be a Flash game, and I will post it on Kongregate when I'm done with it. It'll (hopefully) have 10-12 levels, two bosses, and 3-4 types of baddies. Both characters will also have different attributes.

I just need to keep my focus on this one. The only way I'll succeed is if I keep at it, and the only way I'll keep at it is to just keep at it.
I've tried all sorts of self-talk, all sorts of contemplation, and all sorts of "finding the Right Idea", but it comes down to just actually doing the work.

I really want this. It's a good idea, and I think it can be fun. I want to make this happen more than I've wanted anything since I started getting as flaky as I have.

Enough of that, though. I'll keep folks here as well as on the Ludum Dare blog up to date as things progress.

Sunday, September 5, 2010

Flip-Flopping Between Projects - A Mini-LD Warmup

I noticed that this month's Mini-LD has been announced, and the theme along with it. (Normally, the theme isn't announced until the event has begun, but this month's host is very laid back about the whole thing)

The theme this time is "Greatest Fear", and the host has stated that she wants us to each face a fear of ours. Because I'm scared of making pixel sprites (I'm not great at it, and am generally better at vector), I'm going to be making a side-scroller using pixel graphics.

So that I don't just embarrass myself, I'm going to be making a warmup game first. I started at 19:00 UTC, and will be ending at 20:00 UTC this coming Wednesday. (Giving me about 72 hours. I'm giving myself the extra hour because I started at about 19:30 UTC instead of 19:00, and 20:00 is a nice, on-the-hour time)

The title of the game is/will be "Sword". It is about a fighter who is fighting his/her way (There will be two playable characters) through a dungeon to get a Valuable Dingus. (As fighters tend to do)

In the dungeon, there will be a variety of baddies that will try to stop/kill the player, mostly consisting of goblins and orcs.

There will be 10 levels (Assuming that I have time), a miniboss, and a final boss. Each character will have their own weapon, but the two will differ mainly in speed and damage. The characters will differ in speed and health, as well.

The plot for Sword will be pretty minimal, and will mainly consist of "You are a fighter. There is a dungeon with Treasure in it. Go get the treasure."

With that, I'm going to go get to work!

Edit: Fixed the times. I'm bad at math sometimes...
Another  Edit: Forgot: Those times were UTC...

Arthropod - A Change of Language and Title

Still going on the idea of doing an Alien Breed clone, I'm going to try AS3 and FlashPunk again.

I'll be calling it "Flash Breed", but the basic concept remains the same.

It will also have some character customization, and because I'm doing it in AS3 (IE: Flash) I will have integration with Kongregate. (Meaning saved games, high scores, achievements, and possibly other things)

I'll post a bit more about it a while later.

Saturday, September 4, 2010

Arthropod - An Old Project I'm Resurrecting

I'm going to have to make a real effort to post in here more often...

Chibi Breed has since run into issues. (Namely that Panda3D doesn't have the muscle to perform on my netbook, but the netbook's all I have)

I've decided to resurrect an old project of mine titles Arthropod. Arthropod is going to be an Alien Breed clone. I'm writing it in Ruby using Rubygame.

I'll be posting more as the project progresses, I promise!

Monday, August 9, 2010

What I'm Doing Now: Chibi Breed

Wow, it's been a long time since I've posted here!

I'm currently working on a project called "Chibi Breed". The name is a play on "Alien Breed", but it isn't a direct clone of that series. It was originally going to be a clone of "Alien Breed", but then it went through several language and library changes before I finally settled on Panda3D.

I've decided that rather than a top-down camera, the game's camera will follow behind the player. Also, the game will feature both male and female playable characters. It will use a cartoonish art style. (For example, my current player model is about 3 heads tall, meaning that her body is about twice as tall as her head)

I haven't decided much yet (I have a nasty habit of deciding too much too soon), but I'm currently sketching out ideas.

I'm pausing my work on it for a little bit because I requested a change to the UNIX name of its SourceForge page. (The UNIX name is the all-lower-case name that is used to identify the project to the system as well as in the address of the project page) Since that process can take up to 48 hours, I've got a bit of time on my hands. I'd keep working on it, but the address of the SVN repository (Which is where I keep my source code as well as game content) will be changing along with the rest of the project's location on SourceForge, and that change means that I have to get a fresh copy of it after the name change takes place. (I have to get a fresh copy because the name change would make uploading my work from the copy I have not work: It'd be trying to send it to an address that doesn't exist anymore)

I'll be posting now and then with ideas I have, as well as to update folks on the status of the project.

I really want to finish this one.

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.