Category Archives: Creation of a Video Game with No Knowledge

Creation of a Video Game with No Knowledge: Problems with Planning (Includes Screenshots)

stompysadventure_ss3
Share Button

stompysadventure_ss1

Hello everybody, it’s been too long since I’ve posted about the progress of this project, so here I am, ready to share some information with you. First, I’d like to give you a quick update regarding the status of this four level demo/prototype, and then I’d like to talk about the importance of planning.

So, what have I been doing since March 31st? Honestly, I haven’t been working on the game as much as I should have been, but I am getting stuff done. I have two levels completely finished, a third level with its physical structure completed – meaning no coins or 1-Ups – and finally, a fourth that I just started today.

stompysadventure_ss2I’ve been slowly building levels because, well, it’s definitely not as easy as I thought it would be. Stringing together platforms is proving to be quite tough, especially when I’m thinking about level length and flow. The main issue is that after I use up my ideas, I still have half a level left to create, and they’re actually coming out quite short, about a minute a piece. This is mainly due to a lack of planning on my behalf, but I’ll touch on that in a bit.

I do have a working 1-UP system in place, as well as a simple scoring system, plus I’ve been able to create a new obstacle that will likely frustrate some people – I’m talking about saw blades similar to those you encounter in Super Mario World and Super Meat Boy. Oh, I’ve also been able to put together some sound effects, and I’ve received permission to use some 8-bit chiptunes; however, due to the limitations of Construct 2 Free Edition, I won’t be able to use them all. Regardless, these additions add a nice touch to the game and make it a little bit more enjoyable.

As I mentioned above, I’ve been struggling quite a bit to put together this game. My biggest issue is my lack of knowledge of video game development, which is made worse by my lack of planning. I’m putting stuff together whenever something comes to mind, or on a whim if you will. This is not only stompysadventure_ss3slowing me down, but it’s putting a huge dent in my confidence. Plus, whenever I add something new, strange bugs seem to appear and mess with things – something that I’m sure happens to all game developers – so I stop to try to figure them out. Smaller bugs are usually created by simple mistakes, such as accidentally forgetting that I’ve renamed something, and then continuing to use the previous name in the event sheet programming. Other bugs, I can’t quite figure out, likely due to my lack of knowledge, but sometimes it appears that I’ve done everything right on my end – it can be quite frustrating. Debugging is something that I will have to learn and ultimately, I believe I need to do more tutorials, read more about using Construct 2, and become an active member of the C2 forums.

Unfortunately, another big issue surrounds the mechanic that I’m building the character “Stompy” around, and that would be the ground pound. I’m struggling to come up with great ideas for the move, resulting in placing a few more destructible boxes in the level, instead of designing levels around the move.

stompysadventure_ss4If I tried to make another game with Construct 2, I would definitely take more time to plan. When I say plan, I mean that I would spend more time on ideas for the game including enemies, obstacles, items, power-ups, level designs, etc. I believe this would speed things up and make the process a little more enjoyable.

I’m planning to release the demo on April 30, and I’ll be looking for constructive feedback on things like level design – I’m anticipating a lot of feedback there -, character movement, and any bugs, or ideas and suggestions you may have. At that point, I’ll decide if it’s worth my time to continue refining and creating the game, and if it comes to that, I’ll have to come up with a way to buy the full version of Construct 2.

Creation of a Video Game with No Knowledge: Upending the Tea Table

sspeak
Share Button

It’s been awhile since I’ve shared anything about the development of this small little game that I’m building, so here goes. I started to run into issues with animating my little robot buddy, so I threw the character out the window, thus upending the tea table. He’s not gone entirely; however, as I’ve simply taken away the robot and decided to give him back his legs. This allowed me to animate him – even if it isn’t the smoothest animation – a little easier, and to look more believable. OK, so it’s really not upending the tea table, but a change nevertheless.

playerboy

Of course, this means the backstory for the character has to change. No longer will Stompy, his official name, be embarking on a quest to discover why a trap was set for him. Instead, Stompy will go on an adventure to save his sister, Stompette, from a mysterious alien ant race. Definitely a little more simplistic in nature, and also not very original, but given the game’s biggest influencers, – Super Mario Bros., Adventure Island, and Zelda II – I think it was an appropriate change.

Also, I’ve implemented a lives system similar to those found in old school games. Once all your lives are gone, it’s Game Over, and that’s the bottom line. I’m not going to be implementing an infinite lives system that holds your hand, or loads of checkpoints that encourage sloppy play, instead, I want some of the game’s difficulty to come from the pressure of holding onto every chance you’re given. For those curious, I don’t plan on adding a continue function, but there will be plenty of hidden 1-Ups.

I’ve also added some new graphics, and improved upon older ones, as seen in the screenshot below. Plus I’ve been playing around with the layout size, and character physics to find what works best for my vision. As for stage design, I’m nearly done with the physical layout of the first level. It will be short and easy to beat, giving you an opportunity to get used to playing with the game’s character. I’ve got ideas for other levels, including vertical stages, and a fortress stage that will play similar to the palaces from Zelda II. Plus, I’m thinking hard about what kinds of power-ups to include; an invincibility power is almost guaranteed.

sspeak

I still have to create art like trees, bridges, enemies, etc. for the rest of the game, but I’ll also be building levels as I go. Designing levels is proving to be a little more difficult than I thought it would be. I believe that a good, fun level is hard to execute, especially when I have little to no experience doing so.

My plan is to have a 3-4 level demo by the end of April. If the feedback is good, and the consensus is that there’s potential, then I’ll continue – I do have ideas in mind for three more worlds. You’ll be able to find the game on the Scirra Arcade, plus I’ll add a link to it on this website.

Mail Bag

Ask your questions below, and they shall be answered in the next article.

Creation of a Video Game with No Knowledge: Ground Pound and Enemy Ants

enemyai
Share Button

I’ve been quietly – aside from a few tweets on the Twitter – working away on this game, but wanted to wait until I had something more significant to show. I’ve been able to accomplish a few small things up to this point, and just as my confidence level started to dip, I buckled down, did some reading, and learned how to program two things that this game needed: a ground pound move, and enemies.

First up, I started working on a ground pound move. As of now, it isn’t 100% finished, but it is in a working state. With Construct 2, I was able to program a series of events – which are not as tidy as the enemy AI you’ll see in just a bit – that will let gamers press the down key to perform a ground pound move. Basically, what I did was set the max fall speed to 1500 and set its Y position at 650. This forces the player downwards at a fast pace whenever the down key is pressed. Not as fancy as Mario’s butt stomp, but it does the trick during this early stage; you’ll see how it looks in the demonstration video below.

construct2_boxes

Another thing I wanted to achieve was a box that can be used as a platform, but also smashed into pieces when the ground pound move is used. I had to create an instance variable to achieve this effect – I’m almost positive there is a better, less buggy way to do this – that tells the game when it is appropriate to smash the boxes, and when they can be walked on. This ground pound (stomp) move opens up some cool level design possibilities, plus I have always had fun stomping stuff in other games, but it also proves that I may actually be able to do something cool with Construct 2.

Of course, the other focus of this article will be about enemy AI. First thing I had to do was create an enemy, and what better enemy than an ant? Staying true to my character’s backstory, I added ant enemies because he likes to stomp insects for fun.

enemyai

I struggled for hours with enemy AI and was only able to achieve one of two desired effects at any given time. There would be times when I could stomp and defeat the enemy, while other times the enemy could only kill me, I could never get both to work smoothly. That’s when I did some research – this part wouldn’t be at all possible without this awesome, informative article – and programmed some basic moving ants that satisfy both of my desired conditions. One thing that I added on my own was a bouncing effect that you see in some platform games. This effect can be used to reach secrets, or maybe to cross large gaps.

There’s still a bunch to do like create animations for the boxes and enemies after they’ve been stomped, some kind of health system for the player, plus other juicy effects to make the game look, and feel more like an actual game. I wanted to show off some of the things I’ve been able to accomplish thus far, hence the reason for this article and video during this phase of the game.

Once again, my confidence has increased immensely and I can start to see the game taking shape in my mind. It won’t be the next Super Mario Bros., but it may prove to be entertaining once/if it’s ever finished.

Keep Reading

1. Blogging the Creation of a Video Game with No Knowledge

2. Genre Selection and Character Creation

3. Basic Player Movement

4. Adding Coins

Mail Bag

Ask questions in the comments below and they will be answered in the next article.

Creation of a Video Game with No Knowledge: Adding Coins

coinsscreen
Share Button

Before starting any other aspect of this game, I wanted to implement a collectible item. As you may have noticed, I’m taking things one step at a time, and I wonder if this is how real video game developers approach creating their game? Regardless, doing things one piece at a time makes things a little easier for me, plus whenever I’m successful, it’s like a +2 to confidence. So, what collectible item could I possibly add to this game?

If you guessed coins, then you would have guessed correctly. As a tribute to Super Mario Bros., I added coins as the main collectible for my character. Not only are they easier for me to draw, but also quite easy to animate. I wanted my coins to spin, and spin they do. Below, you can see the frames of animation I created for this spinning coin.

gamecoins

There are four frames of animation here that actually create a believable spinning coin. However, not pictured above is the gold coin that will also be in the game. I wanted both silver and gold coins for a little visual variety, but also to add that little extra something to the gameplay.

The plan is to place silver coins in safe, easy to reach areas with a very low effect on your score. Gold coins, however, will not only be more difficult to obtain, but also worth more. There’s a risk and reward effect that I’m going for here which I hope entices people to try for the highest score possible on each level. I haven’t implemented the scoring mechanic yet, but will do so fairly late in this process.

As of now, the main character can run, jump, and collect coins. Of course, coins have been programmed to destroy/disappear upon collision.

OK, that is all I wanted to say concerning this topic, but before I go, I’m leaving behind this little teaser screenshot. Enjoy!

coinsscreen

The game does not look this blurry, it’s just a side effect from a free image editor.

Keep Reading

1. Blogging the Creation of a Video Game with No Knowledge

2. Genre Selection and Character Creation

3. Basic Player Movement

Mail Bag

Leave behind your questions and I’ll answer them a little later this week.

Cheers

Creation of a Video Game with No Knowledge: Basic Player Movement

Share Button

Well, as you know, I’ve decided to try to create a sidescrolling platformer. I’ve created a character – one that I really adore – to star in this game, so now it’s time to get some basic movement down. First, I’ll start by saying that I won’t be giving a step-by-step guide on how to use Construct 2, but there may be some useful information in these next few articles for the most extreme beginners.

construct2_layoutsize

Click for a larger image

 

This is close to what you’ll see when you open a new project for the first time in Construct 2. This is called the layout, a screen that will be used to build your levels, title screen, credits, etc. Initially, when you open a new project, your layout size will be 1280×1024. This isn’t an ideal setting for my game – at least not for my test level – as I will not be building a vertical level. To keep things simple (and more organized) I immediately changed my layout size to 1280×480, a setting that will be fine for creating a small playground to test basic movement.

Also, take notice of the dotted line going down the middle, this line indicates the window size – this setting isn’t displayed in the above image. The window size will normally be the starting point for your game; its default setting is 640×480. I matched the height of my layout to the window’s height to keep things on a horizontal plane – increasing the height means you can create levels a la Super Mario Bros. 3. Of course, you may now realize that increasing the layout’s width will increase the size of your level. Now, let’s quickly create a playground for my character.

Keep in mind; I’m no technical master, so everything you read comes from the eyes of a beginner. These settings will likely change dependant on the platform for which you choose to develop games.

construct2_bg

First thing I chose to do was add a background on the first layer – Construct 2 Free Edition supports up to four layers. To add a background, right-click the layout, choose tiled background then click insert. When you do this, your mouse will turn into a set of crosshairs, click the layout and an image editor should open. I filled this in with a sky blue color to keep things simple. Now, you will get a light blue background that needs to be sized to fit your layout. In the properties bar on the right, I changed the size to match my layout size, and positioned it at 0,0. As you can see, this blue image now completely covers the layout. Next, let’s add some solid ground for my character to stand on.

construct2_solids

Like before, I’ll be utilizing the tiled background option for my solid ground. I created a tile ready image in Paint.net to make things easy – it’s just as simple as adding it by opening the image after the built-in editor appears. I sized them appropriately to create some platforms for my character to navigate. However, they aren’t solid yet. Every object in Construct 2 can be assigned behaviours, and we need to make this ground solid. This is simple; just click the object you want to work with and select behaviours from the properties bar. To make your ground solid, click the + sign and choose solid from the attributes. There are other options, but you don’t need any more right now. Now, let’s get that character on-screen.

construct2characterbehaviour

Of course, my character is ready to go, but first, I created a new layer which I called Main and locked what I am naming the BG layer. After doing that, I added my character by choosing to add a Sprite object. Once he’s added to the game, it’s time to assign some behaviour. For my character, I added the Platform and ScrollTo behaviours. Don’t confuse the Platform behaviour with the platforms in your game; instead, Platform behaviour is used to assign platforming abilities to your character, while Solid is used to make your platforms solid – a little odd at first, but not hard to understand. ScrollTo is used to center the camera on your character, without it, the screen will not follow your character. Also, I had to fix the collision polygon as it was a little funky. Construct 2 will automatically set it for you, but it’s not always the best match. I set it to a simple square to keep things easier for me in the long run. You can now preview the game and see how the character moves – the default controls are Left/Right keys to move, and Up to Jump.

There are still a few things left that I wanted to achieve early in this project. While I have no frames of animation ready for my character, I did prepare a jumping sprite, and want to make sure my character looks in the correct direction when he is walking. This is where you need to learn some of the software’s programming functions. Before learning about these functions, I added my jumping sprite as an animation frame of the main character.

construct2_basicmovementevents

I programmed everything I mentioned above in the event sheet that corresponds with the correct layout. While the default controls are assigned to your keyboard, I needed to add a keyboard object – which is conveniently available to the entire project – in order to make the keyboard event appear on the event sheet. To make it look like my character is jumping I clicked Add event and chose the keyboard event, then chose when the key was pressed down, and finally, made sure it happened when I hit the jump (Up arrow) key. After completing those steps I was able to add an action. The action that I want to occur is to display the jumping animation when my character jumps – this sprite is set to frame 1 for now.

Initially, I programmed the animation to end when my character landed, however, that posed a problem. My character would struggle to jump smoothly immediately upon landing. I could jump normally in a second or two, but it would inevitably become an issue during challenging platforming sections, and labeled as poor control. To fix this issue, I decided to reset the animation as the character was falling. Not only does this look a lot cooler, but my control issue was also remedied. Also, I programmed my character sprite to be mirrored upon moving left, and of course, I add to reverse this when the character started to move to the right. I have included a video below to showcase how the character currently moves.


One last thing before I close out today’s entry. Thanks to an article about implementing 2D platformer, I finally found an understanding for the acceleration/deceleration options available for tweaking the player character. These control how quickly your character begins moving, and how they stop. Lower values mean faster movement, otherwise known as “slippery.” Since my tiny character is piloting an enormous robot, I thought it would be appropriate to make the controls a little slippery, not unlike the NES Super Mario Bros. games.

Keep Reading

1. Blogging the Creation of a Video Game with No Knowledge

2. Genre Selection and Character Creation

4. Adding Coins

Mail Bag

Lee asks: Does [he] have a name? Are you going to give him one? I think his name should be Puddles.

My answer: He doesn’t have a name yet, but I will eventually give him one. Puddles is not a bad suggestion, I will file it away for now!

Ask me questions in the comments below and they’ll get answered in subsequent entries.

Creation of a Video Game with No Knowledge: Genre Selection and Character Creation

construct2
Share Button

Today, I embark on a quest to create a video game, but where does one start? I believe that a game begins with an idea and is built upon until a final product is ready. So, the first task that I am giving myself is to decide on a genre.

For anyone that has visited Mini Fortress, you’ll probably already know that platformers are some of my favourite video games, so to keep things familiar; I’m going to attempt to make a side-scrolling platformer. I want to keep things as basic as possible going forward, and I envision that sticking to the core mechanics of a platformer will keep me in line.

In saying that, my goal is to create a game where the goal is to get from Point A to Point B, a mostly linear experience. There will be jumping, pitfalls, moving platforms, spikes, enemies, collectibles, and some sort of level exit. It won’t get much more complex than what I’ve just described. Will there be one hit deaths, boss fights, and bonus areas? Those are all ideas I’m toying with, but nothing I’ve decided on as of yet. Now that I have a genre and some basic rules to follow, I want to create my main character next.

stompybot

A simple Bipedal Mech Created with Paint.net for this project.

Let me start by saying that I am definitely not an artist, but I will be trying to create all the art myself. One thing that I struggle with is drawing human characters; it’s something I’ve always been quite shit at actually. So, while trying to draw a humanoid sprite, I stumbled onto the bipedal mech you see above, one that I am quite happy with actually. However, I didn’t want an empty, soulless mech, instead, I wanted to add some personality. That’s why you see a little, pink, blob-like character sitting in the cockpit, but why is he sitting there? Well, to explain why this character is controlling a mech about four times his size, I came up with a little back-story.

This unnamed character is fond of jumping and stomping on things. Puddles, insects, and just about anything he can easily crush with his feet. One day, he stumbled upon a giant button and couldn’t resist stomping it into oblivion. After stomping the button, the land collapsed from underneath him and he fell on a circular saw that cut his legs clean off. Now, with no legs, it is impossible for him to enjoy his favourite pastime. He seeks out an inventor to create a bipedal mech capable of jumping and stomping, partly so he can continue stomping on everything in sight, but mostly to discover why such a devious button would even exist.

There you have it; I created a reason for the mech to exist and a motive – one that I’ll expand upon as the process continues – for completing the game.

Now that I’ve selected a genre and created a character, it’s time to make him walk and jump using the power of Construct 2. I’ll take you through that process in the next entry of this journey.

Keep Reading

1. Blogging the Creation of a Video Game with no Knowledge

3. Basic Player Movement

4. Adding Coins

Mail Bag

Leave your questions below and they will get answered in the next edition of this journey.

Blogging the Creation of a Video Game with No Knowledge

construct2
Share Button

A thought occurred to me today, I analyze video games multiple times a month and can tell the good from the bad, but I have no idea what it takes to create one. A common dream shared amongst many gamers is to one day make a video game. Some of these gamers go on to join the industry, or become independent game developers. Others, like me, continue to think about creating that dream video game, but do nothing to make that dream come true. Sure, some will tinker with Game Maker but give up after the failure to create something other than the included tutorial games. I am definitely part of that group. Passion would kick me in the ass, but reality would kick me even harder; I suck at a lot of the important things that it takes to create a video game, and that would be everything.

The allure of software like Game Maker is powerful. They tout that you need no experience to create video games and that all it takes is some crafty drag and drop, well, that isn’t entirely true. Yes, you can drag your masterful art onscreen, but then nothing happens. You still need to learn how to program what roles that art will play, and you do that by learning their “easy” to learn language. It isn’t easy by any means, and this is probably the point at which most people stop, me included.

I started thinking hard about what it means to me to be a gaming blogger – not to be confused with gaming journalist – and why I believe I have the right to be reviewing video games with utmost conviction. I am not part of the industry; I never learned how to be a journalist or even how to review video games. I’m just a regular dude with little skill that decided to start writing about video games.

Recently, I became interested in the indie video game development scene thanks to the stellar documentary, Indie Game: The Movie. There is a lot that goes into developing a video game, a lot of things that most people will never realize. I want to know more, but outside of interviewing video game developers, I will never truly know what it takes to make a video game. This is why I’m going to try my hand at video game creation, and hopefully end up with something that remotely resembles a video game.

I won’t be learning how to write code, but instead will learn to use a piece of software known as Construct 2. This may make me a laughing stock amongst the community, but I am not willing to embark on this journey any other way. For graphics, I will be using a combination of the included image editor and Paint.net. I will be reading manuals and completing Construct 2 tutorials as needed. I haven’t thought about sounds or the soundtrack yet, but may take a stab at creating music, though I can almost guarantee that I’ll use royalty free stuff. The big thing is that I’ll be using all free software. Most importantly, I will be blogging about the entire ordeal, whether or not a video game ever gets created.

I’m going in with zero knowledge of how to create a video game, but hope to interact with anybody willing to comment on the blogs. While my goal is to create something that plays from beginning to end, I am not guaranteeing a finished product, or a product of any particular quality. If something remotely playable gets created, I’ll find some way to let you sample my creation. Finishing with a complete product would be ideal, but this is more about understanding a small chunk of what the pros undertake when they go to work every day, and finding my place in the wonderful (and crowded) world of gaming blogs.

My plan is to blog a few times each month detailing my video game creation journey. From the main character, to the enemies, the backgrounds, music, items, and whatever else it takes to create my video game.

So, in the words of a famous plumber, here we go!

Keep Reading

2. Genre Selection and Character Creation

3. Basic Player Movement

4. Adding Coins

Mail Bag

I am encouraging you to comment below with questions. I will answer some of these questions on every blog that I write, starting with tomorrow’s Genre Selection and Character Creation entry if any questions are present.