Lightless (Updated)[9.24.2013]

Lightless (working title) is my first full-length game attempt.

I intend for it to be a top-down 2D RPG, with 8 bit music and graphics. I am creating all the resources (Music, art, code, story) by myself. I am completely comfortable with the music and story, I’m decently comfortable on programming, and im honestly kind of crap at art, one of the reasons that i decided to make it more retro.

List of Features so Far:

Map Editor
Player Movement and Animation
Collision
Tileset (Some)
Rendering Text (Finished but not pretty)
Interacting with Map tiles
Map Scrolling
Original Music (Current Progress: 1 Track finished)
Very basic NPCs

List of Planned/Unfinished Features:

Final Fantasy style battles
Menus
Class system similar to Fire Emblem, will reveal more when i start on it.
No overworld (Final fantasy) walk everywhere (zelda / pokemon) with ports opening up for faster travel as you reach them.
Story ( Branching?) (Have a basic idea, will reveal more when i start on it)
Shops
Magic / Skill system
Equipment
Map
Dungeons (Most handmade, at least 1 infinite randomly generated)
Colosseum Mode (Use your single player team to fight waves of monsters, would like to make it so you can face friends here via internet but have no idea how so we’ll see)

Screenshots:

Current build Video:

RznNy4nnte8

When recording, the game slows down to 30 fps, and since framerate independent movement doesn’t work well with my system, I move slower, in the future when i record i will just change to movement speed to match what it should look like. It is not a problem outside of recording.
The recording is also lower quality, im seeing if i can fix that.

As you can see i dont have many tiles yet, just some dirt and grass variants, flowers, and a crappy sign and stump. If anyone has any tips for these i would appreciate them, ive looked at a lot of pixel art tuts, but they don’t seem to help too much on such a small scale. Oh, forgot im using Dawnbringers 16 color palette, and im using Famitracker for my music

Ok, next up for me is making my second track which will be the title screen music, then add NPC behavior, more than one box of text per interaction, from there probably i’ll move on to menus and shops.

Until then Id love to hear pretty much anything from you guys!

Development Steps (X means finished, O means in progress):
Map Editor X
Basic Engine 0
Menus
Battle Engine
Content
Make Website and figure out how to put it up for sale
Attempt Marketing
If any success try to put on Steam
If rich: Pay someone to port to XNA for release on Xbox indie games

Just wondering, are you using any libraries like LibGDX for this?

I am using LWJGL and slick_util :slight_smile:

Very cool, I actually like your art! I mean no offense, I’ve seen better, but it definitely is not as bad as you think :slight_smile: You’re better than me!

Thanks haha, the main reason it’s as decent as it is, is the few hours i spent going through tutorials, im just not sure how good ill be able to make the more detailed stuff such as houses, or monster and character battle sprites

Alright finished with basic map tile interactions, will put a video up soon, unfortunately i only have the free version of fraps so it’ll probably be very short.

P.S. Ill probably make the text boxes prettier, but right now, i don’t really care

If you’re on Windows <8 you can use the screen capture tool included with Microsoft’s Expression Encoder.

You get the full resolution, perfect quality, and little or no lag.

As much as I hate Microsoft, I love that one piece of software.

Unfortunately I am on Windows 8, thanks for the tip though :slight_smile:

It’s not for windows 8 a an optional download or anything? That sucks, I actually like windows 8.

Last time i checked it wasn’t, but just now i looked and you can! ;D so ill maybe retake the video tomorrow after i write another one of my essays

EDIT: It’s basically the same as Fraps except i dont think theres a 30 second time limit, it still slows my game down to 30 fps, even when i switched the capture rate to 60, but ill definitely be using it.

Alright new video up, got openAL, it’s easy stuff, took 2 minutes to implement, however it does pause for about 1/4 second before looping but it looks more like a problem with openAL than something on my end.

Also the new video encoder thing doesn’t output at full quality, but i’m thinking its because i didn’t pay 200$ for the full version.

Just spent about an hour on this

Trust me you can do it. You have to find a way around it! without it, a person with a really fast computer could move really fast! Unfair advantage. If it is an issue with not wanting to pass delta to methods, you could just make a static variable (and no, it will not static-imize your system at all besides 1 method and one variable). Unless you are working with a non update/render loop, I don’t see a reason that you can’t implement this!

Probably not, as the frame rate is capped at 60, no?

Still might want to consider a different game loop, or have logic running at a fixed baseline, and render at whatever, using interpolation. There is a nice wiki article about the different methods.

That was never mentioned.
EDIT:
Ok, but what about if someone has a slow computer? Then they will have to having to play longer. A cap can’t even stop that…

I await his response, but the probability that someone would be experienced enough to turn out what he has already without looking at a single tutorial (lwjgl or otherwise), virtually all of which will demonstrate fps limiting (either implicitly or explicitly) is practically zero.

On the off chance of that, I could just be wrong. :wink:

Sorry for not replying school is starting and im a lot busier, yes i do have the framerate capped at 60

The problem is that i made my own animation system that depends on how many pixels youve moved so far in the walk cycle.
If i pass delta into their and it doesnt divide evenly into the amount of pixels (16) then you end up a pixel or three off of the grid, and that screws up basically everything.

I’m more than happy to take suggestions on how to fix that, its just something i made up myself so its probably not super-efficient.

Make a movement timer for example. Something like this:

float movementTimer = 0;

public void update(float deltaT){
movementTimer+=deltaT;
if(movementTimer>=1)}
move();
movementTimer-=1;
}
}

Graphics should depend on what the state of the game is, not vice versa. Then the frame rate can be capped to any value or uncapped. If it’s slow, then it is trivial to drop frames because a frame update is not necessary to make characters “go”.

I have a movement timer, the thing is that if i need to move exactly 16 pixels, and have it change animation at every 4 pixels, and im multiplying my movement speed by a delta, it ends up either cutting off animations short, or i dont end up right in the center of the next grid point.
Mabye i could round the output from multiplying my speed by delta to the nearest whole number so it would hopefully go into 16, but then its possible that it could get 17, then when i set it back to 16 it would be a little jump, ill post my movement code, and you guys can criticise it for me