Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Incline SHELTER update thread

zenbitz

Scholar
Joined
Feb 2, 2009
Messages
295
You could probably mix the two techniques.
 

soggie

Educated
Joined
Aug 20, 2009
Messages
688
Location
Tyr
shihonage said:
Nothing in that game was by accident, I tell you. All too often I end up arriving to the same design decisions they did, by reinventing the bicycle, instead of just imitating them from the start and saving time.

Thank god I read your experiences. I was about to do the same with my own with dynamic patrolling groups.
 

shihonage

Second Variety Games
Patron
Developer
Joined
Jan 10, 2008
Messages
7,183
Location
United States Of Azebarjan
Bubbles In Memoria
travelm.jpg


Support for Fallout-type random encounters is underway. It now loads premade maps (as opposed to obstacle-less wilderness).

Map script functionality allows to run commands upon entering the map, so they're now used to teleport Player to desired starting point within both "normal" and "encounter" maps. For instance, we may want the Player to start off being surrounded.

The commands also used to create "descriptions" when you enter the encounter, such as "You ran into a Union patrol".

thugs.jpg


What yet remains is the mechanism for determining which encounters are "more likely" and where. That, and deletion of extraneous items left on the encounter field when Player leaves it.

Then, I will need to change the encounter map. Ours is extremely zoomed out, and the Player moves way too fast. It should scroll, close-up, like the Fallout map, and scroll it will.
 
In My Safe Space
Joined
Dec 11, 2009
Messages
21,899
Codex 2012
Any chances for some tastefully done rape?
I always missed an option of raping Tandi after dealing with the raiders camp.
 

Terror Teats

Educated
Joined
Jun 6, 2010
Messages
371
I'm glad you have your priorities straight as far as including rape goes.

shihonage said:
* Higher CPU requirements (I am still hoping to have Shelter playable on a NETBOOK).

This would be great.
 
Joined
Jun 13, 2010
Messages
1,128
How were the 1000 (1000? really?) npcs moving in the background handled?
Did they only move across maps or did they actually moved permanently in the background?
I assume, they didnt move across maps if you were on their map or any map for that matter so they moved only while you were traveling?

And why am I seeing comic sans in the title here?...
http://secondvarietygames.com/
 

soggie

Educated
Joined
Aug 20, 2009
Messages
688
Location
Tyr
I'm assuming it's just a bunch of logical entities with tile location and world coordinates. Put in some basic pathing AI into each entity, randomize a little, and you'd get thousands of entities marching across the wasteland minding their own business. Pain in the ass to optimize and keep track though...
 
Joined
Jun 13, 2010
Messages
1,128
soggie said:
I'm assuming it's just a bunch of logical entities with tile location and world coordinates. Put in some basic pathing AI into each entity, randomize a little, and you'd get thousands of entities marching across the wasteland minding their own business. Pain in the ass to optimize and keep track though...

Yeah. But how does he transfer them into the "tactical map" coordinates? (too lazy to think about it)
Btw, what is an efficient way memory/cpu/ease of access wise to store a map? Array? Linked list?
shihonage, how do you do it?
I am writing a small roguelike and having basically zero theory doesnt help. Gotta look up every small thing...
 

shihonage

Second Variety Games
Patron
Developer
Joined
Jan 10, 2008
Messages
7,183
Location
United States Of Azebarjan
Bubbles In Memoria
Black Bart Charley said:
soggie said:
I'm assuming it's just a bunch of logical entities with tile location and world coordinates. Put in some basic pathing AI into each entity, randomize a little, and you'd get thousands of entities marching across the wasteland minding their own business. Pain in the ass to optimize and keep track though...

Yeah. But how does he transfer them into the "tactical map" coordinates? (too lazy to think about it)
Btw, what is an efficient way memory/cpu/ease of access wise to store a map? Array? Linked list?
shihonage, how do you do it?
I am writing a small roguelike and having basically zero theory doesnt help. Gotta look up every small thing...

Well, I came up with a number of tricks to make it work, and ironically, now I will be eliminating half of them in order to make the game better, because this "ambitious design" didn't offer any benefits!

Nonetheless, this is how everything worked:

* there's a reason I didn't use Flash and shit like that... using Visual C for speed didn't hurt

* I do everything through static 2D arrays

* it handled fine something like 1400 entities moving in realtime on 3000x3000 map - with combat (fighting each other) and Lode Runner-or-worse pathfinding, because the only potential obstacles for them on BIG MAP were borders of towns, and the NPCs themselves

* only one town was stored in memory at a time - the town YOU are in.

* EVERY town's COORDINATES were stored in memory though. This means, left corner X, Y on BIGMAP, and their overall length/height.

* so there's 2 structures - local (detailed) map and BIG MAP. Local map contains EVERYTHING, BIG MAP's each cell is only a reference to an NPC that's standing on it

* NPCs that are stuck on BIG MAP (wilderness/emptiness), were not permitted to cross town borders unless YOU are in this town, therefore the town is loaded, therefore we can track the obstacles and prevent them from getting to places they shouldn't be getting to. Player-centric design - if the player doesn't notice it, it doesn't matter.

* they WERE permitted to cross from the BIG MAP into the local town YOU ARE IN, so the Giant Rats could chase you to the gates from a previous encounter, and the guards would kill them.

* There are routines for translating BIG MAP x,y into LOCAL MAP x,y, and vice versa - I use them very often

* NPCs have behavioral modes AI_GUARDPERSON, AI_GUARDAREA (half-assed patrol), and something I forget

* The only per-tick processing performed for NPCs was animaction (animation linked to action, such as firing or "magic fiddling"), and movement. This is the spinal column, primitive, fastest response, it had to ensure real-timeness, or appearance of it.

* Higher-level AI functions (combat decision-making, for instance) were spread out to save CPU time. Each NPC was given a random tick number at which they would execute their next decision.

* Above was done for NPCs that are farther away from you on the big map - because you don't see them, the balance isn't broken, because their lagged reactions are equally retarded against each other.

* For area hostile scan, I determined that iterating through 1400 NPCs was more time-consuming than scanning a 20x20 (or even 30x30) area around each, making from 400 to 900 iterations. The CPU time for this was spread using above technique of making NPCs do it on average every 25th cycle, instead of EVERY cycle.

* Running into hostiles on big map near edges of a town (or several) forced cutting up of the encounter map's edges. In this case exiting it in some directions would immediately transition you to the nearby town

...

It was kinda fun to watch little red combat markers on the 3000x3000 map light up and watch the messages about Raiders being knocked down by Giant Rats, and then stumble upon corpses, but it got old after a while, and didn't really offer ANY benefits to gameplay - only problems.

I mean, what are the chances of you stumbling upon that Fallout2 family slaughtering encounter just at the RIGHT moment in this scheme? None.

If you're making a rogueline I'd suggest going the classical route and NOT trying to make the big map (should it exist) into a "REAL SPACE". If the player doesn't see the difference, it doesn't matter.

P.S. there are problems with having people ONLY LOCALLY, because then you can't check quest status for someone who is NOT IN LOCAL TOWN.

However, having GLOBAL people list creates the following problems:

* inability to elegantly implement "dungeon levels" that you "rope into" from an existing map, as their 2D coordinates cross...

* having to iterate through the WHOLE LIST while on the local map is undesireable. What should be done, ideally, is upon entering the local map you create list of people that are on it, and process only THEM actively. Passively you can still check stats of "outsiders" as needed by quests.
 
Self-Ejected

Kosmonaut

Lost in Space
Joined
Jul 11, 2008
Messages
4,741
Location
CCCP
When I was working with a small isometric engine, before getting bored and scrapping everything, I did something similar, but following a coarse/fine grained approach. When I was in a town or an area in the global map, and there were moving entities (townspeople, animals, enemies, etc.) in the same map region that the PC was, I would do the full walking animation (it was more like the sliding animation in Avernum), calculate paths, etc. (fine grain).

The moment the entity was outside of the view, the path was more coarse: I jumped from one tile to another skipping a bunch, and obviously taking care of the overlap between entities. The animation wouldn't be blitted to the map but the position in the map (x,y) would change,

That way, if I returned to the place where the entity was, I would revert to the full fledged animation. If the PC was outside of that town map I would just calculate whatever stuff was done there for each entity (quantity of swords worked per day, harvested wheat, etc.) and save it. This was the coarser action.

If enemies or wild animals entered the town, and I was outside of it, instead of a complete, turn based fight, I would just randomly choose a course of action and be done with that. For example, sometimes the wild animals would run away. Or I would take a little bit of energy from both sides and then make them run away. Or if some of the fighting side was weaker, I would just kill instantly the creatures and remove a little bit of energy and ammunitions from the townspeople.

That way I saved a bunch of processing cycles that would be wasted anyway, because trying to emulate everything is quite expensive, and, as you said, the player would notice it anyway.

This obviously lead to hilarious situations, but as I was just experimenting a bit, I didn't expanded the engine and scripting to plug all those holes in the gameplay.
 

shihonage

Second Variety Games
Patron
Developer
Joined
Jan 10, 2008
Messages
7,183
Location
United States Of Azebarjan
Bubbles In Memoria
Kosmonaut, I considered a similar approach but realized it required a secondary engine for all the "approximations", so I chose to stay with primary engine, just make it dumber at far distances from the player.

I recently implemented so-called "pathfinding" which attempts to use a more complex version of "Creepy Watson" technology. Yet more fooling of the Player !
 
Self-Ejected

Kosmonaut

Lost in Space
Joined
Jul 11, 2008
Messages
4,741
Location
CCCP
:lol: It's a clever approach, albeit incredibly creepy. By the way, the engine you are using is 2D or 3D?
 

shihonage

Second Variety Games
Patron
Developer
Joined
Jan 10, 2008
Messages
7,183
Location
United States Of Azebarjan
Bubbles In Memoria
This video shows upgraded travel system and the upgraded random encounter system, which now allows for fully controlled custom encounters.

And yes, what happens in the end is an imitation of a Fallout2 encounter - done entirely through external scripts

P.S. There will be no "VAULTS" in the game - this is just a map left over from the early development..
 

ghostdog

Arcane
Patron
Joined
Dec 31, 2007
Messages
11,158
shihonage said:
This video shows upgraded travel system and the upgraded random encounter system, which now allows for fully controlled custom encounters.

And yes, what happens in the end is an imitation of a Fallout2 encounter - done entirely through external scripts

P.S. There will be no "VAULTS" in the game - this is just a map left over from the early development..

Ha, thats what you get for attacking chainsaw-wielding dudes wearing power armors. You know, Shelter is starting to look really awesome. Maybe you should ask DU to make a separate forum for it here in the Codex.
 

shihonage

Second Variety Games
Patron
Developer
Joined
Jan 10, 2008
Messages
7,183
Location
United States Of Azebarjan
Bubbles In Memoria
:)

Thanks, but this experiment already took place on NMA and the Shelter forum there is a wasteland... pun intended. This thread isn't active enough to warrant a forum.

It would be cool to have the videos sometimes featured on front page, but I no longer have the fortitude to mail admins about them.

I figure if someone either here or on NMA deems them qualified, they'll post them... after all thats how our first video unexpectedly made it to NMA front page in 2007.
 
Joined
Jun 13, 2010
Messages
1,128
The maps:

The big world map in Fallout was fake. Ours isn't. Shelter's random encounters are not random. Somewhere on the far corner of the map, a Scavenger may be fighting for his life against a Union Patrol, and eventually you may stumble upon his looted corpse. You may also stumble upon any of the other 1400 entities actively scouring around the world in realtime.

Page 1. ^^


So, right now I am busy changing our system into Fallout's fake encounters. We will have our set-piece maps, and they will be delicious!

Are the persistent agents on the map "out" completely? Or do you keep both systems?
Its a huge amount of work but a simulated animal population would be interesting. :o
 
In My Safe Space
Joined
Dec 11, 2009
Messages
21,899
Codex 2012
How tactical is the combat system going to be?
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom