Wednesday, March 22, 2017

How To Open A GMZ Files GameMaker: Studio

What is a .gmz file?

A gmz file is a compressed GameMaker project file, a game development application. It contains a project (.gmx file) that has been compressed for saving an entire project into one file for easy sending, storing or sharing that includes scripts, sprites, sounds, backgrounds, objects, fonts, shaders, constants, and rooms.

Double click the file open up a dialog box and when you use the GameMaker: Studio Software, it just open the welcome windows popup.

How to open a .gmz files?

From YoYo Games documentation, to open a .gmz file is from the file menu:

"Import: Imports a GameMaker: Studio *.gmz compressed file (which will then be saved as a standard *.gmx) game file. You can also select to import Legacy GameMaker files with the extensions gm81, gmk, gm6 or gb1...n files from here. These might not work correctly in this new version due to changes in GameMaker over the years, and as such it is recommended that you check out the YoYo Knowledge Base to see what's changed between versions before deciding to import legacy files. There is also a tool-bar button for this command and you can even open a game by dragging the file into the actual GameMaker: Studio window."

Or, just go to the import tab when you open the GameMaker: Studio software, browse to the .gmz file, choose a project directory and a project name and then click import.

How to create a .gmz file?

Again, from YoYo Games documentation, is from the file menu, export.

"Export Project: Exports your project as a compressed GameMaker file with the format *.gmz. These project files contain all the information relevant to your current project (including resources, extensions, game information etc...) which can then be imported again into GameMaker: Studio as a complete project in the future. This is very useful for transferring a project over a network as well as for storing shelved projects or backup copies of a current project."



Thursday, March 16, 2017

Gamemaker Studio 2 Steam Version

Gamemaker Studio 2 is available on Steam.
http://store.steampowered.com/news/28021/?snr=1_550_552
Thats a good news. But theres another. Steam prices is cheaper in some region and  generally it is auto-adjusted by Steam to reflect average "buying power" in the region. You can check the prices comparison here at https://steamdb.info/app/585410/

And theres another one! The upgrade paths option is also available through Steam. You just need to acquire the steam key of your Gamemaker: Studio 1 from your yoyogames account.


This is the prices from yoyogames websites.

As for example, the mobile prices is $399.99 for buying the software and become $239.99 if you have the android/ios module from your previous GMS1. 

But, here in my country, the prices is $179 through Steam and become $109 if i follow the upgrade path. 
And don't forget, the special promotion offer ends at April 9th 2017.

Well, i got my GMS2 for $59.99 while it sales $26.96 at Steam 😁 just because the "don't have any plans to release GameMaker Studio 2 on Steam at this time" announcements. 

I don't regret it but i envy you.
Goodluck with your game!

Tuesday, March 7, 2017

Shooting Projectiles

Shooting projectiles! thats a progress.

Creating a shooting projectiles is a big step. This projectiles will add an action style into the platformer. 

Lets see what wikipedia think about an action genre :

The action genre includes any game where the player overcomes challenges by physical means such as precise aim and quick response times. Action games can sometimes incorporate other challenges such as races, puzzles, or collecting objects, but they are not central to the genre. Players may also encounter tactical and exploration challenges, but these games first-and-foremost require high reaction speed and good hand–eye coordination. The player is often under time pressure, and there is not enough time for complex strategic planning. In general, faster action games are more challenging. Action games may sometimes involve puzzle solving, but they are usually quite simple because the player is under immense time pressure.

And i think, a character that shoots is lessen the cuteness of the character itself. 

A dagger? bullets? magic?  ....and my choice fall into..
Fireflies!. its magic and its cute 😊

A firefly spritesheet, and a shooting effect. Done!
Sound Effect? 😕

Enemies? Bosses? 😅

I still want to add some role play element into the game, but i don't have any idea yet.

Well, see ya next time!


Friday, March 3, 2017

Cave Tileset and The First Obstacle

Last week has been a very busy week. There's so many assignment i barely touch the development of the game. 

And today i finished, ....err, half-finished a cave tileset for another level of my platformer-wannabe.

lets take a peek

Here it is. just plain walls and floors. No decorations. No terrains. Just empty.








I also added a hurt state, some recovery time that no enemy can hurt the player and a first obstacle. The great spike 😂

So, what do you think?

Tuesday, February 21, 2017

Grass Animation

Wikipedia says :

Platform game (or platformer) is a video game which involves guiding an avatar to jump between suspended platforms and/or over obstacles to advance the game. The player controls the jumps to avoid letting the avatar fall from platforms or miss necessary jumps. The most common unifying element of games of this genre is the jump button, but now there are other alternative like swiping in touchscreen. Jumping, in this genre, may include swinging from extendable arms, or bouncing from springboards or trampolines. These mechanics, even in the context of other genres, are commonly called platforming, a verbification of platform.

From over the internet, feedback -they said- is one factor that make a platformer, or maybe any game feels good. It is how the character actually interacts with the environment. The dust animation is one thing. With this little effect, it makes a lot of different how the game look and feel. The game is more "visually polished" and pleasing to play.

Dust effect.









This time i try to make the grass, or flower maybe, or any kind of cosmetics decorations animated when the player is interact with it. I follow a tutorial from https://zackbellgames.com/ using a sprite skewing and triangle strip to make the grass wiggle.

And the result is
The flower will move a bit when the player interacted with them.

And, with some layering setup, i got some depth effect bonus as the result. 

Thursday, February 16, 2017

Creating a Tileset Attempt

Creating a tileset is not as-fun-as creating the first tile. 😕

I've been trying to make a nice tileset on and off on my sparetime between my real-life activity. A thousand attempts 😁 of create new, not-so-good-result and erase file is what i am doing for a while.


Sometimes it makes me lose my interest and motivation but here it is, temporary result of tileset.

Tuesday, February 7, 2017

GameMaker Studio 2 Simple Parallax Background

Many tutorials of Game Maker Language parallax background over the internet is using view_xview() and view_yview() function. Unfortunately, this function is deprecated in GameMaker Studio 2. 😕

While searching for the rightway to do the parallax background, the very basic view_current example script from the gamemaker documentation give a nice parallax effect too. 


Solid color background :
So, here is the description from view_current syntax :

Description

This read only variable is only valid in the Draw Event and returns the current view port being rendered. The return value will change during the draw event when you have various views as the draw event is called once for each view port in succession. So when (for example) you are using view port[0] and view port[1] in your game room, the draw event for ALL instances will be run twice, once for each port, and with this variable you can check to see what view is currently being drawn. In general, this is used to only render specific details to a single port when multiple view ports are visible in the room at the same time. See the example code below.

Syntax:
view_current;

Returns:
Real (view port index from 0 to 7)

Example:
if view_current == 0
   {
   var xx = camera_get_view_x(view_camera[0]);
   var yy = camera_get_view_y(view_camera[0]);
   draw_text(xx + 32, yy + 32, "Player 1");
   }
else
   {
   var xx = camera_get_view_x(view_camera[1]);
   var yy = camera_get_view_y(view_camera[1]);
   draw_text(xx + 32, yy + 32, "Player 2");
   }

The above code checks to see which view is currently being drawn and then draws a different text to each view based on the return value.

How to implement it?

Simply create an object and create an instance layer. Put the layer behind other layer and put the object there.

On the object draw event :


if view_current == 0
   {
   var xx = camera_get_view_x(view_camera[0]);
   var yy = camera_get_view_y(view_camera[0]);
   draw_sprite_tiled(sprBackground,0,xx/2,yy);
   }



And thats it. A nice one-layer parallax background. 
Please comment for the rightway to do it. Hey, i'm a newbie anyway. 😁