My New Game ... still untitled

There's only need for one forum for now. Discuss development. No advertising or thinly veiled attempts at advertising. Create a single thread for your project and be prepared to show and tell.
100goats
Posts: 45
Joined: Mon May 04, 2020 9:29 pm

Re: My New Game ... still untitled

Post by 100goats »

Nice. The AI seems to be working well.

User avatar
Deckhead
Site Admin
Posts: 93
Joined: Fri Feb 21, 2020 5:44 am
Location: Sydney, Australia
Contact:

Re: My New Game ... still untitled

Post by Deckhead »

Thanks guys. Yeah, so far the AI is limited in what it does, but it's performing it's tasks in a super modular way. My goal was to make a core system that I can incrementally add new features to as time goes on.

This means right now I've got a couple more "big" things to do until I can just add new stuff in little bits and pieces. The big things:
  • Random Map Generation. I've been playing with this the last few days. It's a little annoying tbh. I'm going for a different kind of map now that what I had before (more below)
  • Clan-Member needs. Right now, the guys, clan members, only pick up "things". I need them to weigh doing orders against their own needs. For now, I'll probably just give them a hunger and possibly sleep need; just to make sure the system of them deciding what to do is working adequately.
With the above implemented, I should then be able to slowly add new features.

I've also made a change to the background of the game. I don't think a city is going to work. Instead, I think they player will be in some sort of unknowable construction for some unknown purpose. Kind of like that move Cube, but not such small scale. I'm thinking large cavernous rooms, smaller rooms, etc, all connected by hallways and doors (a NetHack sort of map look). Each of the larger rooms can then act like a bit of a biome. The player can dismantle and construct walls, but there's a sort of "alive" system of cables that spread into the walls, that act as a resource the player needs to manage.

Not 100% sold on it yet, but I like the idea of not needing to provide any backstory. It's just, this is the reality your people are in, for all you know, this is the sum of humanity. You need to survive, because there's nothing else.

I know that I should have some sort of "winning" condition for the end... like how RimWorld has the spaceship... but I like the idea of Dwarf Fortress just playing because it's fun, not because you can win.

I haven't played Rimworld. I'm avoiding it like the plague. I'm aware my game is already starting to look like Rimworld, so I don't want to be influenced by it's gameplay.
Developer of The Last Boundary and webmaster of IndieGameDev.net

User avatar
Deckhead
Site Admin
Posts: 93
Joined: Fri Feb 21, 2020 5:44 am
Location: Sydney, Australia
Contact:

Re: My New Game ... still untitled

Post by Deckhead »

I think I'm about 80% of the way on the map generation.

In this example, each colour represents a new RoomId. This way I can place certain room-biomes in specific locations so that each room sort of has a "purpose" within this weird megastructure. I still need to make this into a 3D map, but it shouldn't be too much work to expand this into a third dimension.

Though to be 100% honest.... I'm not sure if it's needed?
map.png
map.png (13.57 KiB) Viewed 1445 times
Developer of The Last Boundary and webmaster of IndieGameDev.net

100goats
Posts: 45
Joined: Mon May 04, 2020 9:29 pm

Re: My New Game ... still untitled

Post by 100goats »

The map looks good!

Is there a specific algorithm that you are using to generate it? If so, what is it?
Deckhead wrote:
Wed Jun 10, 2020 10:25 pm
Not 100% sold on it yet, but I like the idea of not needing to provide any backstory. It's just, this is the reality your people are in, for all you know, this is the sum of humanity. You need to survive, because there's nothing else.
I like this idea too. I did this for my game.

Unfortunately, for some people the story is important and they'll lose interest in the game and complain about a lack of story.

However, a good story can really make an impact on the player and also make them invest time in playing the game.
The Legend of Zelda : Ocarina of Time is a brilliant at storytelling.

User avatar
Deckhead
Site Admin
Posts: 93
Joined: Fri Feb 21, 2020 5:44 am
Location: Sydney, Australia
Contact:

Re: My New Game ... still untitled

Post by Deckhead »

I've been working on the rendering for this. It's caused me to re-do a lot of my very old 2D rendering code to add depth testing.

That's a good thing, but it's taken a lot of time.

During that time I've also been thinking a bit more about the game. One of the big draw cards to these colony sims is that construction of buildings. I've not done that. Clearly, I'm making a game where the construction already exists. Even in the earliest stages, putting the game in a city, it doesn't work. If the player isn't creating their colony from nothing, then it's not really suitable.

With that in mind, I need to take a step back and rethink a lot of this. If I look to Dwarf Fortress and Rimworld, both of these games put the player in the "middle of nowhere" with just a couple guys and some supplies. That's what I need to do; because that's the draw of playing this sort of game. I'm thinking now that it would be set on some part of a randomly created map (I won't go so far as Dwarf Fortress... I think). And I think it will be a little bit like Minecraft, in the sense that you need to find protection and/or light sources before nightfall comes.

In my game, I think monsters will come out at night.
Developer of The Last Boundary and webmaster of IndieGameDev.net

EighthDayAdvent
Posts: 33
Joined: Fri May 08, 2020 2:33 pm

Re: My New Game ... still untitled

Post by EighthDayAdvent »

Good job!

Did you get pathfinding improved, I did not see that if you did.

User avatar
Deckhead
Site Admin
Posts: 93
Joined: Fri Feb 21, 2020 5:44 am
Location: Sydney, Australia
Contact:

Re: My New Game ... still untitled

Post by Deckhead »

EighthDayAdvent wrote:
Mon Jun 22, 2020 1:07 pm
Good job!

Did you get pathfinding improved, I did not see that if you did.
Yeah I solved the immediate issue; I've tested it with about 20 or so path-finding units in real-time, and it works suitably (running on a Surface Pro 2).

Basically; in the Entity Component System, there's a Pathfinding component and an associated System. The system basically does this:
  • Does this Entity require a path? - There's a flag in the component that says "needs to find a path", and an associated Goal position
  • Sets up a work job to find the path - Instantiates a Pathfinding job, just a function that returns the results of the pathfinding algorithm, using a const reference to the static world data. "Static" data meaning the things that exist all the time, basically, what tiles can be walked on, which can't be. The final part of the this is giving a future/promise to the Pathfinding component.
  • Job sent to thread pool - the job gets queued. Eventually the future is populated.
  • Meanwhile, the system is checking every frame if the future/promise has been fullfilled - once it has been, the unit gets given it's path to follow
  • Pathfinding updated as needed - this is half-way done. While following the path, the unit is checking for any problems with their path, like there's now a wall there, or potentially another unit. Then they'll engage in mini-pathfinding, so if there's a wall, they'll just request a brand new path. If there's a unit (I haven't done this bit yet), they'll do a traffic-queuing sort of thing to figure out who moves and who stays etc.
Developer of The Last Boundary and webmaster of IndieGameDev.net

EighthDayAdvent
Posts: 33
Joined: Fri May 08, 2020 2:33 pm

Re: My New Game ... still untitled

Post by EighthDayAdvent »

Deckhead wrote:
Wed Jun 24, 2020 1:06 am
EighthDayAdvent wrote:
Mon Jun 22, 2020 1:07 pm
Good job!

Did you get pathfinding improved, I did not see that if you did.
Yeah I solved the immediate issue; I've tested it with about 20 or so path-finding units in real-time, and it works suitably (running on a Surface Pro 2).

Basically; in the Entity Component System, there's a Pathfinding component and an associated System. The system basically does this:
  • Does this Entity require a path? - There's a flag in the component that says "needs to find a path", and an associated Goal position
  • Sets up a work job to find the path - Instantiates a Pathfinding job, just a function that returns the results of the pathfinding algorithm, using a const reference to the static world data. "Static" data meaning the things that exist all the time, basically, what tiles can be walked on, which can't be. The final part of the this is giving a future/promise to the Pathfinding component.
  • Job sent to thread pool - the job gets queued. Eventually the future is populated.
  • Meanwhile, the system is checking every frame if the future/promise has been fullfilled - once it has been, the unit gets given it's path to follow
  • Pathfinding updated as needed - this is half-way done. While following the path, the unit is checking for any problems with their path, like there's now a wall there, or potentially another unit. Then they'll engage in mini-pathfinding, so if there's a wall, they'll just request a brand new path. If there's a unit (I haven't done this bit yet), they'll do a traffic-queuing sort of thing to figure out who moves and who stays etc.
So, what are the nodes in the search for the path? I use tiles and sub tiles, how many possible paths are we talking here?

User avatar
Deckhead
Site Admin
Posts: 93
Joined: Fri Feb 21, 2020 5:44 am
Location: Sydney, Australia
Contact:

Re: My New Game ... still untitled

Post by Deckhead »

So using a 400x400 tile map, with about 10% of them unwalkable, about 144,000 tiles. Paths were just random points anywhere in that area. There's a bit of a delay because they stand there waiting for their path to be completed, but we're talking milliseconds of them standing there, like under 2 seconds each.
Developer of The Last Boundary and webmaster of IndieGameDev.net

EighthDayAdvent
Posts: 33
Joined: Fri May 08, 2020 2:33 pm

Re: My New Game ... still untitled

Post by EighthDayAdvent »

Does the map change? If not, you could always store paths that worked.

How many entities are there pathfinding?

I got a 50x50 map but each tile is itself broken down into a 3X3 subtile map. The reason I did that was the map changes with tile structures (that go on the 3X3) map and one structure is walls.

So, if there are no walls, it uses the normal 50X50 tile pathfinding, but if there is a wall it uses a method that makes use of the internal mappings.

I can do about 2 million path finds in between turns and still get under 10 seconds in between turns. Thats what limits the game features because more things = more pathfinding.

Post Reply