Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1393818 Posts in 67110 Topics- by 60089 Members - Latest Member: JacobHomanics

August 05, 2021, 11:01:36 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsXeen inspired, top-down, experimental RPG
Pages: 1 [2]
Print
Author Topic: Xeen inspired, top-down, experimental RPG  (Read 2666 times)
miroz
Level 0
**



View Profile
« Reply #20 on: July 21, 2021, 10:59:24 PM »

What's next?

I had a short break from working on the game so I can recuperate a bit, do some paid work, work on some technology testing and do some hands-off thinking.

What I did up to now can be called the first sprint, if you allow me some agile PM lingo. Its goal was to make the proof of concept, and that's what I did. The goal for the second sprint could be to produce something playable, not too deep, but something you can start, have progress, and finish. I introduced the multilayered map, some programmer art, enemies, and basic combat. The goal is now to improve on these components by adding some gameplay.

What do we need? At least some opponents and a quest. How to get it? Well...

Improving graphics

I'm testing the idea of baking sprites and animating them from 3d models. This should allow me to buy 3d assets which are abundant instead of doing 2d art which is hard to get.

For the environment though, I have a different idea. Look at what this guy is doing for tabletop maps (https://twitter.com/_MoonlightMaps):


I would love to have such graphics for the environment in the game. This shouldn't be too difficult to achieve for the proper artist. Once I have the gameplay prototype, I'll go search for the artist. At least I know what I want. (If you're that artist, PM me, I'm hiring Smiley )

Mission

Or quest, whatever. I'll test the game logic with a simple scenario: there is a goblin encampment nearby, destroy it and get some loot. The scenario is simple but a lot of elements need to work together for it to be playable:
  • Encampment - some object on the map that can be destroyed, but it's usually guarded by its inhabitants
  • Enemy - I already implemented the basics, meaning they exist and you can kill them
  • Enemies - they need to work as a group. What I want to happen is that as you approach their camp, you'll find them scattered around but as you draw closer they'll group and defend the area.
  • Loot - when you destroy the camp, you get something from it and keep it in your inventory

Opponent AI

I spent most of the time thinking about the AI in the game. For Battle Bolts, I implemented the Utility system, but the game was small with a limited set of moves so I took shortcuts. Now I re-read and re-watched a lot of materials, and I learned some new concepts. The result is that I know how to implement Utility system, GOAP and even Monte Carlo. I'm ignoring FSMs here because I know they are easy to implement at first but later it gets messy as you add exceptions and you get stuck. Been there.

MC is off in this case because I don't need a reinforced learning system but it's good to know it, RL is exciting.

That leaves me with GOAP and Utility. I switched between them, one day GOAP seems to be the better choice, the other day it's Utility all the way. Finally, I settled on Utility because the implementation is simpler and it better fits my model. GOAP uses path-finding to connect possible actions, which can create a really smart multistep behavior, but as I'm already scripting such behaviors (weapon change, melee focus), I won't use the main advantage of GOAP. Utility system works on a higher level, so it should allow me to program different scripts (behaviors) and let it choose the best script based on considerations.

Some resources:
Great GOAP Udemy course: https://www.udemy.com/course/ai_with_goap/
GOAP GDC talk:


Utility System GDC talk: http://www.gdcvault.com/play/1021848/Building-a-Better-Centaur-AI


Logged

miroz
Level 0
**



View Profile
« Reply #21 on: July 28, 2021, 10:52:40 PM »

Graphics improvement

I have to step up a bit in the graphics department, but as usual, let's see what I can get with minimum effort.

I want the game to be 2d, but it's near impossible to get the assets for a top-down, 2d game, without having the artist on the team. But I had this idea from the start: what if I take 3d assets that are abundant and render them to 2d. All beautiful old isometric games did that, look at Caesar 3 or Age of Empires. Except that they did their own 3d models, but let's see what can be done with some cheap assets.

I bought some monster models, a Toon shader, and Animation Baking Studio which can export 2d spritesheets from the 3d animated model. Let see how this works. (This guy here on forums is doing something similar)

Starting with some Goblin model I spent some time playing will all those new packages, but in the end, I got something. I exported walk and melee attack animations, plugged them in the existing system and I got some results:

From model to spritesheet:
 

Into the game:


I'm not overjoyed with this, I expected better output. I limited the individual sprite to ~128px and set 10 frames for animations. Animation is somewhere in the middle, not too blocky, but not too crisp. I definitely expected better edge detection for the outline from the shader, not just the silhouette. I'll have to spend some more time with tools to get the proper pipeline, or even touch the exported sprites a bit. But, progress is there. We're making content now!
Logged

miroz
Level 0
**



View Profile
« Reply #22 on: August 01, 2021, 10:29:52 PM »

Reorganizing tiles

Since I wanted to have the party that moves together, that's also how I modeled the tiles and enemies. They will form parties and move together, like the player. And now that I want to add multiple opponents, this approach starts to break down. For example, if there are some ranged opponents AI should organize it so that melee fighters are near the player and archers stay behind. But if I put them in parties of four, they are locked to their party formation so this would look weird. There is no reason for enemies to move in groups of four.

So I had to do some changes under the hood. I split every tile into four pieces. Graphics tiles will stay the same size, but the virtual tiles I use to calculate movement and distance will be in higher resolution. I can use this to draw fog of war too, which will make it a lot less blocky. The movement will stay almost the same, except that logically everybody will move two tiles instead of one, visually it'll look the same. The change is for the better, but it took some time to implement.

I had to rip out and rearrange some systems that were party-based, but still keep some of them because the player's party does move together. Blending this was difficult, but it's done now. While I was refactoring, I also added some improvements which I couldn't do before.


Improved ranged attack a bit. Now, when you execute the attack, they'll shoot at the closest enemy, searching for target in all directions instead of just in the direction the party is facing:


Melee stance and attack also looks better. All characters will automatically face the opponent, even the back-row characters. Attacks are now possible in diagonal too:




After that, It's time to make some enemy AI.
Logged

Pages: 1 [2]
Print
Jump to:  

Theme orange-lt created by panic