Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411512 Posts in 69376 Topics- by 58430 Members - Latest Member: Jesse Webb

April 26, 2024, 06:19:54 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsNinja Game with a Catchy Name
Pages: [1]
Print
Author Topic: Ninja Game with a Catchy Name  (Read 2515 times)
Slather
Guest
« on: October 11, 2011, 09:06:46 PM »

Download the AIR installer.

Project page at Soulcraftgames.com But this has more updates for now...





Hello folks!  My new project is about ninjas! Actually, it just has ninja-based movement.  But it's not just ninja-based movement!  I'm using Flashpunk with Box2d, so its ninja-physics-based movement.  I'm using ninja physics! Big Laff I'm very tired. see->Tired

You can download the AIR installer from my dropbox folder and try it out.   Its a tiny test level with nothing interesting to see.  Does that sound EXCITING!?!?
It only has a couple viruses, no big deal.  NOTE: movement is E,S,D,F.  Thats all you really need to know, because all you can do so far is move.  You can see the rest of the controls by pressing F1. Space toggles edit mode.

Here is my page for it: Ninja project page on Soulcraftgames

I don't have much of the game design finished.  All of my effort so far has been on player movement and tools that I'll use to make the game.  I started with AS3 earlier this year, and i finally feel comfortable enough with AS3,Flashpunk,Box2d,hosting on the web, maintaining a website, and building for AIR to make something awesome.

I'm starting to fall in love with big fat pixels. I posted that last image because it used to look like that- almost directly ripped from Ninja Gaiden.  I changed the sprites it from a x2 to x4, and I love it.  Also, I fiddled with levels in photoshop and got this neon look for the low-res ninja that I now love!  Addicted  I'm thinking of using an abstract pixel style with colorful gradients and pixel noise(love pixel noise) and a bunch of neon lights.  I use an overlay layer for lighting- more later.  I'm also having lots of fun with making music. Jam 1.mp3

I made a script that exports "paths" from photoshop to XML.  So I draw the level in PS, use shapes for the collision geometry (and the collision art is pixel-perfect with the geometry this way), and export the whole mess.  I made a flash doohickey that you can run through the "Actions" panel in PS, that will have all the options.  I'm in the process of putting together a tutorial for the script, and all the accompanying files (scripts, Actions, Swatches, Brushes, and a template file with the Layers and Layer Comps already setup so its all ready to go!)  On a related note, I have a script that can sort-of generate a random level.  It creates a few layers with layer styles, and a collision layer.  I can post more on that later. I'm way too tired for all that right now.

I'll be posting detailed stuff on my site. I'll post little screenies here when I update, and you can download using the same Dropbox link in this post.  I'm looking someone to help with sprite work, btw.  If you like low-saturation, big fat dirty pixels, Sword and Sworcery's art style, Monkey Island, or Firefly, then we should be friends.
More soon!

Edit: I finally looked up BBCodes. Here, have a tiger  Tiger
« Last Edit: November 11, 2011, 04:43:21 PM by Matt Spencer » Logged
sonicblastoise
Level 1
*



View Profile WWW
« Reply #1 on: October 11, 2011, 10:41:14 PM »

Fiddling about with your prototype level. So far it feels interesting. I'm enjoying the friction from changing directions and landing jumps, but the animations around corners looks funny Smiley

Keeping an eye on this one Smiley
Logged
grayfox88
Level 0
**



View Profile WWW
« Reply #2 on: October 12, 2011, 07:25:53 AM »

Dang! I JUST started a ninja game with the same look, was gonna post the devlog last night. I'm working in XNA. Good luck with your project! I'll follow this for *inspiration*  Tongue

UPDATE

Just played your prototype, movement is fun - but like sonicblastoise pointed out, you kinda roll around corners. I wonder if it has to do with that circle you appear to be using for collision? I noticed if you hit spacebar you get the editor.
« Last Edit: October 12, 2011, 07:37:14 AM by grayfox88 » Logged

Slather
Guest
« Reply #3 on: October 12, 2011, 01:55:53 PM »

Thanks for trying it out guys!  I'm gonna see what I can do about those sharp corner shenanigans.  Grayfox: what crazy timing we have!  I'm interested in your ninja thoughts and thoughts on ninjas.  Maybe we can collaborate on this or something else.  Beer! Hand Thumbs Up Right
Logged
Belimoth
Level 10
*****


high-heeled cyberbully


View Profile
« Reply #4 on: October 12, 2011, 03:06:10 PM »

That's one hell of a first Devlog post! I like this a lot Beer!
Logged

grayfox88
Level 0
**



View Profile WWW
« Reply #5 on: October 12, 2011, 05:13:39 PM »

Sure, I'm not nearly as far along as you, but after reading your controls and seeing what you've got so far I think we've got the same idea, no point in having two of the same game! Tongue

I'll dig up what I had on combat and movement for my ninja game and PM you.
Logged

Slather
Guest
« Reply #6 on: October 15, 2011, 04:45:37 PM »

Someone has asked me why I use AIR so I thought it's worth explaining here.

I use FlashDevelop, and have a build for flash player, AIR, and now a separate build for the editor(AIR).  I'll can post the SWF to the devlog so people dont have to install the AIR runtime, but it might take a while to load. I don't have a preloader coded yet, either. 

There isnt much difference between flash player and AIR.  I don't embed my assets into the swf so things can load as they're needed ( I hate waiting for flash apps to load, and going to flash portals and watching ads.. etc.. )  I don't like to play action games in my browser, so i prefer a standalone option (move the mousewheel, the page scrolls, and I die a horrible death).  SWF files can be run as a "projector" on the harddrive, but AIR allows the use of the right-mousebutton (flash player brings up the menu), and has fewer tedious security restrictions because it doesn't run in a browser, which allows for faster file loading, for example.  One big selling point for me is the chance to use the AIR updater for patching.  I haven't tried it yet, but I'm excited! 

A money factor:  SWF security only lets me load assets from within the same domain as the SWF file, so everytime someone plays the game, they'll be using my site's bandwidth to do so. Since I pay only for the bandwith I use (and I'm broke), it's an unecessary cost to me.

I <i>might</i> be able to host the swf and assets in my Dropbox folder if I can find a way to set permissions- or I could just embed the assets I guess.  In that case, people might as well download the SWF projector and run in on the desktop.  That way they don't have download it every time.

AIR is easier and a much more elegant solution.  I don't have to upload new assets, I just package it and throw it into my Dropbox folder.  But I intend to provide the in-brower swf, the downloadable projector, and the AIR installer so people can choose.

more soon
Logged
sonicblastoise
Level 1
*



View Profile WWW
« Reply #7 on: October 15, 2011, 10:06:12 PM »

Interesting points. I was unaware of the differences between the two, and now feel rather enlightened!

Looking forward to a new build!
Logged
grayfox88
Level 0
**



View Profile WWW
« Reply #8 on: October 28, 2011, 08:19:56 PM »

Bumping this for more attention. I want to play more!
Logged

CK
Level 9
****



View Profile WWW
« Reply #9 on: October 29, 2011, 12:53:38 AM »

This is beautiful. It feels a little weird, but I attribute that to most Box2D games.
ESDF -> why would you do that?

And panda Panda
Logged

Slather
Guest
« Reply #10 on: October 29, 2011, 01:50:24 PM »


Thank you grayfox and beef Smiley  Two weeks!! arghh! I have a lot of 'splaining to do.

Beef: I use ESDF for a few reasons: It's left-hand home-row position and easy to switch to typing. I can use my pinky for A,Q,Z,Shift,Ctrl,Tab and have access to more buttons with the other fingers.  I never liked Caps Lock being so accessible and so useless.  A and G are great for leaning in an FPS, and useful together for cycling through things.  Also, it just feels good. Comforting, like a bra or brassiere. A handssiere if you will.

   I want to have a key bind screen so people can change it, but I don't want to play around with the GUI (see below)- instead, I'll give an XML file so people can change it.  Also, I'll make the default jump key spacebar because it actually strains the hand to use E(or W) for jumping while moving with the others.

Shutter. This will probably go in the game.

I've been working on the tools (which are broken at the moment), so there isn't much new to see.  I've been thinking a lot about what I want from this project, and how long I want to work on it.  My deadline is the end of the year.

It's misleading to call this a "ninja project" because the only similarity to ninjas will be the iconic/fantasy acrobatic movement.  I like the idea of a neon acrobat in a surreal dark (and vibrant) world, attempting to maintain order by balancing the relationship between dangerous entities.  I love to think in the abstract.  I have MANY ideas for this game alone, but I'll post them one at a time.

Dodge.  I imagine this being a boss fight.

  I've had plenty of unfinished projects but never actually finished an actual game, with goals and an end condition.  I never cared to finish something that wasn't my best- I have a problem being a perfectionist, so if it's not perfect it doesn't get done.  In fact, I've erased this post and started over many times, which is why it's been so long since the last update.  I have tools, exporters, and engines, but not a single game. Sad  No one wants to hire me because I don't have a degree.  This is my only outlet for art, music, design, and technical knowledge.

Weapon 1. This is kinda bla, so might not make it into the game.
   
  I thought of a development strategy to help me complete my first game ever. I call it the "Finish-First" method.  I'm sure someone has documented this idea somewhere but I don't care, it's new to me.  The idea is to create a game and finish it as fast as possible, then iterate and improve until the deadline is up.  So step one is: have something that is technically a game.  It has a goal, it has two end conditions: win and lose, it has obstacles to make the goal non-trivial to accomplish.  It's a crappy game, but IT'S A GAME.  Each iteration renders a better finished game, not a prototype or whatever.  When my time is up, I'll have the best game I can make by that time.  This is all very related to Agile development if you're familiar.
 
  So! I'll forget the tools, menus, options screen for setting key-bindings, and everything that isn't fun to play.  I won't care about user experience or flexible dev tools for nobody-in-paticular until I'm on to a winner.
   
 Now that I've explained all that, let me show you where I stopped with the tools:

I will not be using 3dsMax for this game, but things will be ready for the next project.

SpaceBum. This doesn't have the right mood for the game. But I made it so here ya go!
So I'm gonna go "finish" my game. More sooner than later.  Coffee
Logged
Slather
Guest
« Reply #11 on: November 03, 2011, 05:44:15 PM »

Air installer

 
I doubled the gravity and the player control got instantly more fun!!  I'm interested in what people get for the FPS.
   
I'm posting the editor because the released game is just a stripped-down version of the editor, with a game menu.  Hit Enter to toggle playtest mode.  Space pauses, ESDF(and arrows) move.  LMB selects and drags, RMB rotates (+Ctrl it scales).  You can't select non-box2d entities just yet, but you can place them into the level from the entity list on the left.


Still brainstorming the funky "corners problem".


F2 now switches between fullscreen and windowed mode.  Flash made this almost effortless.  The only annoyance is the default behavior of the Esc key is to exit fullscreen.  I want Esc to toggle pausing/menu and F2 to toggle fullscreen instead, so I had to disable the default behavior.

Code:
/// the abridged version

public class NinjaEngine extends Engine
{
public function NinjaEngine():void
{
super( 1280, 720, 120, true );
Input.define( "escape", Key.ESCAPE );
TARGET::AIR
{
//stage.nativeWindow.title = "BOOM";
Input.define( "fullscreen", Key.F2 );
}
}

override public function init():void
{
TARGET::AIR // my compiler constant
{
stage.addEventListener( KeyboardEvent.KEY_DOWN, stopEsc, true );
}
}

private function stopEsc( e:KeyboardEvent ):void
{
if( e.keyCode == Key.ESCAPE )
{
if( e.cancelable == true )
e.preventDefault();
else
trace("- cannot stop Esc from leaving fullscreen" );
}
}

// this is how i set my stage
public override function setStageProperties():void
{
stage.frameRate = FP.assignedFrameRate;
stage.align = StageAlign.TOP;
stage.quality = StageQuality.HIGH;
stage.scaleMode = StageScaleMode.NO_SCALE;// NO_BORDER; // SHOW_ALL;
stage.nativeWindow.x = stage.fullScreenHeight / 4;
stage.nativeWindow.y = stage.fullScreenHeight / 5;

}

override public function update():void
{
super.update();

TARGET::AIR
{
if( Input.pressed( "fullscreen" ) )
{
if( stage.displayState == StageDisplayState.NORMAL )
{
stage.fullScreenSourceRect = new Rectangle( 0, 0, FP.width, FP.height );
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
}
else
{
stage.nativeWindow.x = stage.fullScreenHeight / 4;
stage.nativeWindow.y = stage.fullScreenHeight / 5;
stage.displayState = StageDisplayState.NORMAL;
}
}
}

if( Input.pressed( "escape" ) )
{
//level.paused = !level.paused;
TARGET::AIR
{
NativeApplication.nativeApplication.activeWindow.close();
}
}

// tilde
if( Input.pressed( 192 ) )
FP.console.visible = !FP.console.visible;
}

}




I've added a GoldChunk object that can act like coins in Mario.  If you throw a BasicEnemy into the level, he basically just annoys you, and you can't kill him.

Logged
Slather
Guest
« Reply #12 on: November 05, 2011, 02:26:15 AM »

Been trying to describe the game in terms of other games:

Player movement like "N" from Metanet Software.
Pixel style like Superbrother's  "Rustic 21st-Century Minimalism": with a mostly-desaturated look, but with vivid parts, too.
Music inspired by Iji/Hyperduck, mostly electronic with rock-elements.
No words like Another World, but possibly gibberish sounds (Sims)- or if it does have words, I want them to be like the dialog in "Shotgun Ninja" !! "This struggle is philosophical!" lol
Abstract, strange world like Another World.
Doesn't take itself too seriously, like Monkey Island.
Little pixel-creature charm like in Knytt by Nifflas

Anyway, maybe I'm just dreaming...  but you can imagine something pretty awesome, right? Hand Thumbs Up Left Wizard Toast Right Toast Left My Word!

I spent a couple days trying to get rid of that stupid latency problem flash has with sound.  I started by writing my own sound manager that uses the SampleData event and mixes all the sounds into one continuously-playing sound.  I gave up when I found the easy answer worked just fine: I just have to play a silent sound in the background so Flash Player doesn't have a chance to stop processing audio, which is the cause of the latency.  Sounds still have a slight latency (<100ms) but its good enough for now so I dont waste time.

I've made a sound design preview ("soundscape") with a few sounds and two background tracks.  I'm creating sounds using Bfxr, ambient tracks using Paul's Extreme Sound Stretch tool, and recording music with Reason and Audition.

Download the first soundscape for the ninja game

Check out the music page at soulcraftgames for other tracks.
Logged
Slather
Guest
« Reply #13 on: November 11, 2011, 04:42:57 PM »

I've decided my ninja lives on an island.  He has a nice view, and is happy.  The island is surrounded by water, so to get anywhere he has to take his rocketship (or boat).  The main menu of the game is the "tutorial level" which is the ninja's home island.  When I'm done, you'll select menu options by manipulating objects on the island.  You start a new level by getting into the rocketship, launching into the sky and crashing into the level.  The in-flight ship animation serves as a loading screen, with the angle of the ship indicating the loading progress.   Most levels will have water at the bottom, so there's no more falling forever when going over an edge of the level.  Buoyancy works for objects, but the ninja sinks because he is denser than water (for the moment) and can't swim just yet.

There will now be a golden substance the ninja can collect which serves the purpose of being ammo, and energy (increases speed and jump height, abilities...).  In a sense, the "energy" you collect represents your health, but you can't die from having no energy, you just become fragile.  The more energy you use, the weaker you become so there is a trade-off.

Not sure what the major goal will be yet.  Maybe preserving the ninja's home from destruction is the start of the adventure?

Controls:  ESDF to move, F2 toggles fullscreen, Esc to quit, R to reset, RMB to shoot gold "energy", 1 is a big chunk, 2 is a little chunk, ENTER toggles playtest mode for the editor.

Link to the swf on my site.
Installer for the game.
Installer fot the editor. (You can playtest with the editor)
Link to the image album
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic