Devlog #1 Introduce to making RPG-Strategy Game

I decided to make a game that will be kind of RPG and strategy. Well, I want to make a little complex game for me. I want to finish it as my first game. BTW, these devlogs haven't a relationship with the "Make an RPG Game" tutorial. I'm not explaining everything and sharing codes about this for now. Because somebody can be impressed(!) and can share it on some platforms. No offence, it happened just one time. Well, there are no visitors for now on this blog and probably I'm paranoid about it. 

I already made progress on my game. This game will be two-dimensional and tile-based. I used a procedural generation algorithm to create a map. This algorithm is Perlin Noise. You can find a lot of things about it. I'm not really familiar with it and I'm struggling. This algorithm provides beautiful smooth random design on the map like our world's, lakes, beaches, the moon's surface, etc.

The other thing that I added to the game, is a minimap and it's primitive version. I'm going to some buttons and give movement animation on it.

I didn't draw images for the game. Instead of, I used some manipulating operations to the pixels of surfaces and I created textures. Should I have used it? No, but it's feel good to me when you don't need to use file handling and using file paths. So I just created a couple of functions to generate textures, characters, etc. I used this textures to create my game map's design in likes below:

Tilemap design

If you notice, textures of tiles seem different each other same kind of tile. I created 100 textures for every tiles in the game. For example, the grass tile has 100 different views in the game and those textures are located on the map randomly. So, the game's view doesn't give a grid effect. Is it really necessary? Nope. We could draw tile in tile-mode instead of it. There are programs to make it like Aseprite, Pyxel Edit, etc, however, I want to make everything on code-based.

My player that you can see in the center of the above image, is created from the list called human_being. I'm not sure it is an efficient way. But it can be useful when I need to give animation to any objects in the game. 

My first priority is generating a natural-looking world. I said I added a basic minimap to the game and it gives the view of the world like below:

The red dot represents our character in the minimap. The problem is about generating the map. I don't want to my game doesn't look like the Caribbean Islands, it's not a pirate game. I need to optimize Perlin noise algorithm. Maybe I shouldn't use Perlin noise. The game map should be like below that is made as a prototype by me:

Well, I have no choice for now. I have to study about Perlin Noise.

I'm working on generating a tilemap. So, I'm trying to use Perlin Noise. This post created to showing just some effects on the map. What are we got as output when the changes in frequency and amplitude are applied.

For instance, if we pass 0.01 to noise2d function as a frequency value. That's the result what we got:

If we pass a value bigger than the last frequency value like 0.1:

So, it looks so complicated. So I'm taking back the frequency value to 0.01 and now we are going to pass a different value as amplitude value:

Amplitude: 1.0

Amplitude: 2.0

Amplitude: 10.0

Amplitude: 0.5

If we use three octaves:

  • frequency: 0.01  -  amplitude: 0.5
  • frequency: 0.05  -  amplitude: 0.25
  • frequency: 0.1    -  amplitude: 0.125
That's NOICE! 

To-do list in the next post:
  • Giving an Isometric view to the game.
  • Implementing auto-tiling for getting a better view of the game map.

No comments:

Post a Comment