gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

So, writing a Metal Storm clone is just way to complex for me right now, so I'm working on a vertically scrolling platformer instead (something like Kid Icarus). This is what I got so far. You can disappear from one side and reappear from another.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

Added platforms. To stand on. There are also platforms offscreen to prevent the character from falling in the "transition zone" between wrapping to the other side of the screen. Something to keep in mind when implementing an actual level format and level editor.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

Added HP (which you can't see) and sprite flicker when you get hit. I normally put stats like HP in the title bar before adding a HUD, but that didn't show up in my recording.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

Created a new type of enemy. It moves in a sine curve. Though the movement needs some tweaking if it is going to spawn in groups like this.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

Added a basic HUD. It's just text right now, but I plan on replacing the HP text with an actual health bar.

Right now, I"m suffering from writer's block on enemy design because I can't come up with new enemy ideas. Maybe I should replay Kid Icarus for inspiration, but I don't want this to be a straight up clone of the game. I always try to come up with at least something different.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

Added a new enemy. It attacks when in line of sight of the player. It still needs tweaking. The placeholder spritesheet has unequal sizes for the sprites.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

Got the enemy to attack when the player is at most, 4 tiles away from the player and is facing the player. Though admittedly, it should be lower. I was just testing the conditions and I will lower the range to make it more reasonable.

I also got the hitbox to change size during the attack, but that's not demonstrated in this recording.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

Added a lives counter to the HUD (was there before but it was just text and I removed it when adding the health bar). Right now, the icon is a coin because I'm borrowing HUD assets from a previous game project which didn't have an icon to represent lives.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

It's been a while, but I finally decided to take the gamble and use my dying laptop to add the ability to change which tile to place in the editor.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

Added a UI bar at the bottom which displays the current tile. I also added a yellow outlined rectangle which represents the area that is actually seen in game. Since the player can walk to one side and appear at the other, I have to include tiles that appear offscreen, so naturally the editor window is larger than the actual game window. This outline shows what will actually be visible.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

Editor now supports all current object. You may notice a bug in this recording after saving with the fourth enemy being in a lower y coordinate after reloading the file. That's due to the fact that this particular enemy is larger than the game's tile size. I'm working on this issue right now.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

Actually creating levels in the editor now. I'm not the best level designer. I kind of create the level as I go and my editors aren't very robust, but make makeshift editors are much better than creating levels from a text-editor.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

I'm now using triple digit values for each tile in the tile maps because I've added more tiles to the tileset and it gotten to the point that each tile needs a double digit value along with the single digit value that gives the behavior of each tile. Naturally this breaks compatibility with the levels of the older format and I have to convert them manually, and have the reconfigure the level editor as well, but that's the price you pay.

I didn't do it earlier because I didn't expect to use that many tiles. I then decided to include background tiles, so naturally that increases the amount of tiles in the tileset.

You may notice that these tiles are from Mario Bros and CaveStory. I do these as place holders, and I eventually create my own.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

Reconfigured the level editor to support the new format. I've also added a way to change the tile behavior and view the behavior of each tile in the editor. Tiles without an overlay are background tiles. Yellow represents solid tiles. Dark blue are platform tiles (ones where you can jump to from the bottom). Tiles with red overlays are spike tiles.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

I realize that I didn't include support to change the background color in the level editor, so here it is. It is done by pressing the left control key.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

Added walkable cloud tiles for this particular level.

I have no idea what this game is going to be about. It probably will be a mix of sci-fi and fantasy, at the rate at this thing is going.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

Added support for horizontal scrolling levels. Given, that this game is somewhat Kid Icarus-inspired and Kid Icarus did include horizontal levels, I decided I might as well include them.

Including this was a pain as I didn't originally planned to include this. I still haven't included this in the level editor yet, but I think I could get it done. I just feel like the game should be more than about some character jumping all the way to the sky.

in reply to xianc78

gamedev

it definitely adds a lot more depth to the game and you can create a lot more creative levels now.

This kind of reminds me of early Kirby because the large majority of the games were vertical but it did have at least in the beginning of the level horizontal play space.

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

In the level editor, I had to change the camera controls from the arrow keys to WASD because the left and right keys were giving me segmentation faults for whatever reason. Luckily, I can still use arrow keys in the actual game.

#gamedev #SFML

in reply to xianc78

re: gamedev

@binkle What the fuck. And how long were you using C++? Ye, it's no wonder segfaults were an issue

compile with -g
run: gdb ./program
type: start
it tells you exactly where it segfaulted with 10x more useful info than you'd get in python or something. Type `p x` or `p *foo.bar` or whatever to inspect variables, bt for a backtrace

in reply to xianc78

gamedev

I found the problem with the segfaults. I was already using the arrow keys for changing the facing direction of a select object and I forgot to make the current object pointer null by default. I'm probably going to stick to WASD for camera movement though.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

For whatever reason, I get this random bug that causes the sound effects to be high pitch. It only happens on my new System76 laptop and I don't know what is the cause. It's completely random. Sometimes, it sounds normal. Other times, not so much.

#gamedev #SFML

in reply to xianc78

gamedev
The media in this post is not displayed to visitors. To view it, please go to the original post.

I've added a freeze frame after defeating a boss along with explosions. Ignore the high-pitched, corrupt sounds and me breaking the golden rule of keeping the cursor out of the recording.

#gamedev #SFML

in reply to xianc78

gamedev

Fuck it. I might have to scrap this project. I can't constantly tinker shit. And deal with broken compatibility with the level editor and game itself, while also having two modes.

I might redo the dungeon crawler project since I've been working a lot on procedural generation.

#gamedev #SFML

in reply to Luke

@luke For vertical levels I have the player go from one side to the other. This required me to include tiles offscreen. I shoehorned in a horizontal mode, but that required extra code (like repositioning the camera). Too make matters worse I was also working on the level editor so I had to shoehorned those features as well.

Some levels ended up looking corrupted from the level editor to the game itself as a result and I was constantly fixing it.

This website uses cookies. If you continue browsing this website, you agree to the usage of cookies.