Jump to content

  • Log In with Google      Sign In   
  • Create Account

Search Results

There were 561 results tagged with game

Sort by                Order  
  1. Simple & Quick Text Dialogue System [Game Maker: Studio]

    Introduction</h1>

    This brief tutorial will guide you through the steps required to create a simple text dialogue system in Game Maker: Studio.

    At the end of this tutorial our desired text will appear when the player reaches the defined trigger positions. The text will scroll upwards until it disappears. I have used this effect in a game I developed for Ludum Dare 36.

    Let's start!</h1>

    Here we have a simple animation that demonstrates for demonstrating the effect. In this example the player is moved using the mouse.

    text1.gif

    In this example we have a player object, a block object, and a text base object which is the gray bar you see on the top of the screen - this is where our text will be drawn!

    Step 1</h1>

    Let's create the object that will draw the text. We'll name it obj_drawtext</pre> and change its depth to -10000</pre>, so that it stays on the top. The extremely low value helps guarantee that it will be the top-most object.

    Next, we'll declare the variables.
    Create event:

    messageDraw = "";
    char = 0;
    
    Yless = 0;
    

    messageDraw will store the text that has to be drawn, which will be derived from the message variable. We're not declaring the message variable here because it will be declared in another script.

    char will contain the number of characters that have to be printed from the message string. Yless will store the change in the y coordinate of the text.

    Step event:
    //Movement
    Yless -= 0.3;
    
    //Text Effect
    char += 0.6;
    
    messageDraw = string_copy(message, 0, char);
    

    The first line of code (not the comment starting with //) will decrease the Yless variable, which will affect the y position of the text.

    The second line will increase the number of characters that have to be displayed.

    The third line will assign a substring of the message variable to the messageDraw variable, with char being the number of characters to be assigned.

    Draw event:
    draw_text_ext(view_xview + 10, view_yview + 20 + Yless, messageDraw, -1, view_wview - 20);
    

    This draws the messageDraw text at a position relative to the view, and the text will wrap when it reaches a certain length (in pixels), here, view_wview - 20.

    If you're not using views, you can just remove view_xview & view_yview and replace view_wview with room_width.


    Step 2</h1>

    Create a script named say, with the following code:
    textObj = instance_create(0, 0, obj_drawtext);
    textObj.message = argument0;
    
    According to the code, an instance of obj_drawtext will be created. The instance will be assigned to the textObj variable, which we will attach the variable message to the instance (the one we didn't declare in the object). The value which will be assigned is an argument here, which means the value will be assigned when the script is executed from some other piece of code.


    Step 3</h1>

    Now we'll create the trigger object, which will contain the actual message to be drawn when the player enters the trigger. We'll name it obj_trigger.

    Create the object, assign any sprite you want to associate with the trigger, but uncheck the visible option. This way, we'll be able to see the trigger in the room editor but not in the actual game. The programming here is simple:

    Collision event with obj_player:
    say(msg);
    
    instance_destroy();
    
    This will execute the say script we just created, with argument0 being the msg variable. Right, we didn't declare any msg variable. That's because every instance of the trigger needs to have a different message. For that, we'll declare the variable inside the room editor.

    According to the second line, the trigger instance will be destroyed, so that the message doesn't appear again.
    Step 4</h1>
    Now, place the trigger objects inside the room. You may resize the instance to fit the trigger zone.

    Go to the instance you want to assign a message to, right click on it and select Creation Code.
    msg = "What am I doing here?";
    
    text2.gif

    In the code editor window that opens, declare the msg variable and assign any string to it. Close the code editor window, and do the same for every trigger instance you added. As the player reaches that trigger and touches it, the corresponding message will be drawn.

    text3.gif

    You can change the text speed and scroll speed to your liking inside obj_drawtext's Step event. You can use the say() command anytime to draw some text.
    Conclusion</h1>
    It's done! Play your game and test it. The text should appear when you enter the trigger. If it doesn't, recheck with the steps above, or comment below, with your project attached.

    --> Download this example <--

    If this tutorial helped you, do not hesitate to share it with others!

    Have a great day!

  2. How to implement save/load functionality for games with levels

    Introduction


    Some games don't have levels. Open world games, flappy bird, ..and can't think of another example right now, but some games have levels. In this article I will talk specifically about games where character can move between levels, interact with objects around him and save the progress. Later he can load saved game and continue where he left of.

    stock-vector-video-platform-game-interfa

    Requrements


    First, lets write down the requirements that define our game:
    - game has multiple levels, levels have static (inane) and moving (interactive) parts.
    - player starts new game at level 1, but can load the game at any subsequent level
    - player moves between levels mostly forward, but he is able to go back to previous levels and he can jump between levels with some kind of teleport device. For example, on 5th level there is portal that takes him back to 2nd level, exactly the part of 2nd level that couldn't been accessed before.
    - level has multiple entry and exit points. This means if you go from level 3 to level 4 you appear by the river at the cave entrance. But if you go from level 8 to level 4 you appear in front of traders house. So level 4 has two entry points.
    - player can save position anywhere at any moment and load that saved position from anywhere in the game. if player exits game, unsaved progress is lost.

    This is how we define level:
    - it is environment around the character with interactive pieces.
    - player can change state of interactive pieces, closed doors are left opened, aroused levers are pulled down, healthy living monsters are now not so well, coins are gone...
    - player can not change static environment: background, props, ambient music, things that stay the same no matter what you do on that level (some games allow player to destroy background environment, leaving it completely changed - its ok it just have to be taken into account as interactive piece as well).

    In this article I will discuss simplified version of such game where level only has 10 colored balls and static background. Each level has different background, but it can not be changed by player so no need to save it. Player can move the balls around and paint them different color so we want to be able to save these changes. We are using this simple scenario just to demonstrate the save/load ecosystem without adding complexity of level itself.

    unique-design.gif


    How do we code it?


    Im gonna use some pseudocode in this article that sometimes resembles javascript and json, but its not the code you can copypaste and run. First we define Level class/object with these fields:

    LevelObj
    {
    	//simple number
    	id 
    	
    	//image path
    	background 
    
    	//position of balls and their color
    	array levelBalls[{position,color}&#93; 
    
    	//position of exits and where they lead to
    	array levelExits[{position,idOfNextLevel,idOfNextLevelEntrance}&#93; 
    
    	//position of player and facing upon level entrance
    	array levelEntrances[{id,position,rotation}&#93; 
    }
    

    Lets say our game has 20 levels, we are going to create 20 objects that describe initial state of our levels (where the balls are, what is their color, where are level exits and entrances). in real life we would store these in 20 different files, but for our very simple example we will use just one array with 20 elements:

    gameLevelsArray = [
    
    //level 1
    {
    	id:1, 
    	levelBalls:[
    		{
    			"position": {"x":2, "y":3},
    			"color": "red"
    		},
    		{
    			"position": {"x":4, "y":6},
    			"color": "red"
    		}, 
    		{
    			"position": {"x":9, "y":9},
    			"color": "green"
    		}, 
    		...
    	&#93;, 
    	levelExits:[
    		{
    			"position": {"x":3, "y":3},
    			"nextLevelID": 2,
    			"nextLevelEntrance": 1
    		},
    		...
    	&#93;, 
    	levelEntrances:[
    		{
    			"entranceID": 1,
    			"position": {"x":1, "y":2},
    			"rotation": 90
    		},
    		...
    	&#93;
    },
    
    //level 2
    {
    	id:2, 
    	levelBalls:[...&#93;, 
    	levelExits:[...&#93;, 
    	levelEntrances:[...&#93;
    },
    
    ...
    &#93;;
    


    Globals:
    - currentLevelPointer //initially null
    - gameState //initially GAME_STATE_MAINMENU;
    - arrayOfVisitedLevels //initially empty, but we push levels to this array as player visits them

    Player starts the game at Main Menu and there he can chose "New Game" or "Load Game". We splash the loading screen and in the background load assets for either first level, or some saved level and position.

    Let me explain what arrayOfVisitedLevels is about. When player starts the game for the first time ha appears on first level. He can then move to other levels: second, third, fourth, all without saving the game. And if he decides to go back a level, we want him to see all the changes he made on those previous levels, although he didnt hit the Save button yet. So this is what arrayOfVisitedLevels does, it holds all visited levels (and their changes) in RAM and when player hits Save button we take all these levels and store them to permanent memory and empty the array. So when player moves from level 4 to level 5 we have to ask these questions:

    - Is level 5 in arrayOfVisitedLevels? If yes it means player was just there
    - If not, is this level saved on disk? If yes we want to load it.
    - If not, player never went to this level before, so we load its initial state from our gameLevelsArray.

    lvl2screen2.png

    Below is how level loading could look like. This function is called when player is just starting a game, or when changing levels while playing the game.

    //this function takes parameters 
    //id - what level we are going to
    //entrance - what entrance we shall appear at
    function loadLevel(id, entrance)
    {
    	gameState = GAME_STATE_LOADING;
    	
    	//if game hasn't just started, we need to cleanup previous level data
    	if(currentLevelPointer != null)
    	{
    		//save current level - here we just push pointer to our level object to an array
    		arrayOfVisitedLevels.push(currentLevelPointer);
    		
    		//clear current level - we want to render new one
    		//for example this could delete objects from the 3d scene
    		clearLevel(currentLevelPointer); //this function will have access to array of balls on that level and erase them, also the background
    	}
    	
    	//if we are entering level that we already visited
    	if(levelAlreadyVisited(id) //check arrayOfVisitedLevels to see if id is in there
    	{
    		//we get the level from array of visited levels
    		//big idea here is that all the changes player made to this level are still in this object in memory
    		nextLevel = getLevelFromArrayByID(arrayOfVisitedLevels,id);
    	}
    	else if(levelIsSaved(id) //check to see if level is saved
    	{
    		//we get the level from permanent storage
    		nextLevel = getLevelFromArrayByID(savedLevels,id);
    	}
    	else
    	{
    		//get level from array of game levels - these are default unchanged levels
    		//in real life we would load level from file here
    		nextLevel = getLevelFromArrayByID(gameLevelsArray,id);
    	}
    	
    	//now that we got the level we need, lets draw it 
    	loadLevelAssets(nextLevel);
    	showLevel(nextLevel);
    
    	//place player at given entrance
    	player.position = entrance.position;
    	player.facing = entrance.rotation;
    	
    	//remove the loading screen and start the game loop
    	gameState = GAME_STATE_PLAY;
    }
    



    Game Save


    In this example we dont address how player moves around and changes the balls color and position, but he does and he is satisfied with what he's done and now he wants to save it. Lets consider different saving scenarios:
    - Player starts new game, moves through three levels and then press save.
    - He then fiddles some more on third level, and goes back to second level and presses save there again.
    - After that, he goes back to third level, then fourth and fifth and finally saves again before exiting the game.

    We want to have 5 levels saved so that when player loads the game he can go back and see those levels exectly as he left them.

    While player was playing we decided to hold visited levels in dynamic variable, in memory. When he presses save, it would be nice to store those visited levels in permanent storage and release dynamic objects from RAM. So first save is pretty straight forward - he hits the save - we save three levels, and release first and second level from memory (third one is still being used). When player wants to move to second level again we have to check first if we have that level in RAM, if not we have to check if that level was visited before, and if it is - we load it from saved file. So now player wants to hit save button second time. He is at the second level but has third and second changed a little, so we have to save that too. If he saves over the same game, we can overwrite those levels in saved file. If he saves new game slot, we have to keep previously saved data in case he wants to load that first saved game later, so we create new save file, but what do we put in second save file - just second and third level or all levels from the start? By the time he hits save button third time, we understood we need to go back one step and discuss save position some more.

    Save slots


    Some games have checkpoints for saving progress. On the level there is some prop that player needs to approach to save the progress. If he dies, the game will automatically return him to last saved position. This is equivalent to one saving slot that is overwritten each time. Some games have multiple save slots, that allow you to name your saved game and then later overwrite it, or create a new one. When you think about it, saving each time to new game slot means last saved game should have all the data from previous saved games. We could make last saved game save only what is changed between previous saved game and now. Differential approach means smaller save files, but we must traverse through all previous saved game files when we are looking for some older level. Alternatively, last saved game could have all the levels accessed (changed) from the game start.

    Aladdin-Level3-AgrabahRooftops.png

    Now the fun starts. Imagine player has 20 saved games, and more then half game finished. And then he desides (decides) to click 'New Game'. He (or his brother) wants to start the game from the begining, and after 5 levels hits the save. Now whether you have differential or all-in-one approach, this saved game must be somehow separated from all others. And not just the "New Game", even if player load some older saved game and starts from there - he will take a new path from that point and branch into parallel adventure. When he keeps saving games on this new path, differential aproach must be able to trace back previous saved games not just by date, but some smarter linked list mechanism.

    What I like to do here is create stories. Each time player starts a New Game he starts a new story. Each time he branches out from older saved game he creates another story. A story is a collection (linked list) of saved games that traces back to the begining. Even if you make a game with one save slot (checkpoint usecase) - you can use one story (in case you want to change it later). One save slot version has only one story. It can have numerous save nodes, but they are in a straight line. Load always loads last one. Start from beginning starts new story and previous one is deleted.

    In this post I will only show scenario with one story. You can then do multiple stories as excersize, haha.

    Here is example save function:

    saveLevel()
    {
        //here are some hints not related to our simple ball game:
        //save player stats in that moment: xp, hp, strength...
        //save player inventory, and also what he has equipped
        //these are level independent data, but needs to be saved each time
        //save player position and rotation
    
        //save what is in array of visited levels
        for (var i=0; i<arrayOfVisitedLevels.length; i++)
    	{
    		var levelId = arrayOfVisitedLevels[i&#93;.id;
    		var levelToSave = getLevelFromArrayByID(arrayOfVisitedLevels,levelId);
    
    		if(levelIsSaved(levelId)) //if this level is already saved, in one story we overwrite it
    		{
    			overwriteSavedLevel(savedLevels, levelId, levelToSave); //copy balls data to saved level object
    		}
    		else
    		{
    			addSavedLevel(savedLevels, levelId, levelToSave); //push new level object in savedLevels
    		}
    	}
    
    	//now save current level, again repeating check if level is saved
    	if(levelIsSaved(currentLevelPointer.id)) //if this level is already saved, in one story we overwrite it
    	{
    		//copy balls data to saved level object
    		overwriteSavedLevel(savedLevels, currentLevelPointer.id, currentLevelPointer); 
    	}
    	else
    	{
    		//push new level object in savedLevels
    		addSavedLevel(savedLevels, currentLevelPointer.id, currentLevelPointer); 
    	}
    
    	//now persist our saved data to file or database:
    	storeSavedDataToPermanentMemory(savedLevels);
         
    }
    

    So Im using savedLevels here as some kind of preloaded array of saved games, and I edit values in this array first before storing it to persistant memory. Even if your levels are small like this, you dont need this preloaded array of saved games, but work directly with data from file/database. I just thought this would make save logic easier to understand.

    At this point, bugs like "Go to next level, save, load, pick an item, go to previous level, save, load - drop item on the ground, save, load - ITEM IS GONE!" start appearing. It is getting exponentialy harder to reproduce bugs so you better create good test scenarios that cover as much usecases you can think of. And get the QA guy repeat them until his eyes bleed.

    But then you might want to complicate things some more with a little save/load optimization.


    Optimization


    You all played a game where loading screen was taking forever. Sometimes it even kills the joy out of playing. Sure you could always blame the computer being old, but sometimes the developers can do a little extra to make things snappy.

    Imagine saving a game on level X, after the save you don't move to another level, you dont play for long and change many things, you just move one ball a little bit, change your mind, and hit load again. What you want to see is that ball moved back to saved position and nothing else. Its just a tiny little change, how long should it take? Well, if we look at our functions above, we are calling clearLevel(currentLevelPointer), then loading level from savedLevels and calling loadLevelAssets(nextLevel), followed by showLevel(nextLevel). So basically clear everything and load and draw from the scratch. Its a safe path. But its not superb solution. We can do many things to avoid this overhead and I will show you one thing that I like to do.

    screen02.png

    I like to make additional check if level to be loaded is same as current level.
    If it is, I dont want to erase everything and load everything from scratch - its already there on the screen. I just want to rearange dynamic objects to their saved state, and user will get the position he saved.

    In our little example, i get the balls position and color from saved data and move them back to saved state. In more complicated level, I would also load player health, experience, monsters, container content, and everything else that can be changed, but it is still on the light level of changing properties and position and not doing heavy loading of models and pictures again. This is why I dont release monster from memory right after killing it, I just make it invisible. Some games could not afford such luxury and they would have to do some reloading, but still not all. All static content is there, loaded, visible on the screen, wether its a background image or 3d models of mountains and trees.

    But as the game complexity grows, this little optimization will make you pull your hair out. Those will be the parts of your code that you dont remember how they work any more, and when the cobwebs and dust cover those functions spooky variables will stare at you from the dark asking for sacrifices.


    Time to start


    After all said and done, I will add what needs to be done when New Game is started. This can happen during gameplay, so we might need to clear some stuff from the screen. Again, if player hits New Game on first level, we might optimize to avoid level reloading. This is what our new game function would look like.

    function NewGame()
    {
    	gameState = GAME_STATE_LOADING;
    
    	//get saved levels into practical array variable
    	savedLevels = restoreSavedDataFromPermanentMemory();
    
    	//erase this array
    	arrayOfVisitedLevels = [&#93;;
    
    	//check if this is a fresh start, or player is already progressing through the game
    	if(currentLevelPointer != null)
    	{
    		//clear up, make a fresh start
    		clearLevel(currentLevelPointer);
    	}
    	else if (currentLevelPointer == 1)
    	{
    		//optionally do optimized reload here
    		reloadNewGameOnFirstLevel(); //just move the balls and player back to starting position.
    		
    		//remove the loading screen and start the game loop
    		gameState = GAME_STATE_PLAY;
    		return;
    	}
    
    	//get level from array of game levels - these are default unchanged levels
    	firstLevel = getLevelFromArrayByID(gameLevelsArray,id);
    	
    	//now that we got the level we need, lets draw it 
    	loadLevelAssets(firstLevel);
    	showLevel(firstLevel);
    
    	//place player at given entrance
    	player.position = firstLevel.levelEntrances[0&#93;.position;
    	player.facing = firstLevel.levelEntrances[0&#93;.rotation;
    
    	//remove the loading screen and start the game loop
    	gameState = GAME_STATE_PLAY;
    }
    

    Remember, when player hits New Game during gameplay, it doesnt mean he wants to lose his saved game. He still might want to hit Load Game and continue where he left of. BUT *mark this important* if he starts New Game and then hits Save Game - all his previous progress will be lost and you might want to warn him about it.

    Extensibility


    Once your save/load functionality is implemented and working flawlesly, you'll want to add new dynamic stuff to you levels. You or your boss will have this great idea that colored balls should be acompanied with colored squares. So how do we add the squares now?

    There are two types of extensions, one that is affecting all levels, and another affecting only one specific level. If you want to add squares to all levels you have to

    1. Extend the level model/class:

    LevelObj
    {
    	id //simple number
    	background //image path
    	array levelBalls[{position,color}&#93; //position of balls and their color
    	array levelSquares[{position,color}&#93; //position of squares and their color
    	array levelExits[{position,idOfNextLevel,idOfNextLevelEntrance}&#93; //position of exit and where it leads to
    	array levelEntrances[{id,position,rotation}&#93; //position of player and facing upon level entrance
    }
    

    2. Next you add square data to gameLevelsArray (see above, not gonna copy here again with some square example data).

    3. Function clearLevel will be changed to erase squares.

    4. Functions loadLevelAssets and showLevel are extended to include squares.

    5. Functions overwriteSavedLevel, storeSavedDataToPermanentMemory and restoreSavedDataFromPermanentMemory need some edits as well.

    As you can see its not small change, but its managable. Its not imposible to add savable data but you have to remember all the places where you manipulate save and load data and add it there. For example I forgot to add squares to one function now. Its the one I told you it will come back to haunt you: its optimized loadGameOnSavedLevel. In this function we are not clearing all level assets, but just moving back dynamic objects in saved position so we need to add squares there as well.


    Quirks


    Second type of extensions is that one specific thing that you want to appear on level 17 and you dont need it anywhere else, I call it quirks. You want a flower on level 17 and when player eats a flower he gets extra life. Its totaly out of game mechanics, specific thing, that you want saved just as well. These things can bring something interesting to the game, but often you dont think of them at the very begining. So you add generic quircs array to each level. And you can use it later if you need it.

    1. Extend each level with quircks array. It can be empty array in all levels at first.

    LevelObj
    {
    	id //simple number
    	background //image path
    	array quirks[&#93; //what good is empty array for? TODO: remove this
    	array levelBalls[{position,color}&#93; //position of balls and their color
    	array levelSquares[{position,color}&#93; //position of squares and their color
    	array levelExits[{position,idOfNextLevel,idOfNextLevelEntrance}&#93; //position of exit and where it leads to
    	array levelEntrances[{id,position,rotation}&#93; //position of player and facing upon level entrance
    }
    

    2. Add levelOnLoad function for each level that is called when that level is loaded, and pass saved data to it. It can be empty function for all levels at first (if you use some sort of scripting in your games, then this can be script that is executed when level is loaded, its convinient as you dont have to edit source code later)

    3. Have quirks saved and loaded if array is not empty. If your database dont like expanding arrays, have it have fixed array of 10 integers - all zeros.

    Now imagine you want to add flower on level 17 at later stage. When level is loaded, you want to see the flower, but if player eats it and save the game you want to save the fact that flower is gone. This is what you do:

    1. In gameLevelsArray add 1 to quirk array :
    quirks:[1],
    2. In levelOnLoad (script) function draw flower only if quirk is 1
    3. When player eats the flower, give him extra life but also set currentLevelPointer.quirks[0] to 0

    Maybe this is stupid cause you are changing the code to add this flower eating functionality so you can also edit save and load functions to include this new feature, but I like to avoid changing save/load functions cause error in there can affect all other parts of the game. And sure it will look confusing to other coder what this level[17].quirks[0] thing is. But you dont care anymore at this point.

    Skyrim.jpg

    Conclusion


    This functionality can be quite complicated, but good planing and thinking ahead can make it easier. So hopefully this article shows you something you didnt think of and helps you with the planning.

    All of these concepts are used in 'real' code in two of my games that you can find opensourced on github:
    javascript game: https://github.com/bpetar/web-dungeon
    c++ game: https://github.com/bpetar/leonline

    In the end, I must tell you that no one told me how to make save/load functionality and I never read any existing article or book on this subject and I made this up all by my self, so maybe there is a better way to do this, and I advise you to browse some more.


    Article Update Log


    21 Sep 2016: Initial release

  3. 1 September with Defence'39

    hi! We have for you special game for today! On 1st September 1939 the Nazi Germany attacked Poland. Defense'39 is wargame like none you have seen before. The Player takes control of a single bunker or similar defensive position (like an armored train or a trench) and has to stand against thousands upon thousands of approaching enemies. Game is for free and has a lot of positive coments on markets.

    Game features

    - a whole new approach to the tower defense genre
    - unique, intuitive targeting system
    - fast-paced war action
    - massive number of units simultaneously on-screen
    - 10 varying locations with over 70 missions!
    - variety of weapons to use and enemies to destroy
    - medal-based, diverse upgrade system
    - survival mode for those seeking the ultimate challenge

    Download the game and play with us!

    AppStore download link

    http://itunes.apple.com/app/defense-39/id731897404

    Google Play download link

    http://play.google.com/store/apps/details?id=com.siroccomobile.defense39

    Defence'39 thriller

  4. MALICE - Salem Witch Trials

    [attachment=32451:MALICE.png]WHAT IS: MALICE - Salem Witch Trials
    MALICE is a Third Person adventure, based in Salem, Massachusetts, during the time of the infamous Witch Trials. The player takes control of the main character: Elizabeth, who is honored as one of the last true witches. The player's and rather, Elizabeth's goal is to end the Salem Witch Trials once and for all, and unexpectedly turns to by way of war. The gameplay is set in an open world SALEM, Massachusetts. At first, the plan was a level based, and linear system. But, due to the script, and story, it's open world will be similar to popular series Grand Theft Auto. The size of the world is undetermined because we want it to be a big size, but not too big that the player gets lost, and bored.

    Features, Which are explained more below.
    Open-World
    Magical Combat
    Melee Combat
    Linear Decisive Storyline
    Magic Limitations
    Stealth
    Relationship Progression
    Online Combat Mode
    Side-Missions, That MEAN something.
    Free Roam



    Playable Characters
    Elizabeth, primarily. *There are times when you play as other characters temporarily.
    Witch Hunter - For sure, Online. For Witch V. Witch Hunter. If time is on our side, a Witch Hunter story mode, or atleast free DLC.

    Inspirations
    Salem - WGN Series
    The Witcher
    Tomb Raider
    The Last of Us


    OpenWorld

    Open World, will feature an accurate representation of Salem, Massachusetts, and surronding areas. No loading screens, (except on startup), all is a connected world, in which the story will take place.

    Magical Combat

    For Elizabeth, and any character that is a witch, will have a select variety of magical abilities, that range from Fire, Possession, Telekinesis, Channeling, Nature, Weather. (Currently in Mind). There will be limits to the use of that ability, and it has yet to be decided if it will be limited according to where you are.

    Melee Combat

    Under debate, at the moment on whether we're going to allow witches to have melee attacks. But the Witch Hunters do have melee attacks, from punching, kicking, takedowns and stabbing.

    Linear Decisive Storyline


    This is also under debate, because we don't want to add things just to add them, but this system will challenge the player verbally, and dialogue wise, in which can change things in the story, but nothing permanently changes, unless time is on our side.

    Online

    Online, will be in the final base game, and it will features only a select few modes, that are currently planned. (Player count may change for optimization, and Map Size.)
    Witch V. Witch Hunter - A mode dedicated to PvP up to 8 V. 8 combat between the two classes. Classic Gun V. Magic.
    Witch V. Witch - A mode dedicated to PvP up to 8 V. 8 combat between the classes.
    Total War - A mode dedicated to PvP up to 12 V. 12 combat, equivalent to Free-For-All.
    Notoriety - A mode dedicated to Witch Hunters catching witches, and witches evading Witch Hunters, The hide and go seek of Malice. PvP to 8 V. 8.
    Free - Online Free Roam. Open to 24 Players.

    Notoriety

    Your identity as a witch is very secure. What you do as the player with the character requires for you to be very careful, the player must note that if someone sees them doing suspicious activity, their notoriety rises negatively, and the more it rises the more talk and rumors the player can hear about them throughout the whole town, and once that limit is completely reached, they will be bombarded at a randomized time and taken into to be executed.

  5. Antibored Evolution

    Antibored Evolution


    Hi all,
    we have recently released our new game for Android platform called Antibored Evolution.
    It is game about one small fish which tries to grow up.
    You can find our app on google play:

    e7CXIG0-cqZrGG_mS9G_uoO9E47NzwYDMOmEowa9

    Or you can visit our page:
    http://www.antiboredomstudio.com/

    Enjoy our games :-)

    Antiboredom Studio

  6. New game of cards ( 4 of a kind )

    New game of cards, I hope you enjoy :D

    The goal is to make the most of four equal card.
    It has 4 levels:
    * Easy;
    * Medium;
    * Difficult;
    * Extreme;

    Link
    https://play.google.com/store/apps/details?id=crewinsoft.peixinho

  7. Sky Avenger

    Sky Avenger

    https://play.google.com/store/apps/details?id=kg.ArmoredFury.AirGame
    [attachment=32199:1.png]
    Sky Avenger: Star Adventure - fully free classic arcade game. You can play for free. The game provided a number of different airplane models. You will be able to capitalize on them during the game, or watch ads.
    [attachment=32200:2.png]
    Aircraft are much better and safer helicopters in shooting game, make sure this will help you free arcade game Sky Avenger: Star Adventure. Dive into the air world and set a new record, tell your friends about it. New adventures are waiting for you, do not miss your air strike.
    [attachment=32201:3.png]
    Features:
    ✔ classic arcade game
    ✔ lots of different airplane models
    ✔ style black-and-white film
    ✔ amazing space music, immersing you in star wars.
    ✔ core- gameplay for real avengers
    ✔ interesting classic arcade
    ✔ various air shootout
    ✔ spectacular black and white world of space and stars
    https://play.google.com/store/apps/details?id=kg.ArmoredFury.AirGame

  8. Cleopatra Gifts

    Cleopatra Gifts</h1>
    https://play.google.com/store/apps/details?id=kg.SM.CleopatraGifts
    [attachment=32195:GameTitle_en.jpg]
    Cleopatra Gifts: Match3 Puzzle - One of the best free puzzle games. You are waiting for exciting adventures, where you will learn all the secrets of Cleopatra, to fulfill the mission and save the Cleopatra of the tyrant Caesar's hands. In the game you will meet a variety of puzzles from the Princess of Nile river. Prove that you deserve is next to Cleopatra, as long as your place is not occupied any Asterix.
    [attachment=32196:skrin_6.png]
    Admit it, you would like to see Cleopatra in our time? All dreams are feasible, and yours is no exception. Welcome to the Ancient Egypt in a modern style, you will find many surprises, the beauty of this world is limitless. Cleopatra ruled Egypt is not the first year and keeps its secrets in the beautiful gifts that were presented people, someone is trying to get its location, such as Antony and Caesar, they all want to attract the attention of a beautiful princess puzzle. But someone has not received his, decided to steal one of the secrets of Cleopatra, entrusting this task Asterix and Obelix, who is this insidious people? maybe it's Caesar? or Anthony? Cleopatra help deal with this set of questions. Save all the presents, without losing a single secret and find out who the mysterious stranger. An exciting mission awaits you in front, do not postpone it for tomorrow.
    [attachment=32197:skrin_9.png]
    Cleopatra Gifts: Match3 Puzzle - fully free match3 game with fun gameplay and unusual objects in the game. You will be a combination of different magic gems, jewels, candy, clothes and all this in one game. Enjoy all the magic emeralds and diamonds, while an unforgettable adventure! Explore this wonderful world and feel like one of the Egyptian gods and give beauty to the Nile.
    [attachment=32198:skrin_11.png]
    Cleopatra Gifts: Match3 Puzzle:
    ✔ The best fully free app - puzzle
    ✔ Exciting mystical atmosphere
    ✔ 100 levels with a steep match3 gameplay!
    ✔ Unique combination of bonuses and chips
    ✔ Levels contain unusual obstacles and mechanics
    ✔ Ability to play offline
    ✔ Excellent develops logic and mind
    ✔ Gradually increase the level of difficulty will not get bored
    ✔ High-quality graphics
    ✔ The combination of "incompatible", usually you collect puzzles in the blocks with gems of different colors, we also offer you to collect blocks in a completely different objects, there may be either emeralds, diamonds, magic gems, clothes and candy.

    https://play.google.com/store/apps/details?id=kg.SM.CleopatraGifts

  9. A game like Animal crossing!

    How would u guys feel?

    If so suggest ideas!

    Would u like debug version's

    ......

    tell in comments!

  10. A game like Animal crossing!

    How would u guys feel?

    If so suggest ideas!

    Would u like debug version's

    ......

    tell in comments!

  11. Cursor RPG

    Cursor RPG</h1>

    This is game that I have been working on for the last few weeks! It's a simple game, and does not have much, but if you seem like you want to try it, you can. Here are some images.

    http://imgur.com/uGwgm3o
    http://imgur.com/7i2AKAQ
    http://imgur.com/9qVt1yq

    The download link is below.
    http://www.mediafire.com/download/um54duos9ywt66y/CursorRPG.zip

  12. Cursor RPG

    Cursor RPG</h1>

    This is game that I have been working on for the last few weeks! It's a simple game, and does not have much, but if you seem like you want to try it, you can. Here are some images.

    http://imgur.com/uGwgm3o
    http://imgur.com/7i2AKAQ
    http://imgur.com/9qVt1yq

    The download link is below.
    http://www.mediafire.com/download/um54duos9ywt66y/CursorRPG.zip

  13. What does your first succes as a game developer feel like

    About!


    Welcome!
    Please let me to appologise in advance for my grammatical mistakes. In this article I will talk about what does your first biger succes feel like, and why you shouldn't stop trying, and trying and trying and learning making games.

    The begginings

    So, i'm really young, only 16 but I know that, I want to be a game developer, so I started looking for it on the internet, and I was like they will pretty much teach us in school, but since i realized they actually don't teach you how to make games (actually there are a few places where they do). I started with game maker, and used it for like 1,5 years. Then a friend of mine showed me a demo scene party, and told me to make some game for the party. I decided I will do a game, and this will be my bigest and most serious project so far...

    Now

    I've been working on the game for a month and it's not done yet. The party was very tiring, i'm so sleepy while writing this article. We slept about 6-7 hours in two days -.- But this doesn't matter. In that 1 month i've worked on the game like 1-4 hours every day! And the game wasn't even so good, and it's not even complete(you can check it out here: http://gamejolt.com/games/strangebird-shootemup-demo/148193) First I was like i will be last i'm sure, but nope... I became the third one! I was so happy when I heard my name, in that momment i realized, every single momment of making my game worthed it. So a hint: NEVER EVER STOP!!! In my opinion for the succes of a game you need 4 things: Creativity, Skills, Luck, And never stop! A lot depends on luck, for example there is minecraft which is one of the most succesfull games, made by an indie developer and now he is rich as hell. But there is the backside, i'm sure there are a lot of game which deserve to be a famous and succesfull game, they are good and nice etc... But they arent.. Why? Because luck matters. The game you made can be really good but the right person have to find it. A youtuber or someone who has a lot of friends and he show your game for them. Then it will become more and more well known. So evene if you don't succes in many years, don't give up keep up the work and i'm sure if you improve, and belive one of you games will be a big succes.


    Future


    In the future i would like to continue the game i made for the demo, and finish it. And this, my first succes (at least for me) gave me so much power, I feel like I will never stop learning making games :) And I'm sure in the future if I won't give up, I will make much bigger and much more games. So the point of the whole article at all: NEVER GIVE UP AND YOU WILL SUCCES!
    I hope you enjoyed reading this article please, write some coments, you can correct my mistakes in comments so i will correct them in the article :) And if you are a begginer or just interested in making games... Start and keep continue, it will worth it. Have a nice day! (I attached a picture of me with the trophy and the picture of my trophy)</p></p>

  14. War Heroes: Invasion - Now on Steam Greenlight!

    Have you ever dreamed of being the commander of your own army?

    In "War Heroes: Invasion" you will have your chance!
    We really hope you will enjoy our game.

    Steamcommunity.com

    VERY IMPORTANT:
    Remember, we are making a high quality tower defense game!

    - Great strategy.
    - Colorful maps and characters.
    - Earn numerous exciting achievements.
    - Three different worlds.
    - 18 levels and 3 different game modes (campaign, survival, endless).
    - Original enemies.
    - Powerful, devastating weapons.
    - A formidable boss.


    Each playthrough will be different; you can play this game forever and no two games will ever be the same!

    Facebook: Click me!
    Twitter: Click me!
    Mail: hammersongames@gmail.com
    Steam: Steamcommunity.com

  15. Unreal development kit

    Hi there, Most of you are asking what the heck is UDK? how do I use it? here you are!</h1>

    UDK </h1>

    Starters</h2>

    Hi I know you are like what is UDK? Wel it is Unreal Development kit! It is used for making games. Shooting games mostly. So this could be hard, but is also really easy to use. I mean anyone can use it right?


    About UDK


    UDK is game making software, or engine to be percice. It is hard at some points like desighning the layout, or placing characters, but it goes to show your smart! Make your own game with this!

    <H1> is used for headings, <p> is used for paragraphs, <b> is bold, <i> is italic, <u> is underline!(this was for codes)
    

    The challenging parts

    Here are some really HARD parts first making games on this can take up to a year if you are making a large funfilled shotting first person game! Adding storylines takes like 2 weeks of work. Characters take like 3 weeks for the whole game. The menu could take 3 to 4 days! Also if you were downloading this game engine on your slow PC then it takes for EVER to downlaod. I reccomend a fast PC.

    Conclusion

    It goes to show that if you made a large game then you are smart and have knowledge. It is hard with this alothough it is software!

  16. Unreal development kit

    Hi there, Most of you are asking what the heck is UDK? how do I use it? here you are!</h1>

    UDK </h1>

    Starters</h2>

    Hi I know you are like what is UDK? Wel it is Unreal Development kit! It is used for making games. Shooting games mostly. So this could be hard, but is also really easy to use. I mean anyone can use it right?


    About UDK


    UDK is game making software, or engine to be percice. It is hard at some points like desighning the layout, or placing characters, but it goes to show your smart! Make your own game with this!

    <H1> is used for headings, <p> is used for paragraphs, <b> is bold, <i> is italic, <u> is underline!(this was for codes)
    

    The challenging parts

    Here are some really HARD parts first making games on this can take up to a year if you are making a large funfilled shotting first person game! Adding storylines takes like 2 weeks of work. Characters take like 3 weeks for the whole game. The menu could take 3 to 4 days! Also if you were downloading this game engine on your slow PC then it takes for EVER to downlaod. I reccomend a fast PC.

    Conclusion

    It goes to show that if you made a large game then you are smart and have knowledge. It is hard with this alothough it is software!

    Article Update Log


    Updates below:

    26 of Aprile 2016: Added links and pics

    pictures


    [attachment=31670:Classroom.jpg]
    [attachment=31671:the games.jpg]

  17. Unreal development kit

    Hi there, Most of you are asking what the heck is UDK? how do I use it? here you are!</h1>

    UDK </h1>

    Starters</h2>

    Hi I know you are like what is UDK? Wel it is Unreal Development kit! It is used for making games. Shooting games mostly. So this could be hard, but is also really easy to use. I mean anyone can use it right?


    About UDK


    UDK is game making software, or engine to be percice. It is hard at some points like desighning the layout, or placing characters, but it goes to show your smart! Make your own game with this!

    <H1> is used for headings, <p> is used for paragraphs, <b> is bold, <i> is italic, <u> is underline!(this was for codes)
    

    The challenging parts

    Here are some really HARD parts first making games on this can take up to a year if you are making a large funfilled shotting first person game! Adding storylines takes like 2 weeks of work. Characters take like 3 weeks for the whole game. The menu could take 3 to 4 days! Also if you were downloading this game engine on your slow PC then it takes for EVER to downlaod. I reccomend a fast PC.

    Conclusion

    It goes to show that if you made a large game then you are smart and have knowledge. It is hard with this alothough it is software!

    Article Update Log


    Updates below:

    26 of Aprile 2016: Added links and pics

    pictures


    [attachment=31670:Classroom.jpg]
    [attachment=31671:the games.jpg]</p>

  18. Unreal development kit

    Hi there, Most of you are asking what the heck is UDK? how do I use it? here you are!</h1>

    UDK </h1>

    Starters</h2>

    Hi I know you are like what is UDK? Wel it is Unreal Development kit! It is used for making games. Shooting games mostly. So this could be hard, but is also really easy to use. I mean anyone can use it right?


    About UDK


    UDK is game making software, or engine to be percice. It is hard at some points like desighning the layout, or placing characters, but it goes to show your smart! Make your own game with this!

    /* Code block here */
    

    The challenging parts

    Here are some really HARD parts first making games on this can take up to a year if you are making a large funfilled shotting first person game! Adding storylines takes like 2 weeks of work. Characters take like 3 weeks for the whole game. The menu could take 3 to 4 days! Also if you were downloading this game engine on your slow PC then it takes for EVER to downlaod. I reccomend a fast PC.

    Conclusion

    It goes to show that if you made a large game then you are smart and have knowledge. It is hard with this alothough it is software!

    Article Update Log


    Updates below:

    26 of Aprile 2016: Added links and pics

    pictures


    [attachment=31670:Classroom.jpg]
    [attachment=31671:the games.jpg]</p>

  19. Need music for a video game?

    Hello readers,If you need someone to make music for a video game for FREE please contact me.I am easy to work with and i look forward to making music for your video game!

  20. [Game] [Free] Get ready to defend your ship using Guns and Magic

    Hi All,

    Joyfield Studio is happy to share that Guns and Magic game is now available on Google Play and Amazon.

    Check out our new trailer!

    Guns and Magic is a defender-based action RPG game in which players explore undiscovered planets on the edge of the Galaxy.

    RUnWXBixCSiXpuAtRbARaOCEWu8lB8Inv7ZbjcPM

    Dowload here for free: Google Play and Amazon!

    #gunsandmagic, #joyfield_studio, #shooter, #rpg, #mobilegame, #guns, #magic, #defense, #artefact, #defence

  21. Open game concept for horror game

    GAMEPLAY
    In this open game of horror, stealth and cooperation, you struggle to survive while exploring creepy island environments that cycle through periods of fog, dusk and night. You must initially avoid the horrors harvesting humans while seeking supplies, hideouts, clues and other survivors. Other survivors are key in your struggle, they may possess clues about the lurking horrors, crafting tips or know locations of interests in the region. You can designate a hidden location you find as a Hideout. Recruiting any survivor to join your survivor's hideout will generate scavenged supplies in the hideout. As you gain experience, equipment and lore about the inhuman horrors, you will discover new objectives to fight back the invaders.
    You will not die from starvation directly, though being deprived of food and water will reduce your vitality and running speed. If your character dies, you start in the role of another survivor on the island, which could be a survivor you have helped or given items to. If there are no human survivors alive on the island the game is over.
    BEHIND THE SCENE
    CULTS: Dark corners of secluded areas conceal clues suggesting that Occult lore foreshadowed the Invasion. Ancient texts by forgotten practitioners of the dark arts, describe the very demons now lurking in the ruins. Investigations may reveal that certain Cults, have been awaiting and preparing for the apocalyptic arrival for some time. Such cults have established hidden Shelters with valuable Occult Tomes and supplies. In the shadows of civilization, these cults appear to have fought a covert war against each other for ages while setting the stage for the arrival of their respective deity. Some of the survivors could be deceitful Lovecraftian Cultists, secretly worshipping the elder entities that now threaten the last remnants of humanity.
    STYGIANS: The Stygian faction are infectious lovecraftian abominations related to the fungal vegetation taking root. Some of these creatures can emerge from the strange fungal growth that are gradually multiplying on the island or from a Spore Colony. They are more active during the morning Fog and are mostly attracted to sound as well as the scent of blood or rotting flesh. Some of these creatures can infect humans and corpses and mutate them into Fungal Zombies. The slow movement speed of Fungal Zombies and Gorgons (Demonic worms), is somewhat offset by their ability to sense and ambush lifeforms in the fog and by venoms that slow-down enemies. In some cases a scratched and infected human can run away, but transform into a Fungal Zombie if no antidote is used. Their Stygian venom is particularly potent against all Chthonian demons. The Stygian creatures include :
    Medusa Moth, a raven sized venomous flying creature with tentacles (some Medusa Moth can inject a human or corpse with a virulent mutagenic infection that will morph the human or corpse into a Fungal Zombie unless an antidote is used in time) [vulnerable to makeshift weapons] Clue: "The body appears to have been stung by a venomous thing that's much larger than a wasp."
    Fungal Zombie, a human with fungal growth (from infected human or human corpse) [vulnerable to lethal weapons] Clue: "The body has been lacerated by claws."
    Gorgon, a tiger sized worm with tentacles around the mouth [vulnerable to special weapons]Clue: "The body has been partially devoured." (usually a Gorgon devours the entire body and no corpse is left)
    Spore Colony, a fungal spire that Stygian creature can merge into or out of (the smaller fungal growth multiply on the map and can potentially grow into a Spore Colony) [vulnerable to Molotov Cocktails]
    Stygian mutations:
    Green Salve: healing
    Sap Venom: Slows victim and damage over time
    Fungal Venom: Turns human victim into Fungal Zombie.
    Stygian Venom: Deadly for Chthonian Demons.
    Spew Spores: short range attack Deadly for Chthonian
    Spore Burst: Suicide radius attack small creature kills larger enemy
    Fungal Growth : morph into a fungal growth (a fully grown fungal growth can become a Spore Colony)
    Spit Thorn : medium range attack
    Secretions: reduces acid damage (by 50%)
    Ablative Moss: reduces fire damage (by 50% and normal damage by 10%)
    A Spore Colony can gradually unlock mutations, once unlocked in a given Spore Colony, a creature spawning or merging with this specific Spore Colony can activate the mutation (costs Essence resource to unlock and to activate). Some Fungal Growth can metabolise a mutation and become more dangerous for the unwary.
    CHTHONIANS: The Chthonian faction are horrible subterranean arachnids and arthropods that were initially sighted near fallen meteorites. They burrow underground and often burst out of the ground when the sun sets. They are most active from the twilight of dusk to the early evening. They are sometimes encountered near meteorite impact sites. One survivor claims he saw a meteorite stone morph into a demonic arachnid. These creatures are usually attracted to vibrations(running, digging), electric light and radio signals. Some Chthonian hatchlings can paralyse a human host to infest it. The infested victim morphs into an organic cocoon, from which a larger breed such as a Lurker demon emerges. These creatures are somewhat resistant to fire and immune to radiation, but quite vulnerable to the Stygian venom (creatures from the infectious fog dwelling faction). Some of the Chthonian creatures can be radioactive and some can spit streams of fiery plasma. The Chthonians creatures include :
    Egg, looks like a rock or a meteorite and is difficult to break without a pick. Chthonian Eggs, which can sometimes fall from the sky or can be laid by a Chthonian Queen, can morph into a Hatchling arachnid.
    Hatchling, a cat sized alien arachnid (it can cocoon a human or corpse to morph into a Lurker)[vulnerable to makeshift weapons] Clue: "The body appears to have been bitten by a creature's fangs."
    Lurker, a wolf sized arachnid (it can cocoon a human or corpse to morph into a Predator)[vulnerable to lethal weapons] Clue: "The body has been mauled."
    Predator, a velociraptor sized insectoid [vulnerable to special weapons] Clue: "The body appears to have been mauled and partially eaten by a large creature." (usually a Predator devours the entire body and no corpse is left)
    Queen, a horse sized arachnid that can lay the eggs from which hatchlings can emerge [vulnerable to Dynamite] Clue: "The body appears to have been mauled by a large creature and the head is missing." (usually a Queens devours the entire body starting with the head and no corpse is left)
    Chthonian Mutations:
    Consume: allows a creature to heal or grow by consuming a human corpse.
    Infest: allows Hatchlings to paralyse and consume a living human and morph into a larger breed.
    Spit Acid: medium range attack effective against Stygian
    Spew Plasma: Short range attack Deadly for Stygian
    Fire Blast: Suicide radius attack allows small creature to kill larger one
    Tunnelling: Travel underground.
    Chrysalis: Morph into a Queen (predator only).
    Acid Blood: Reduces Venom damage (by 50%)
    Carapace: Reduces Spore damage (by 50% and normal damage by 10%)
    A Chthonian Queen can gradually unlock mutations, once unlocked in a given Chthonian Queen, a creature spawning from an Egg laid by this specific Queen can activate the mutation (costs Essence resource to unlock and to activate).
    The unnatural events that have caused the collapse of human civilisation have also caused rifts from which other types of entities emerge into our world such as the mysterious Outsiders.

  22. Asteroids Rush! [Android]

    AR_promo_2_800.png?extra=lwj3xbyfwEIU6Xk

    Asteroids Rush!


    Hi! We released a major update to the game Asteroids Rush and would like to know your opinion about it, maybe you could make a review.


    Asteroids Rush is simple yet catchy arcade game. You need to dodge asteroids and to fight against the bosses, to beat your friends' scores. The more score points you get - the quicker asteroids and black holes become. You can always get a new ship or extra fuel for a heat start in the game store. Open achievements and get extra points for them, beat the high score and simply have fun playing Asteroids Rush!

    Google Play: https://play.google.com/store/apps/details?id=com.GeekyRaccoons.AsteroidsRushGame

    What do you think about it? :)

  23. Need Help Making a 2D Top Down Shooter Game in C#

    Basically I'm trying to make a top to down shooter game in C#, similar to Graal Era.

    What resources do I need?
    How am I supposed to import the images, sounds and make the map in general.
    Please help!

    • Mar 04 2016 11:03 PM
    • by
  24. UpUp Game

    UpUp Game


    *This addicting game is a fun for your day. Supports Game Center & Google Play Leaderboard.




    Download


    iOS:

    https://itunes.apple.com/dk/app/upup-game/id1082482448?mt=8

    Android:

    https://play.google.com/store/apps/details?id=com.ayubberiev.upup

    Flash:

    http://www.newgrounds.com/portal/view/671184



    In game

    under 1000p - blue runners
    speed: slow
    +5 bonus

    above 1000p and under 2000p - violet runners
    speed: normal
    +10 bonus

    above 2000p and under 3000p - violet dot runners
    speed: faster
    +15 bonus

    above 3000p and under 10000p - black red dot runners
    speed: crazy
    +20 bonus

    contact:
    stborz@hotmail.com

    • Feb 29 2016 04:06 PM
    • by
  25. Step-by-Step Guide of Making A Sequel To A Game

    If your company has already released some popular and addictive game and you're thinking about creation a sequel, this article is just what you need. We gathered the main tips and advices that will be useful for the building a strategy and a sequel itself. Check out the following instructions and recommendations that can lend you a hand in making a sequel for your game.

    Step#1 Fix Existing Bugs</h2>

    It's probably the first thing you should do even without releasing a sequel but releasing an update. However, some bugs take the whole concept to rebuild in order to fix them. That's why you should gather your team at a round table, ask them to search for possible bugs, collect bug reports from players and then discuss the problems that have been discovered. Consider this sequel as a unique chance to strengthen all weak points that were in the original, improve user experience and attract a broader audience.

    The following list can give you insights where you can look for possible bugs. Additionally, go through these areas to make sure they are good.


    settings</li>
    architecture</li>
    list of supported platforms</li>
    art side</li>
    monetization policy</li>
    advertising</li>
    </ul>

    Once you spotted the flaws, gather your team one more time and do the brainstorm altogether. Listen carefully to the suggestions of your team members and develop a strategy on how to adjust the defects and improve the second release. Rebuild the structure if you need or redrawn the art style so it will hit the appropriate target audience.

    Step#2 Budget Allocation & Strategy Development</h2>

    The creation of a sequel gives you a chance not only to improve your work but to save money, as well. Sequel production actions are a lot cheaper than creation a game from a scratch. You have a game engine ready and work through, you have a team that deserves your trust that greatly facilitates project management, you have server side ready, etc. Besides, your original game has already gathered a community of loyal players that eases the marketing efforts. Give your fans some exciting insights about the future sequel and don't forget to state that the sequel retained everything they liked in the original game so much but acquire some advanced breathtaking features. Likewise, inform some of players who hatred toward the first version of the game that you've realised the mistakes that were made and would like to know their opinion about the sequel. Believe us, it will help you in your marketing campaign.
    In addition, you can gain more money from the first release thanks to people's natural curiosity. Basically, there will be a lot of people who would like to compare the original game and a sequel in order to follow the improvements.

    Step#3 Sequel Dev Measures</h2>

    The ideal merger of an old concept and new features defines the sequel success. You need to remember that no player will appreciate the doppelganger of the original game because to be addictive an adventure should feel familiar and be one-of-a-kind at the same time. Creation of such game demands just a few modifications and improvements in the original. See the following list to explore the possible sources of adjustment.

    Structure

    Conduct a research and you will know if the structure of your game doesn't correlate with the game category. In that case, it needs to be renovated. However, be careful and don't go in too many updates. Leave the shell and the main features that correspond with the game genre. As it was stated before, players like to be involved in a familiar, but unique game. If you insert new elements or features into a gameplay, include the full and detailed explanation into the tutorial menu.

    Gameplay

    It's probably the most common way of making a sequel - gameplay adjustments. The pitfall you can come across is that you need to strike a balance between flexibility and innovations. Besides, the gameplay should correlate with target audience needs. You can modify gameplay in a variety of options. For instance, you can add additional levels, alternative game modes or experiment with mechanics. Just always remember about the balance of simplicity and complexity. The games that are too easy to understand will be abandoned as easy as the ones that are too hard to play.

    Mechanical

    Pay special attention to the elaboration of the technical aspects of the game development process. Make sure you eliminate and fix all critical issues, for instance, server problems or loading speed and optimize the game size if necessary.

    By following this guide, you can find your sequel at the top soon after the release. Good luck!