View Sidebar
 

Post Tagged with: Programming

Switching Over: Corona to Gamemaker

Switching Over: Corona to Gamemaker

Vlambeer’s ‘Nuclear Throne’

Lately I’ve been watching Vlambeer livestream development of their lastest title ‘Nuclear Throne‘, a top down roguelike shooter. I also bought the steam early access version of the game and have watched the game evolve through its weekly updates.

One thing I noticed while watching the livestreams was the speed and ease that JW is able to update the game and add new content. He is using ‘GameMaker’ for the development and has done so for all of his games aside from a few flash ones.

I’d also heard that Cactus, the game

developer behind ‘Hotline Miami‘ also uses ‘GameMaker’ exclusively. Cactus is well known for pushing the envelope when it comes to striking and unusual visual styles and content in his games.

Dennaton Game’s ‘Hotline Miami’

I was pretty dedicated to using Corona as I had invested so much time learning it but I thought I’d download the GameMaker demo just to have a play. GameMaker is known for the ability to create a real game in a matter of hours and Corona for me had started to become a bit of an uphill battle as the bigger the game got, the more and more code there was. Often I would just find myself staring at code for ten minutes and then realize I’d forgotten what I was trying to do.

So I downloaded GameMaker and did a few of the tutorials. I was pleasantly surprised to find that the coding in GameMaker is not too dissimilar to the Lua coding in Corona. Also the ability to know play my game with the keyboard and mouse rather than the painful process

in Corona of having to load up the simulator and then open Corona Remote on my Iphone in order to control the game. I could also now play my game in full screen! Corona only allows you to test you apps in set resolutions according to the device you are targeting.

In the past I’ve heard a lot of negativity toward GameMaker. People seem to not consider it a ‘serious’ IDE. I think the name ‘GameMaker’ doesn’t help toward this impression. But for me as an artist and not a hardcore C++ programmer that isn’t satisfied with making a game unless they built the engine from scratch, it seems perfect. The ability to build a game with code but at the same time have a GUI to keep my brain from freezing from code overload is incredible when my only other experience is using basically a text editor and a compiler.

Other awesome features of GameMaker that Corona doesn’t have include:- A built in map editor
- A sprite editor
- An image editor for quickly chucking in test art
- A code editor
- A drag and drop interface for doing trivial tasks

And heaps more!

With GameMaker you can liter

ally make a

game in hours. But the best thing for me about GameMaker is the ability to experiment quickly, be it gameplay, levels, feel or visual effects, playing around is EASY.

Here are my two favourite GameMaker games:

GameMaker: Studio is available here: Yoyo Games

 

23 November, 20130 commentsRead More
Updates on Corona Game Design

Updates on Corona Game Design

concepts

If you read one of my previous posts you will remember me talking about a small game I wanted to release before I get into Mystic Assassin, which along with Czepta I would class as a more ‘serious’ game (in terms of me trying to actually make a cool and interesting game as opposed to just getting a game finished). The small game is actually coming along quite well and has become a cool casual game that is semi-original.

I will post some images sometime soon but for now I can reveal that it is called “Shark Slam” and has the vibe of a 16bit sega game with an 80s hip hop/basketball aesthetic and is set in a world of cartoon shark characters (eg Sonic but with sharks instead of hedgehogs.) The gameplay is a cross between ‘Super Crate Box’ (which I’m addicted to..) and ‘Capture the Flag’. You play as a Shark Slam team that is trying to make a come up from the obscurity of their local tournament to the Grand Slam.

The game is pretty basic so has been easy to code. I’m confident that by the time I finish this up I’ll have the skills to get back to Mystic Assassin and attempt to make it something decent. And then after Mystic Assassin my skills should be sufficient to get onto my big episodic game ‘Czepta’.

I may have a great new game mechanic for Mystic Assassin that I hope to prototype at a later date. The ‘Endless Runner’ game is no longer something I’m interested in doing nor just a standard platformer. I’ve learned so much about game design this year and especially recently as my study moves past the basics and into more in depth learning.

12 November, 20130 commentsRead More
Learning game programming in Corona SDK

Learning game programming in Corona SDK

Been a while since my last post so thought I’d give a quick update. Since deciding to make a game earlier this year I’ve learned a tonne. Its crazy that at that time I new absolutely nothing about creating games other than that it was probably difficult. Its been a lot more difficult than I realised from the outset but I think running into it with some naivety was good as it allowed me to just dive in thinking it wouldn’t be too hard to get something going.

My original plan to make Mystic Assassin was to create a simple game before moving on to make a Czepta game. However as I worked on it, Mystic Assassin became a cooler concept than a simple endless runner game could justify. Mystic Assassin will still use the code I’ve been working on but it will probably be a plat former instead meaning you will be able to move the character any direction you want instead of auto-running to the right.

Since Mystic Assassin will have expanded features from the basic code I’m writing now, I’m planning to release a smaller game first. It will be just a straight up endless runner/shooter. My aim is to finish a bad game so that I can learn and get the experience of taking a finished game to the App Store. The game has to be bad so that I won’t get caught up spending a lot of time trying to make it good. The goal here is not to make an original or interesting game but simply to have a game finished in the shortest time possible.

Once this game is release I’ll be able to use that code and build into it the more advanced and playable features for Mystic Assassin as the basic template will be complete. That’s one great thing about games vs comics – the ability to reuse all of your assets across multiple games. I’m thinking that the smartest way for me to approach game development is to build and expand upon a single game template that will allow me to tell all of my Czepta stories. Then once the code base is complete it will just be a matter of adding new features with each episode and creating new content rather than having to code a whole new game from scratch every time. Because what I really want out of game development is the chance to tell my stories in a visceral and interactive manner with complete control and self sufficiency.

I’ll share the details of my ‘bad’ game in the coming weeks. It will be bad but hopefully some dumb fun.

1 October, 20130 comments
Prepping for some temp sprite animation

Prepping for some temp sprite animation

I’m gonna be using Spline for the animation in Mystic Assassin. This has many benefits over framed animation such as being able to animate programatically, ability to reuse animations across characters and modify character’s weapons and outfits etc among other things. So here is step one: draw a character and break him to pieces. This will just be a temporary animation so I’ll just be using basic pieces for now. Later on I’ll be adding some frame based pieces to make the cloth flow with his movement etc.

mysticAssassinSprite

 

Stay tuned for the animation preview!

14 September, 20131 comment
Physics Editor + Corona

Physics Editor + Corona

Got to spend a decent bit of time working on the game the last couple of days. I decided to refactor the code and put it into a new file. I’ve now implemented it inside an API called ‘storyboard’ which handles having different scenes in an app (eg. a menu screen, game over screen, game screen etc). The code had gotten a bit messy from working on it so I went through and condensed duplicated stuff into functions and cleared out old variables and other stuff that had become redundant.

So now the game is in a nice clean new form now I’ve been trying to nail down the controls. Adding the sliding ability of the player has proved to be a headache. There are so many different scenarios I need to account for during collisions with various things and how that affects whatever action the player is doing at the time. Also to enable sliding using the physics engine I broke the player object into about 5 different physics bodies. The physics engine is a bit buggy and often the player physics bodies will sink into other bodies such as walls etc which can mess the logic that needs to be performed. Also I’ve found that when the platform objects sink into the player object sometimes the player will get caught on one of his other physics bodies so will get stuck on the corner of the platform. I’ll have to keep working the controls to get them nice and polished.

Also decided on how I’ll create the levels. I’ll be using a combo of PhysicsEditor and Photoshop. This way I can draw out the collision detection in a basic transparent png and then map those physics properties on to a more detailed jpg or png art file. Here’s an example:

Untitled-1

This would be the collision detection. I just import this into PhysicsEditor, click ‘Trace’ and it’s done. Now I can make any kind of level section I can imagine. I’m hoping to have interior and exterior segments to add some variety.

Until next time!

 

30 July, 20130 comments
Corona Level Editors

Corona Level Editors

I decided I should get some temporary level sections implemented so I can make sure the whole system is running smoothly before I start adding content. So I went and had a look at what my options were for creating the levels.

My first option is to just code the placement of the level assets manually. This however is extremely tedious and feels like there must be a better way. So I went looking.

LH128The first tool I looked into was LevelHelper. At first this tool seemed to be exactly what I was looking for, however it wasn’t until I’d spent most of the day learning to use it that I found out it is not really useful for an endless runner game. This creates a level that is dependant on the LevelHelper API and creates an encapsulated level that you can’t fully access as well as you could if you coded it. So making sections that spawn randomly and then move is difficult if not impossible with this tool. If however I was making a game with defined levels then this tool would be great.

The guy that made this has also made a couple of other great apps including CodeHelper (which I’m currently using) and SpriteHelper. Both of these support Corona and are useful in your toolset.

Check LevelHelper out here: http://www.gamedevhelper.com/levelhelper/

tiled-icon-128The next level tool I tried was called Tiled. This is a great app and really fun to use. The problem I found with Tiled was similar to above. It can export the level to either a JSON or LUA file but then you need a third party add on to bring that into Corona. Again there are just too many hoops to jump through that make coding the game more difficult especially if there are things being utilised that are not under my control. Maybe there is a way to use this in the way I would like but I’m not experienced enough to know how.

Again tiled is great if you want to make predefined levels rather than a procedural one.
You can find Tiled here: http://www.mapeditor.org/index.html

The only other one I’ve found so far is by Karnak Games: http://karnakgames.com/wp/corona-svg-level-builder/ however this one costs US$99 and has no demo that I know of to check if it will be useful. From what I’ve read it again does the same thing as above and prevents you from full access.

If CoronaLabs would get their level editor out at some point it would be great:

What I really need is an editor that just allows me to freely place my assets and then spits out a Lua table that contains the asset parameters that I can then do with what I want. Perhaps in the future when I have learned more programming this will be something easy to achieve. Until then however I’ll keep my eyes out for other options and just continue using a mixture of photoshop and code to make the levels.

If anyone else knows of some good options let me know!

25 July, 20134 comments
Gnostic Notes

Gnostic Notes

Photo on 21-07-13 at 10.51 PM

The last few days I’ve been busy with work and other various things. I’ve been going to a Gnostic introductory course for about the last two months and it has been a great source of ideas and knowledge. A lot of the concepts for Mystic Assassin are being directly inspired by what I’ve been learning there. Once I’ve learned a bit more I’ll give some insight into the basic concepts of the Gnostic esoteric tradition.

Today I managed to iron out a few more game design things in my notebook and the game is starting to crystallise in my mind. I now have a better idea of what I need to code and create art for. I’m aiming for this to be a free to play game with in app purchases and will probably do a survey/facebook poll to see what kinds of things people would be most interested in purchasing in the game. I’m thinking of having a form of crafting from items you collect in the astral plane so I will probably have a paid option for purchasing those items also.

Until next time!

Peace!

21 July, 20130 comments