Friday, April 10, 2015

Text Adventure Source Code Release

Well...the movement engine at least...

So this is a big day, my first release! Too bad it's garbage. So this is a link to download a text file containing the source code I wrote from scratch for a simple program in C++ that sort of kind of represents my first attempt at a text adventure. It's nothing special, it just handles movement and basic error checking in terms of user input. I also changed the colors of the application.

I made this in like 3 days after learning like very basic C++, I will probably continue development on a text game as it's one of my goals, but I'll be completely rebuilding the engine and focusing it on more objective code rather than gathering user input and checking it via if-else statements. If anything it's a nice bit of code that I think is pretty cleanly written, it showcases my problem solving (no google here folks) process, which is mainly why it's very basic and no advanced methods are used for anything. If you're learning C++ and you want to know how to use and call functions correctly and how to check user input and you need to know a bit about variable types and when to use them, this source code could be a bit of help to you, it's very short and very easy to read, especially when placed in your IDE of choice with C++ syntax highlighting (I recommend Code::Blocks). The source code will compile on any Windows machine (hasn't been tested on other platforms) so enjoy!

Wednesday, April 8, 2015

POUNDCAKE-Gamer (A PC Gamer rip-off) Just Launched

If you're interested in seeing content like PC Gamer posts (you know, gaming articles with general info on whatever) head on over to http://www.poundcakegamer.blogspot.com/ and follow.

I've always wanted to write articles about various gaming topics (mainly focused on competitive gaming, Counter-Strike stuff you know?) and new tech and what I think about it, also any intense gaming news like when DOOM is released, so I thought I'd start one small and see if people like what I write.

So, as it says in the description on the blog page, keep in mind I'm the only "editor" at the moment, so the articles will cover a variety of topics, but they will come out in "lumps" of what I'm currently most interested in when I write them. So right now I'm re-designing de_nuke in Counter-Strike: Global Offensive so a lot of the articles will be about whats going on in the world of CS and my thoughts on this and that, get it? Good. 

I hope you like the articles, I'll write whenever I feel like it so probably 3 or 4 articles a week depending on my free time. 

PlatforVania...

Have you ever wondered what it would be like if Castlevania was actually designed to be Konami's answer to Super Mario Bros.? Wonder no more.

Since re-creating all the mechanics of Castlevania is going to take a little bit of time for a guy like me with not too much free time, and since I'm still working on FishScape (don't worry I promise I am), I decided to make this project as well. Three projects at once. Like a threesome of the gods.



I'm only designing this as a promotional tool really, shameless, shameless, shameless. So it's just going to be one tilesheet for the backgrounds, one floor object as the platforms, etc. No shooting or anything else, just a platformer.

You're probably making fun of me (and you should be I suck) but my dream game is a platformer, like Super Mario Bros. on Super NES, but with no enemies or nothing, just relaxing jumping button mashing awesomeness. So in a way, releasing this game in the next day or so will be my ultimate game development achievement. (sarcasm intensifies). 

Enjoy it for what it is when it's released, both a game I find fun as heck to play and waste time in, stress relieving even, and a shameless deceptively simple product release to promote my godlike projects.

P.S. I'm going to do a little writeup about how this project idea came about, obviously it was sparked by the fact that I'm doing Castlevania, but I want to discuss the specifics of how I thought of this idea and why I'm releasing it and whatnot.

Monday, April 6, 2015

CASTLEVANIA

Arguably one of the hardest game series ever releasead on the NES was none other than Castlevania. I was turned on to this title during the later years with the Nintendo64 version, which I really enjoyed but I don't remember being that difficult. Then I played the original, and while I hear Simon's Quest (Castlevania II) is much harder, I have to give it to the first one for having its fair share of challenge. While taking a minor break from my large cumbersome FishScape game, I decided to essentially reboot Castlevania so it's playable on the PC. You can download emulators and all that but why go through the trouble of remapping keys and finding the ROM when you can just have a shareware copy made by me! Pretty sweet right?

Okay so here's what I whipped up today in about 30 minutes, simple platformer engine with jumping and movement, pixel perfect collisions, 30fps for that classic shitty feel! As always, the sprites and images are credited to where I got them in-game, so none of this aside the programming is my own work. I would have polished the level design a bit more but I just wanted something to show off real quick to generate some hype before I go to work... enjoy it.



So there you have it. I imagine I could have this whole thing released in a couple weeks (that long just because I have to rip and add the graphics and then re-create all the levels more or less exact), but if someone wants to see a nice feeling, playable PC version of Castlevania but with unique levels, maybe more levels, more enemies, enemies from different games....this isn't for profit so whatever you guys want to see I could throw in I guess. I'd like to keep it fairly focused and on topic, I don't want a Simon Belmont meets Pokemon mashup or anything like that. So let me know what you'd like to see.

Wednesday, April 1, 2015

How do I even?

How do I even? What is a Game REALLY?

I've been making games for actually quite a while. Never finished a single one, mainly because I just did it as a hobby, never thought I'd pursue a career in it. Over the years, and in particular over the past couple months I've fine tuned my sense of what makes a game, how a game works, and what a game actually is. How did I do this? I learned C++ and made a ridiculously shitty text-based RPG.

I'll make a commentary video featuring some live coding and discussion in more detail about what I mean, but I want to get this down on paper (...I mean on screen...) before I lose track of what I'm feeling right now.

What is a game?

A video game, no matter the genre, is just a bunch of math. That's all it is. It's a series of droning lines of code that basically compare a few values and output another value. Then that value tells something to happen or not happen - whether that be compare other values, draw something to the screen, whatever. It's just math logic.

If you can get your head around that, you can start to tackle game programming. Game design is a different topic, because design incorporates the graphical user interface aspect of the game, or the storyline (as in a text-based game). How the game works, however, is what I'm talking about, from a programming point of view.

How does a game work?

At heart, a game has NOTHING to do with sprites, graphics, 3d models, worlds, terrain, colors, none of that stuff. At the heart of a game, what you're actually doing is pressing a button or clicking something - providing a user input - and then the program does some fancy math and generates an output which causes something to happen.

Art is just something for the player to look at. When you think about it like this, it's easy to understand how people can say, "Graphics don't make a game, gameplay does.". That's 100% correct, and it's this mindset that has allowed me to continue working on projects such as FishScape even though they may look bad - the graphics might leave a bit to be desired, but none of that shit matters! The programming and functionality is still there, I can change the graphics any time I want!

What does it mean?

As I'm writing this, I kinda don't know what the hell I'm writing this for. I feel like it's important though... Look, if you're wondering about how you go about making games, or how you program, just remember that you're in complete control of the project. You're the programmer. You decide what happens, why it happens, when it happens, and how it happens.

I used to be sucked into the black hole of "meh this isn't going to be a good game" because I was always focused on creating a perfect project from the beginning. The beauty of game design is that you can improve your design whenever you want to, so no matter how bad you THINK your project is, just finish the damn thing. You'll be more proud of it at the end than you think, and then you can go back and rebuild it, port it, update the graphics, re-write scripts to make them cleaner and more concise and compile faster...the possibilities are endless.

Under the hood, all games are exactly the same, yours is no better and no worse than any other game out there. They do the same thing, and as long as you put your heart into what you develop, you will never create a bad product. "Love what you dev, dev what you love" as the saying goes.

So get back into Unity, GameMaker, RPG Maker, Unreal, whatever your engine, and finish your game.

I feel like this post is a bit cluttered, maybe unfinished...I'll maybe do a video like I said at the beginning and talk a bit more in detail about some things. I hope this inspires someone to keep going with their project.

The Magic of Programming...

So today while working on FishScape (still a working title..ahem...) I was having my coffee and thinking through how I wanted to fishing algorithm to work. Even though this is a rather simple attempt at the game, more or less a proof of concept to see if we want to port it over to unity or some other game, or dedicate more people and time to it within GameMaker, I still want it to be fun to play and work nicely. 

This is where I fail at game design is math. I can program, I can tweak things to move just right and flow correctly but I'm just not a math guy. Hurts my brain to think about it. This is where I had an epiphany.

Here's a screenshot:

So what is this? On the left is a screenshot of FishScape. On the right is a screenshot of a simple program that I wrote in c++ in about 5 minutes that enabled me to tweak and test the output and performance of various algorithms for determining how you catch a fish in the game. 

What's the big deal? Well consider the fact that my game takes time to compile and run, it may be only 5 or 10 seconds as of now but that's still 10 seconds I waste simply waiting for the game to run, then once it launches I have to go grab the fishing rod and walk back to the water before I test the algorithm.

Yes, yes, I could have just made a separate room where everything is close together, or a separate object where I already have the fishing rod etc...but that's a waste of time when I can put 5 minutes into a re-usable program that I can test 30 times in the same 10 seconds it takes to launch my game.

So this is sort of a little PSA to game developers: Don't limit yourself to one language, don't be close-minded about the tools at your disposal, and don't ever stop learning new things. One day they will help you out in the weirdest way...