Monday, February 2, 2015

Rise from your grave!

I told you I wasn't dead! I've been rebuilding everything from scratch.

Squares jumping on squares!
Now it's not as far along as my last attempt but I got there much faster and the code, while still messy, is much better than before. It may not show in gif but the movement is much smoother thanks to some techniques outlined here. In the future I plan to put tilemap loading, some fancy lighting tricks, and my old 2.5D perspective trick.

Ye Olde 2.5D Perspective Trick
I have a few ideas of what this game will turn into but right now I'm just seeing where things go. I'll try to keep updating this with flashy gifs of new features!

Thursday, October 9, 2014

I am become delete, the destroyer of code.

Sorry again for a lack of flashy gifs this time. I intend this log nontechnical and visually demonstrative. Since my recent updates aren't anything I can show, this a wordy exception.

I have successfully replaced my laptop screen (with a nice new glossy one) and am back to looking at a beautiful Visual Studio window. As I have been researching code for specific problems I have come to realize how I can improve a lot of what I have in place. I have reached the critical point where the effort to destroy and start again is less than to fix what I currently have. So right now I have filed away the project I was working on up to this point and started fresh. Don't think this died, what I'm rebuilding will look very much the same.

I suppose I'm doing things more the "right" way now. For the first time I have done a lot of planning on paper before typing any code out. I am laying out all my header files as a skeleton before I define what anything does. I spend a lot of time learning how to use templates correctly to find templates aren't a good solution for me. I'm becoming a little more familiar with using pointers without making a mess.

My goal is to get back to the point I was previously with much better code, then to implement the ability to load and unload several Tiled map files on the fly for a seamless 2d world. I also want to work to put my initial 2.5d perspective trick back into the game. At that point I think I can save this as an extendible template for different possible projects going forward. Once it's a little more complete I may throw up a Github for it.

I've decided against using Box2d as previously planned. The more I learn I realize physics engines really aren't that great for platformers. Sure, tech demos can fill your head with cool ideas for bosses or puzzles but more realistic physics engine like movement for your character will just feel sluggish and odd or wild and uncontrollable. We're used to how Mario and Megaman feel. Maybe there's a way to hybrid the two, using physics for only what you want to show off, but that's a out of my scope for sure.

So coming up later: The same things you've seen before! (The stuff you can't see is better this time. I PROMISE!)

Sunday, September 14, 2014

Broken things!

I haven't had an update for a while and I don't want anyone to think this project has died. After starting my new job I haven't had much time to work on this. Sorry for the lack of fancy-pants gifs this time.

Once I started to get settled in to my new routine I started coding again. I have implemented a simple wall clinging mechanic (like in Mega Man X), worked on smoother jumping (still a work in progress), improved performance with better object/drawing management, and experimented a little bit with shaders.

Currently I'm set back thanks to this:


A replacement screen is in the mail. Assuming I don't mess it up I should be up and running again in a couple days.

Now that I have programmed my own entity system and I have a basic understanding of how it works I think I will be trashing it and implementing a more practical existing library like Artemis-CPP. The mechanics I want for this do not have graphics in the placeholders ripped from Metal Warriors. I will be replacing them with some new placeholders I'll be making myself. So coming soon, cool robots to be replaced with stick figures!

Wednesday, August 13, 2014

Now with violence!


Shooting! Killing! DEATH

Yeah, I know what has taken me this time could be done in minutes with Unity or Game Maker. I'm learning to program here. I have some extra time this week so I have being working on this a lot. Handling the entities is really the heart of a game engine. Coding this has been a pain and is far from done or clean. This tutorial from Game From Scratch was a very helpful start.

My code right now is very bad. In a lot of ways I know it's bad, and probably a whole lot more I don't. I'd like to think I'm stumbling through this pretty well.

Sunday, August 10, 2014

Everybody loves gifs!

There's not different to show but I threw this gif together to show what I have done.

Yeah, not much yet. Just walking and jumping. I have another view in the corner there that I may turn into a minimap. I have been working hard at rewriting a lot of the code for better organization and implementation. I've taken out the zooming 2.5d effect for now. I have been reworking a lot of that code and will put it back after I've coded more into gameplay.

I always hear to learn a language before trying to make a game in it. I am convinced making a game is the only way I do learn.

Wednesday, July 30, 2014

It begins

This blog is to document my working with SFML and game programming in general. I am constructing a basic platformer that uses TMX maps with the Tiled Map Loader for SFML.


I am zooming multiple layers to give a parallax effect. You can't see it in still images but you I will post video later on.

For now, you can walk and jump around a mostly empty level. The character is animated with placeholder sprites. Later on I plan to rewrite much of what I have to use Box2D and add dynamic lighting. I'm taking things one step at a time. This is all about learning.