Friday, October 10, 2014

Game Development Workshop

Learning to Make a Video Game in 1 Day

Students using Corona SDK and SublimeText 2
Three weeks ago I received the privilege of teaching a workshop at York County Library from 10 am to 3:30 pm. Ten students were present (most can be seen in the pictures), and all ten were able to program their first "game" without any prior programming knowledge.

This Stuff Isn't Easy

The concepts taught to the students are ones which professionals are using today. I was blown away by how fast some of them picked up on them. The first lesson I gave taught students to teach themselves. I find this to be the most important part of the whole seminar. Utilizing online tutorials and free software will allow a few of the students here to go home and take
it another step further.

Corona SDK

I wanted to show the students a development environment which was both easy to learn and professional. Corona SDK was the perfect choice. The engineers behind Corona used LUA as the primary language to drive the system. LUA uses an English-like syntax to program, using words like "if", "then" and "end" as opposed to curly braces seen in Java or C++. This makes LUA a great place for students to start programming if they have never seen it before.

Corona's choice of LUA was also powerful in that professionals use LUA today all across the industry. From AAA games to computer programs, LUA is present and being used by professionals all the time.

Sublime Text 2

This is by far my favorite text editor. I saved using this program until the students finished making their first lab project. After making a project in Notepad, the students were thrilled to see how much easier it was to work with a great text editor.



The Setup

The program was designed to allow students the ability to get their feet wet with computer code and to hopefully spark something within them. I paired up those with strong computer skills with those who could barely turn the computer on to minimize problems. Before the day of the program, I had also sent out an email to those who registered with instructions on installing Corona SDK and Sublime Text 2 for students bringing their own laptops.

Setup before start of workshop

Final Product

Before lunchtime our students had their first app complete. It consisted of a background, character and text. When tapping the character, your score would increase and the background would change color. The students easily caught on to just about every concept I threw at them. From centering the background, to rotating text and to even understanding how the "tap listener" would only run when the object was tapped on.


Final Result Before Lunch 
Final Result After Lunch
I would like to show you what the final product looked like, but the truth is, every student had a different looking project. I encouraged those who finished early to put their own personal touches in them. Some changed the text to say "points", and some changed the rate at which the score increase. I presented the best students with a challenge of changing the background and the character, and without much guidance downloaded an image from Google and inserted it in.

Because we went so quickly through the first lesson, after lunch I resorted to make "backup" lesson, where we learned how to make a menu screen. The students could easily understand now how text, images and even buttons could be placed on the screen, but they had no idea how to change between scenes.

Using the Composer API


In previous versions of Corona, to create different scenes you would load in the storyboard API, add everything to a group, and then use function calls to which between scenes. The development team at Corona has completely redone this API and created composer. I came across two major problems when trying to teach the composer API to students.

1. Students don't care. They want to see a game, not a menu screen. From my past experiences in game development, menus are typically the last thing you want to do. It is far more fun to create animated characters than to create a visually appealing screen to start the game. While teaching the composer API may be helpful to students, I had limited time and needed to find something which would motivate them instead.

2. The composer API only works if you know exactly what you are doing. I remember when using the similar storyboard API a few years ago. The documentation for the API is great, but you have to first have an understanding of Corona's workings to read the documentation correctly. Ultimately, I ended up copying and pasting the example code and playing with it for a few hours before I got a handle on it. But I did not have that much time to show students how to play with the example code, and they did not understand enough about Corona to care.

Ultimately, we got it working, but in the process lost about three students who then had to look over the shoulder of others. We were nearing six hours of programming, and the last thing they wanted to do was to make a menu screen. I'm not saying I should have avoided teaching this topic, I just wish it was slightly easier to explain it. The composer API did benefit a few kids, however, as the ones who finished it demonstrate a strong understanding of these new concepts.

A Great Day


I am so privileged to have taught these students. All came in with little to no programming knowledge, but now they have a taste of what it's like. Programming teaches you how to think, how to solve problems, and many students learned that today. Hopefully down the road when these students are older, they can look back at these lessons and have a general feel for how to get started if they have an interest.











Friday, August 1, 2014

Super Smash Clash Release for Google Play

Released for Google Play Store


I apologize for not posting in forever, but I have been so busy with this project I never had time to update you guys. Here's what's coming this Sunday.

Official Trailer
Before you move on, watch this quick video highlighting the final release of Super Smash Clash.


Anyone else feeling pumped yet?

Five Characters
That's right! There's not just two like before, but five!

You start out with Flare (in the upper left corner), and work your way to unlock all five. Each of these characters are completely unique, so make sure you try all of them to find your favorite.

Classic Mode
The first game mode you have is classic. In this mode, you play through 9 levels trying to get the fastest time possible. There's easy, medium and hard mode (I wouldn't recommend hard mode without having tried the others first). You can submit your time to a leaderboard and compete for the top spot in the world.



Event Match
Unlock this mode by beating level 2 in classic as Dr. Puffs (the penguin). There's 60 levels to play here, and some I wouldn't recommend for the fainthearted. Unlock 12 levels per character of varying difficulty. By doing well in these you can also unlock exclusive content such as stages, multiplayer, and more characters.


Free Play Mode
When you just want to have a good smashing time, go to free play. Unlock free play by beating any difficulty in classic.

Multiplayer
That's right, multiplayer made it into the final release! You must be connected to the same WiFi network to play with your friend. Only 1v1 matches are supported and this is still experimental.

Moving Stages
The last stage you unlock is a scrolling stage. Beat all of Mr. Randoms' event match levels to unlock it.

Official Website
Check it out at www.smashclashapp.com


Those are all of the content updates. If you want to see a list of all the main technical updates...well here it is.
 - Slow down walking animation
 - Jump higher
 - 3 new characters
 - Drastically increased acceleration speed when the character starts running
 - Characters won't be able to move/sliding while doing an attack
 - Jumps be less floaty
 - Make fighters have weight, ie whenever they run into each other, they should stop moving forward, or at least slow down
 - Shorten Penguin's landing animation
 - Attack boost item
 - Missile
 - Speed boost item
 - Jump increase item
 - Size increase/decrease item
 - Fix the background when you select a character
 - Animation for hanging looked glitchy
 - Fade black area on dungeon stage
 - A.I. sometimes get stuck at the side of the stage.
 - Charging attacks in air causes you to float
 - Fixing glitch where sometimes Mr. Puffs launches in the opposite direction from where he's facing when using his side special move (launches out like a rocket)
 - Falling through stage glitch
 - Fixing glitch where certain times the CPU will be stuck in a jump frame even when they are on the ground
 - Improved multiplayer on the same device
 - Allow to choose dpad or joystick
 - Fixing how certain attacks feel "spammy"
 - More game modes
 - Longer timer
 - Controller UI revamp
 - Allows the player to assign the button position
 - More stages
 - Certain things are unlockable
- easy, medium, and hard classic mode
- different colors for characters
- new character select screen
- new stage select screen
- stats screen
- new font
- lefty mode
- sound controls
- sound effects for all characters
- music for all stages
- many glitch fixes
- things have to be unlocked
- several new menus screens
- connect to google play games service or GPGS

DOWNLOAD SUPER SMASH CLASH AT THE GOOGLE PLAY STORE THIS SUNDAY

SMASH CLASH

Like us on Facebook
Follow us on Twitter
Email us at impactgamesstudio [at] gmail.com

Friday, May 30, 2014

Super Smash Clash 0.4 Beta

It's finally here! I'm expanding the beta size to 400, so go get testing over at the downloads page. You won't be disappointed.

iOS

All my free time is now being dedicated to making a Smash Clash port to iOS. This shouldn't be a problem as Corona SDK allows for me to easily compile to iOS. I just need to sign up as an Apple developer and set up an account at TestFlight.

Physics Changes

From little things like the amount of delay between attacks, to more major things like allowing players to control the direction they fly in when they are hit, the physics in 0.4 has changed the way Smash Clash feels for the better.

Here's a list of the major changes

  • Directional influence (when you're hit, you can change the direction in which you "fly")
  • Gravity has been slightly tweaked
  • Freeze frames added in (when an attack is landed, it causes the animation to freeze for a split second)

Multiplayer

Due to latency, online multiplayer has been removed. Depending on how successful the final product is, Smash Clash may have the funds to have it's own serves built to support this functionality.

Local WiFi Matches

While we are all sad to see the online multiplayer leave, we can now all enjoy the development of local WiFi matches. This is where you and a friend who are connected to the same network, battle each other on separate devices. 0.4 has an early version of this functionality, and mostly everything should be synced up. Bare in mind that this will improve, but in the meantime try it out with a friend and tell me how it works.

New Character

I'm excited to announce the appearance of the nobody other than our cute penguin friend. Still yet to be named, this little guy is fully programmed and ready to fight. (Although, expect touch ups throughout the next few months).


Here's a quick breakdown of some main attacks.

Ice Master:
How to perform: Down + B

The attack traps your opponent momentarily in the ice vortex, and the throws them downwards to the side. It can be used when you feel trapped by multiple enemies, but be careful, if you miss, you are left vulnerable for attack!

Headbutt:
How to perform: Up + A

This is a very powerful which sends your opponent skyward. Although the attack does minimal damage, you can use this to set up for combos or even KO your opponent off the top of the screen. If fully charged, an opponent will find themselves very high up.

Head over to the downloads page to test out all eight attacks!


More particles, smarter particles

I increased the amount of particles, and added new types of particles. The game stabilizes the framerate by fluctuating the amount of particle effects as needed.

Bug fixes

Why are you reading about bug fixes...seriously. Most are gone now, let's just forget about them.

Last but not least...

Quick list of updates
 - Flare's fireballs move faster and are bigger
 - New character added
 - Brown character removed
 - Declares winner in an animated way
 - Character hitboxes improved
 - Better particles
 - new stage
 - New main menu
 - Charge attacks
 - Ledge detection improved
 - Online mode removed due to latency
 - Local WiFi battles in early development
 - iOS support (through Test Flight)
 - Improved character movement
 - Scoring glitch fixed where you sometimes where not given a point for a kill
 - Flare's side A nerfed
 - Flare's neutral A attack animation fixed
 - Flare's flinch animation improved
 - Game camera improved
 - Practice mode
 - Sound effects in the working
 - New menu music
 - Game stabilizes better at low FPS
 - Bug fixes
 - More updates to be posted

If you can't download it, go ahead an watch the promo video!




SMASH CLASH

Like us on Facebook
Follow us on Twitter
Email us at impactgamesstudio [at] gmail.com


Tuesday, May 20, 2014

Problems with too many buttons on touch screen

What I had intended

When I first started development on Smash Clash, I originally only wanted two buttons and a joystick. The two buttons would be to "jump" and "attack". Since then, we have split the attack action into two buttons "a" and "b".

Intended controls scheme

Current controls scheme

While 3 buttons has complicated the controls on mobile devices, the problem is now becoming even my challenging, as I begin to add in a shield. This would make for a total of four touch screen buttons.

The problem...

Too many buttons + not precise screen = user frustration. If there are four virtual buttons on your phone, chances are, you probably aren't going to always hit the ones you were aiming for. This gives you the feeling that the GAME made you lose, not that YOU made you lose. This is an essential part of game development. Make sure each failure is attributed to the player, not the game. This makes the player feel like they need to play better, not that they need a new game.

Solutions

  • Remove shield entirely
  • Remove one of the attack buttons and case certain attacks to be performed in the air and certain attacks to be performed on the ground
  • Remove the jump button and swipe upward to jump
  • Remove the jump button and tap up on joystick to jump
  • Make all four buttons and just deal with it
I'm working on finding a creative way to solve this problem. If anyone has an idea email me please at impactgamesstudio [at] gmail.com (replace [a] with @ of course).


SMASH CLASH

Like us on Facebook
Follow us on Twitter
Email us at impactgamesstudio [at] gmail.com

Thursday, February 20, 2014

A Few Thoughts

Despite going through the college process and fighting senioritis, Smash Clash is still going strong in development. The next alpha test, version 0.3.2, is being aimed for completion in mid-March. Unlike previous updates, this time around I am focusing on the game's content rather than the physics. Because of this, expect to find more bugs as I will be trying new things (such as moving stages, new characters, new game modes).

I took a lot of time to figure this out, but the game is now to the point where we can have interactive stages. The new version will have two unlockable stages, one which is a side-scrolling one. I am also having a new character added into the mix along with removing the gross brown one (nobody liked him). The menu screens are being redone by an amazing artist who wishes to remain anonymous. The game will also have so more depth to it as charge attacks are being added in. Last but not least is singleplayer mode. Hopefully by the time of the release we will have our first level in the game so you can try it out!

SMASH CLASH

Like us on Facebook
Follow us on Twitter
Email us at impactgamesstudio [at] gmail.com

Thursday, January 23, 2014

Smash Clash 0.3.1.0 Update


It's finally here!!! This update focus on the mechanics, speed, menus and stability of the game. So don't expect more content from it. In my last post I put out some things to look for in the update, but here's a list of everything which was changed in depth.


Scoring
  One of the main problems in the last version was that there was no way of telling who was winning and who was losing. Now there's a nice quick way to see how you're stacking up against your opponents. Gain one point for a kill, and lose one for a death.

Winner is declared
  May seem like a small thing, but this actually makes the game seem more like a well...um..game. You can actually see if you won afterwards.

Quick fall (jam joystick down)
  This subtle change in physics has improve the gameplay drastically. It keeps players closer to the ground, and adds more depth to the game as you have more options while not on the ground.

More particles
  I doubled the particles, and added more in new areas. The result is a simply beautiful effect.

Bigger Hitboxes
Hitboxes are bigger now due to difficulty of controlling a character on a mobile device. This may or may not be a permanent change, please email me if you have feedback about this.

Download Size
  Download size was SIGNIFICANTLY reduced by using image compressing techniques.

Beautiful title screen
  Enough said. Just install the game and look at it when it's animated.

Two player local mode (early version, mostly for tablets)
  By this, I mean that there are two sets of controls on one screen. So you can play your friend on the same device! It's really early in development, so don't expect much...yet!

Online mode (early version)
  This is going to be an amazing part of the game. It does not work very well yet, but it does work!

Upgrade to Corona's graphics 2.0 engine
  This was the longest part of developing this version. Nearly half of the code had to be redone in order to support Corona's new APIs, and it was well worth it. The game runs so much faster even with twice the amount of rendering! This has reduced lag, increased the game's ability to display more particles, run better on slower devices and so much more!

Menus
  The menus are currently in the process of a complete makeover. The title screen looks awesome, but the rest of the menus are still in the old, gross version. Hopefully by the next update all of the menu screens will be redone, but meanwhile, you'll just have to work with the old ones. Also I've added the singleplayer screen where you can choose from various levels to earn stars from. It doesn't work yet, but it's there and some parts work.

Bug fixes
  Ledge glitch fixed. Some people reported that backing up into a ledge caused the character to stand while floating in the air. This has been fixed and you can now grab the ledge while facing away from it. Please email me if you see this glitch come up again.
  Up smash glitch fixed. The red character (we think we might call him Flare), used to always be propelled to the right during his up+b attack. This has been fixed.
  Spawn glitch fixed. Sometimes a character would spawn and be rendered useless and not able to move. This one took forever to fix.
  Jump button position fix. It's now on the top.

Updates will be delivered over Google Play within the next few days. Happy testing :D

SMASH CLASH

Like us on Facebook
Follow us on Twitter
Email us at impactgamesstudio [at] gmail.com

Monday, January 13, 2014

Some New Thoughts

It's been awhile since I've posted, so here's a quick status on how Smash Clash's development is going.

Graphics 2.0
One of the major things which will be changed in 0.3.1 alpha is that I'm converting the entire game to support the newest version of Corona SDK. This will allow me to take advantage of their new graphics 2.0 engine which includes water effects, better transitions, 2.5D effects and just an overall faster performance with the game. With these abilities, you can expect to see more particle effects in the future (yay particles) and a higher frame rate if you're using an older device.

Local Multiplayer
This allows two players to play on one device. This game mode will be primarily used for tablets due to screen size, but for now I'm going to keep it in the phone version to let testers tell me what they think. There're currently some issues which I'm working on resolving, such as the act pushing down a buttons, causes the other player's buttons to be released! But keep in mind these kinks will be smoothed out as development progresses.

Online Multiplayer
Here we go! This is a main component of Smash Clash, and what many have been waiting for! A few weeks ago I got the first version of online to work on the Samsung S3 and Note 2. Both were connected to 4G in the mall and had no problem maintaining a stable connection and sending and receiving data. The current problem I'm facing with online is predictive code. If you're familiar with the mechanics of online multiplayer, you'll know that all games you play which have an "real time" online mode, are pretty much just creating an illusion of real time. No matter how fast your internet speed is, there'll always be some lag, and that lag has to be compensated for. The trick is to smooth out the game by predicting where your opponent is so it doesn't appear to lag.

Gameplay Changes
Ledges can now be grabbed if you're not facing it, and while many don't like this ability, it's necessary because of the difficulty in moving a player on a phone.

At the end of the game, a pop up appears declaring the winner.

The score is kept track of in the HUD. You lose a point for dying, and gain one for killing. Simple enough.

I'm hoping to finish the code to make a "fast fall" possible. You'd simply slam the joy stick down while in mid air to fall more quickly. Haven't implemented this yet, but you can expect it in the update.

Clash attacks will hopefully be finished at the time of the update. This allows characters to charge an attack by double tapping an attack button. If you fully charge an attack, well...let's just say you're opponent won't be happy.

Menus
Singleplayer mode has the addiction of an "Event Match" mode. It has levels similar to those of Angry Birds, where there's rows of levels that you try to receive three stars in each. Next update will not allow the testers to try the levels, but they can preview the menu for selecting them.

Stages
There may or may not be another stage added...depends how much time I got. The art for a dungeon level is finished, I just need to code it. Oh, and we have awesome music for it :D

Big Fixes
Yeah. Not much here. You probably won't notice any of these being fixed. That's the sad part of being a developer.

SMASH CLASH

Like us on Facebook
Follow us on Twitter
Email us at impactgamesstudio [at] gmail.com