About six or seven months ago, I was working on my largest (and most brain wracking) programming project yet: a level editor and basic game engine. Unfortunately, I encountered several problems with my project and had to restart it. Then I encountered MORE problems that were something I couldn't control. My IDE decided it would be okay to stop working.
So, I halted production on that project because there were just too many things going wrong at once. I used the time to start studying C++ and learned more about the fundamentals of programming. I never got anywhere with C++, but it was an interesting (and still largely incomplete) study.
As I said in yesterday's post, I'm working on a new programming project inside of DarkBASIC. It's a platform/adventure game that's been brewing in my head for the last couple of years. The game mechanics aren't anything new, and the idea is simple, but I hope that by completing it I will eventually be able to make more diverse and interesting games (as a hobby, not as a career).
So what's my game going to be about?
Well, the main character is a Marble named Martin. Martin's friends have been kidnapped and his Land's main source of power (I'm thinking something along the lines of crystals/diamonds) has been taken as well. Now Martin must embark on a mission to save his friends and rescue his world before it's too late!
Here's a list of features/ideas for the game that I know will work, because I've tested them out over the course of the last year.
- World Screen. Much like the screen first introduced in Super Mario Bros. 3 for the NES, this screen will allow you to look at future levels and maybe even go back one level if you missed a Power Crystal.
- For enemies, I'm thinking more along the lines of obstacles as opposed to intelligent NPCs. However, there will be at least two types of enemies that do move and provide a bit of a challenge.
- Coins. Obviously, collecting a certain amount of these will increase your score and give you a 1-UP.
- Switches. These have any number of different effects depending on the level you're in. If you see where you need to get to next but can't quite reach it, look for a switch that will create a new (temporary) platform to help you along. Another type of switch will reveal hidden coins and possibly lead you to a hidden Power Crystal. And yet another type of switch may give way to a secret 1-UP.
- CheckPoints. Pass one of these and the next time you die you'll re-start the level from there.
- Elevators. They move independently or when activated by a switch. They'll help you cross insanely deep chasms o' doom or take you one step higher than you can jump. But that's it, really.
- Power Ups include a Super Jump, Invincibility, Ghost (enemies cannot see you but can still harm you if you touch them), and...well, I'll let you know.
- The game itself will be free to download (however the media will NOT be allowed to be reused by anyone).
That's it for the basics. It doesn't sound like much, but that's because I haven't divulged all of the details. I'll post new updates perhaps every two weeks or when something exciting happens. Spread out between those posts will be other ones that I write (such as cool findings or general techie talk).
Alongside this game engine project, I'm also going to build myself a custom-made level editor. This will help me out greatly in the long run, because I'll be able to design my levels completely visually and without most programming. Originally, I was going to allow the future players of my game to use a specially designed version of the editor to create and play their own levels, but now I don't want to do that. Why? It's not because it would be difficult to program (okay, that's part of the reason why), it's because I can't guarantee that I can get everything working properly for the general end user. I know what kind of attributes and dynamic functions every part of my game will need. I know how I can assign those specifics to the objects without a visually enhanced User Interface. So designing an easy to understand UI and making it easier for the end user to understand how to assign attributes to the specific entities would be an extreme hassle, and it's part of why my project failed last time. As much fun as it would be to create a user base for people to create and share levels, it's just not going to happen with this game. But if I make a sequel, then it's entirely a possibility. This is, of course, assuming that this game gets even remotely popular.
If you want to, please feel free to leave a comment. I know this isn't much information on my game and programming project, but if you want to leave feedback please do.