Category Archives: Programming

Spirit-uality: A Post-Ludum Update

I made a post-Ludum update to Spirit-uality. A lot of things bothered me, and while it’s not the best it’s certainly now more pleasing than the first submission. I still hate the music and sounds, but I don’t have a good grasp on how to make better ones. That’s the most important thing to improve on for next time. Glad to finally be done with the game!

Play it here

Spirituality Spirit

 

PATCH NOTES

Bug Fixes:

  • Controls can no longer be set to the same key
  • Spirit now regrows normally after reducing to smallest size

Gameplay:

  • Revamped the final Boss. Will no shoot you until you or it are dead
  • DOWN: hold to prep attack, release to launch bolt
  • UP: spam to raise shields to block the boss’ projectiles
  • Lengthened the world by ten times for those that need it
  • Pressing ‘esc’ now exits the game
  • Game over when the spirit is hit when it’s already the smallest size
  • Six more good deed encounters
  • Tutorial now displays what happens in-game when the user presses UP and DOWN

Graphics

  • Jerry fist pumps on six successes in a row
  • Jerry will have a fit if he misses a good deed when he’s on a streak
  • Sky: changed the texture, and now fades in and out to go from night to day more clearly
  • Added screenshake
  • Spirit hovers slightly in place
  • Replaced default window logo
  • Many textures were retouched

Ludum Dare 34: Day 3

Spirit DudeIt is done. And it is good.

http://ludumdare.com/compo/ludum-dare-34/?action=preview&uid=14965

Well, not really. I didn’t playtest it at all. User reports already say enemies stop spawning after awhile. Next time, the scope will be smaller to fit in testing and gameplay improvements.

Spirituality Spirit Spirituality Events Things missing:

  • Shield system to block incoming projectiles, used both by you and enemies. Rapidly tap up to charge the shield.
  • A real end game boss.

Things to improve:

  • More enemies! More events! More attacks!
  • Background sky graphic. It is terribad
  • Graphic polishing. The frames are there, just not in the right order.
  • A visual way to explain the controls.
  • Less buttons that look like they can be clicked.

All in all, I’m really proud I did it!

Ludum Dare 34: Day 2 Part 2

Eyes hurt. Brain unfocused. Legs sore. So much done, and so much to do.

Day 3 IdlingThe avatar is now a snazzy dude with most things already figured out in life. He’s got everything figured out. Well, almost everything.

Day 3 Success EventsAs the avatar passes by things, he has an opportunity to make Life a little better. Make him perform good deeds such as finding true love, reading a good book, making a friend, and giving to the homeless.

Day 3 Explosions2As your spirituality grows, it manifests into a little blue dude, complete with lightning-bolt action! Zap the evil spirits before they attack your spirituality and make it shrink!

Ludum Dare 34: Day 2 update

Mid-day progress pick! I’m so way more behind than I thought I would be.

Press down when you’re near the lady so grow spiritually. Get 3 in a row and your spirit grows visually! The last stage you can attack the demons. Next up: destroying the demons hit by lightning.Day 2 Progress

Ludum Dare 34: Day 1

Started Ludum Dare for the first time ever! I am ecstatic.

This theme is “Growing” and / or “Two Button Controls”. I’m attempting both in a rhythm-type game. You start off as some dude who wants to grow spiritually. So you walk through life and do interesting things: talk to people, read books, look in a mirror.

Eventually your spirit grows. And grows. And grows. The spirit then must defend itself from evil spirits in a bullet-frenzy shoot-em-up that culminates in a gigantic battle with The Spirit of the World!

Or something like that. Here’s what I got after 3.5 hours. It has a long way to go!

Day 1 Progress

New Game, New SpriteSheet

spritesThis is the spritesheet of the game I’m working on now. Build your base. Recruit heroes. Send them on quests. Get weird loot. Pray the loot won’t kill your minions, blow up your base, or both.

So far there’s the knight/warrior, rogue, lackey minion, and mage. An explosion and portal/void are in the middle. There’s also weapons, a message board, the mailman, wood and stone walls, and some GUI stuff.

The spritesheet isn’t packed or anything; it’s just a large canvas for drawing. I know it’s “wrong”, but it works well enough.

MetalX Update

The newest update is available here.

I put it up mainly to showcase the new sprites and animations. They’re all created from a single 200×200 spritesheet. The size and animation cell lengths are arbitrary. Each room pulls its own tiles from where it wants. If no tiles are assigned, the room will paint itself in a single color. This is my first built-from-scratch engine animation.tileset

Behind the scenes, I’ve added blueprints. Blueprints are a set of rooms that are independent of a ship and its rooms. It allows the ship to add/remove rooms from itself based on its blueprint (probably a better word for ‘blueprint’ would be ‘schematic’). A blueprint can be given to any number of ships. I’ve also prebuilt blueprints for testing purposes: a smaller ship as seen in 1.1.0.2, and a gigantic ship. These can be swapped by one line of code.

The other major change was redoing the way controls work. Now they’re a lot more robust, with panels, texts, and rotations all built in. The tabbed group on the right is another type of control. Eventually I want most of the commands available via similar sliding controls.

For awhile, there was a way to add additional blueprints and the ability to create ships based off of those blueprints. You could then “launch” those ships (really just shooting a ship out of a hangar room just like a bullet). These weren’t the actual blueprints as explained above, so when I added the real blueprints, this ability got borked. It will be back!

To make future builds easier, I created my first .bat file. It creates a folder onto the desktop, copies the javascript and image files into it, and then merges all the .js files into one. I then create the obfuscated .js file, make a shitty HTML5 page, and upload it all to the site. Still takes long than I’d like, but it’s getting there. I had to hardcode the .js files into the .bat file since I couldn’t parse the HTML file correctly. The file is shown below. Edited for readability.

set today=%date:~10,4%_%date:~7,2%_%date:~4,2%
set now=%TIME:~0,2%_%TIME:~3,2%_%TIME:~6,2%
Set targetDir=%userprofile%\Desktop\MetalX_%today%_%now%
Set sourceDir=”%userprofile%\Desktop\My Dropbox\workspace\MetalX”
md %targetDir%
xcopy /s/e %sourceDir%\js %targetDir%
PING -n 5 127.0.0.1>nul
for /d %f in (%targetDir%\*) do copy %f %targetDir%
md %targetDir%\images
copy %sourceDir%\images\ %targetDir%\images\
copy %sourceDir%\metalx.html %targetDir%
cd %targetDir%
copy requestAnimationFrame.js+vector2d.js+…+metalx.js MetalX_1.1.0.2_unobfuscated.js

Adventures in Space with MS Paint: There’s No Sound in Space

Well, the first alpha version of Metal X is out, version 1.1.0.1.

I’m elated how quickly this is coming along. HTML5 is fantastic because I don’t have to compile anything, and it’s available on the internet right out of the box. Javascript is okay, and I know I’m doing things wrong (my developing tool Firebug doesn’t know how to read my function names), but it’s workable. Learning as I go. I’ll probably buy Sublime Text 3 when it comes out, as I’m currently using ST2. I’m looking forward to adding each new game feature, and I get excited visualizing how I want the game to end up.

In the immediate future, you will be able to build ships from your fleet blueprints, launch and recall those ships, and send crew onto planets and watch them run around. I wrote a 15-point To Do list to achieve this, and it’s taken me a week just to get through the first two. Building buttons and text boxes from scratch is not sexy. But it was worth it, and I’m proud that they work. I did that.

Eventually they’ll be starmaps, and enemies you can shoot down, and factions, and multi-tile rooms for bigger and better weapons, engines, command centers, and more. First I’m focusing on building up your ship and fleet. Then comes advanced crew missions and orders. Then enemies and allies and collision detection in space. And then story mode. Maybe. Oh, and music and better visuals. Or I’ll just rename it to Adventures in Space with MS Paint: There’s No Sound in Space and call it a day.

 

It’s not 1.0.0.1 because I got rid of a build mode where it zoomed in on your ship and time slowed down. It looks cool and is still in the game, and I hope to use it later (to set repairs and see your crew / boarders). The build mode is now Blueprint mode, which for now just edits your fleet’s blueprints, but will eventually edit your main ship’s blueprint as well.

And it’s not 1.1.0.0 because there was a game crashing bug when exiting out of the text box. Yay for last minute code changes!

So it’s 1.1.0.1. I think. I’m not exactly sure about version history numbering.

I used http://javascriptobfuscator.com/ to obfuscate the code to deter offshoots and stealing. Like that’s going to happen. Next time I’ll try using the instructions from http://www.thetechhub.com/2010/04/combine-text-files-into-one-with-single.html instead of copy/pasting 20 .js files into one file by hand. Oh me.