[A17] PokéRim – A Pokémon mod series for RimWorld

Started by WalkingProblem, April 09, 2017, 11:56:25 PM

Previous topic - Next topic

WalkingProblem

Quote from: Nekokon on October 06, 2017, 12:41:18 PM
I understand what you were trying to do now. I was assuming all types of pokeballs have the same flat capture rate based solely on pawn's Animal level since you only mention the range different between each type in your previous post. If the ball's capture rate can be changed then just ignore the 2nd part of my post.

Somehow your way of explaining "how to catch wild animal" makes more sense than the original game. The main real life concept is still "to prevent them from running away or attack", but because it's a game they turned that into battle and I was hanging onto the game method instead of the logical one. I need to think team rocket harder.

Still, if hp won't affect success chance you will need to think of another way to limit balls spamming on downed pokemon since it's a lot harder to accidentally kill them now, especially strong ones. Maybe a lot of small bleeding wounds from fragments (but not much pain, to prevent them going down too easily with only balls) ? Strong pokemons still won't go down too fast, but by the time it does you will have a lot of patching to do, and spamming balls would make it bleed faster than your doctor can treat it.

Respawning ball after explode is good enough, but I was worrying about bugs with impassable terrain. If you can make it work then there's no problem, although you should pump the ingredients for pokeball up a bit. Also I'm not too sure about the idea of mass taming. Pokemon has always been kind of game focusing on individuals, thus it feels weird to be able to catch them enmasse and release toward raids like expandable pawns. For epic theme like Game of Throne, yes, but pokemon, errr... If you want to expand the idea of not having to fight to catch low level creatures, maybe make pokeball with lower rate but high accuracy and instantly explode upon hit ? It should be enough to catch them with just 1 shot when they're sleeping because of the low wildness, no fight needed.

Yeah,all your concerns are valid and I actually already test too.

The "mass tame" via the explosion radius actually only make capturing that 1 animal easier. Because its unlikely I will make the explosion radius more that 5 squares (because of the lag due to the logic I used in the coding). Mainly, its more like 2-3 radius (think grenade in vanilla game). And even if I decide to create a 10 explosion radius pokeball - its will be balanced by allowing it mainly only to tame really low level animals. 

In my testings, most animals dun even stand near to each other close enough to do mass taming.

So its more like making its "easier" to capture the animal, rather than "mass taming" - because you need to remember, the pokeball throwing misses the mark quite a lot (depends on range stats?) - which is why, the most accurate is always to just stand next to a stationary animal and throw at it. (down and sleeping)

----

Yeah, I need to adapt the game to the Rimworld logic. The "battles" do not really happen in the way in the Pokemon game. Its more like a very angry animal on manhunting and just stab you to death before you can do anything. LMAO.

Taming strong animals is really going to be difficult - because to down a strong animal, you will need a lot of damage (probably your entire colony going out to attack it) - but if you maim it or cause permanent injuries to it... it would render it meaningless to tame it. Thus you need use a very powerful pokeball to tame it first time (any failure will cause manhunting).

So its up to the players to weigh the options - to spend crazy amount of expensive resources on a super powerful pokeball, or to pick a fight with a thrumbo. 

====

By the way, in my codes, i set that, you can only tame an animal that is without a faction. Which means, you cannot tame insects from infestation event. (not sure about the bugs on arid/desert though)

Nekokon

#61
Great to see you ironing this out smoothly.

Grenade has <ForcedMissRadius> 1.9 (iirc) by default, I think that's why you have been missing them a lot. You can tone it down a bit if you want to make high accuracy pokeball.

Regarding taming strong animals, I think the better method would be making use of pokemon:
1. The easier way is to change their attack to do blunt dmg (to not cause bleed) and let them duke it out. While we're trying to prevent ppl using op human weapon to cheese pokemon, it's not a problem if players use captured pokemons to gang up on a wild strong one (which was exactly what we did in pokemon game anyway).

2. The hard way involves coding hediff into pokemon's ranged attack (after you'd already solved the problem with giving ranged attack to pet, adding hediff directly to the weapon would be simple). Special effect from ranged attack may vary from chance to fall asleep (1 free ball throw, need a long cd to prevent cheesing), chance to increase pain, reduce conscious (go down faster) to apply slow/stun/reduce accuracy...

If you have no pokemon to fight or your pokemons are too weak to tackle on a strong wild one, that's when you have to choose if you want to take the risk of using human weapon and cripple the poor guy (or getting ko'ed by the beast and go down with your colony). It takes longer but the trade off is higher chance of catching strong pokemon without permanent injuries, and it's also lore friendly.

WalkingProblem

Quote from: Nekokon on October 06, 2017, 11:53:31 PM
Great to see you ironing this out smoothly.

Grenade has <ForcedMissRadius> 1.9 (iirc) by default, I think that's why you have been missing them a lot. You can tone it down a bit if you want to make high accuracy pokeball.

Regarding taming strong animals, I think the better method would be making use of pokemon:
1. The easier way is to change their attack to do blunt dmg (to not cause bleed) and let them duke it out. While we're trying to prevent ppl using op human weapon to cheese pokemon, it's not a problem if players use captured pokemons to gang up on a wild strong one (which was exactly what we did in pokemon game anyway).

2. The hard way involves coding hediff into pokemon's ranged attack (after you'd already solved the problem with giving ranged attack to pet, adding hediff directly to the weapon would be simple). Special effect from ranged attack may vary from chance to fall asleep (1 free ball throw, need a long cd to prevent cheesing), chance to increase pain, reduce conscious (go down faster) to apply slow/stun/reduce accuracy...

If you have no pokemon to fight or your pokemons are too weak to tackle on a strong wild one, that's when you have to choose if you want to take the risk of using human weapon and cripple the poor guy (or getting ko'ed by the beast and go down with your colony). It takes longer but the trade off is higher chance of catching strong pokemon without permanent injuries, and it's also lore friendly.

Yeap yeap~

So for the pokeballs, we can have many different versions - some grenade throw speed is faster, some grenade flies over faster, some detonate faster, more accurate or less accurate, etc...

So mid level pokeballs can possible be more like dodgeball type of throwing~ haha

Yeah, for the ranged animals, i need to go check the codes soon. After I'm done with the pokeball foundationals codes.

Once I'm done with the pokeball codes - will be the fun part - we can start conceptualising and designing the pokeballs together~
(it would be easier if you join my discord though~ easier to chat there and share the work)

Everyone feel free to join my discord: https://discord.gg/W2Vb27T

WalkingProblem

#63
Totally revamped the "pokemon combat system"

How the maths / dice roll works:

POKEMON / CREATURE
Difficulty = Wildness of animal (which means 0 = totally not wild, 1 = totally wild)
CombatPower = Default combat power listed in which animal (this determines how many elephants vs boomrats will appear in a manhunter event) / 200 <--- elephant is 310, thrumbo is 600, boomrat is 50
AnimalHealth = By percentage of health. 100% health = 1, 10% health = 0.1

So the "PokemonLevel" = Difficulty + CombatPower + AnimalHealth

CASTER
Random Number = between 0 - 0.5 (this is for randomness)
CasterStats = Animal Taming Skills ( Animal Skills 0 = 0, Animal Skills 20 = 0.22) x 10 <-- This is in accordance to the vanilla game, where a level 20 will have 22% chance of successful tame
PokeballLevel = Weapon Damage / 100

Pokeball Caster's "diceroll" = Random Number + CasterStats + PokeballLevel

So the determination of whether is a successful tame, depends on which number is bigger. PokemonLevel or Caster.
If PokemonLevel > Caster, taming fail.
If PokemonLevel < Caster, Success!

-----

For some reference (full health):

Chicken: 1.11
Boomrat: PokemonLevel 2.0
Panther: PokemonLevel 2.575
Elephant: PokemonLevel 3.3
Thrumbo: PokemonLevel 4.985

Level 0 Caster (with pokeball of damage 50): 0.5 ~ 1.0
Level 20 Caster (with pokeball of damage 50):  2.7 ~ 3.2
Every Animal Level gains 0.11 in pokeball stats.

------------

This is Mushinto, my test Pokemon Master


At Animal Level 4, he is still considered a noob in pokemon catching
The test Pokeball hits 2 chickens, but only one got tamed.


This one he failed


And I think the mathematical logic is perfect now, as Mushinto cant even catch a turkey at full stats. He needs a better Pokeball.



Mushinto then finally managed to tame the Turkey after punching it and try the pokeball again.


The first pokeball failed, so the Turkey turned manhunter.

So while Mushinto got bitten by the Turkey, the 2nd pokeball succeeded (thus the tamed Turkey is fleeing from the shock)

------------------ UPDATE -----------------

Added Text to indicate Success or Failure

SpaceDorf

To clarify the process ..

Caught Pokemals are instantly tamed, nothing else at the moment ?
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

WalkingProblem

Quote from: SpaceDorf on October 07, 2017, 07:03:18 PM
To clarify the process ..

Caught Pokemals are instantly tamed, nothing else at the moment ?

Yes. Nothing else.

Although other things does happen to the colonist that caught the pokemon - tale is added, animal skill will improve (amount is according to the animal's combat power), "pokeball combat stats" available in the error log for player's reference, animal tamed stats will increase as well (as if you tamed them by food).

SpaceDorf

Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

WalkingProblem

So i'm actually at the stage of the "most fun part" - creating the actual Poke Balls.

The way how the Poke Ball works in the Nintendo games arent really suitable for direct translation - as the GEN I Poke Balls difference are mainly only in capture effectiveness (since combat is 1 dimensional)

In Rimworld, we are in a 2 dimensional world, so we can actually do things differently - perhaps even invent our own Poke Balls.

For now, I guess I will just add the 4 main types (-Safari Ball) from the GEN I: Poke Ball, Great Ball, Ultra Ball & Master Ball


Poke Ball will be the standard type, in which throwing accuracy is important. Its probably also not very effective against higher level creatures.


Great Ball will be a standard type, but with a bigger capture radius (the only one with a capture radius in the 1.0 release). While its still just as basic, but it allows pawns with lousy aim to capture easier.


Ultra Ball will be the higher level type, which can allow you to capture most of the wild animals, less the most powerful ones. (provided your pawns' animal skill isnt too sucky)


Finally, Master Ball will be the ver1.0 most powerful poke ball, which can allow you to have a chance to capture very powerful creatures like Elephants and even Thrumbo. I will make sure that it would not be a "one hit wonder" against Thrumbo.

Then in future versions, I will add even more type of balls that can be crafted with all sort of weird stuffs, different effects and usage, as well as Pokeballs that are powerful enough to deal with even more powerful creatures than Thrumbo (like my future Dinosaur mod - DinoRim, or the Pokemon mod - PokeRim)

kubolek01

Typical Thrumbo hunt ends up with 1/3 chance to keep it alive. If so, best time to attemp catching the hopeless animal. Remember 33% to survive being downed as non-colonist!
Eat lead, walking pile of silver! (greedy Player)
I...I can't do it. Leave it alive, please!(inner soul)
It lives 200 years to end up as a jacket?!(realists mind)
If I would go to vacation in off-Earth, even fictional place, I'd choose Nibel.

Nekokon

#69
Wow, you're progressing so fast. It's Thanksgiving weekend over here so I'm just chilling out and didn't look around the forum much. At this speed we might as well discuss about actual pokemon combat and balance (151 is quite a big number after all).

A small note for capturing part still: I think you should try to limit being able to capture a lot of creatures early game since it would be quite a big advantage. Remember you will only lose the ball if you successfully tame the creature (if you're still doing it this way). Maybe increase the cost of pokeball and gate stronger balls behind tech or rare resource, ex: pokeball can be crafted in crafting spot with iron/wood/stone block, great ball can only be crafted in smithy with plasteel/chemfuel/silver, ultra ball can be crafted in machining table with gold/jade/uranium, and master ball is from special event only. Pokemon will be able to help out your colony a lot depend on types, so it should cost accordingly.

Also I think there's no need for a big event notice (having to click and close) since there's no automatic "tell someone to capture this" button and you will always know right away if you success or fail. It can be simplified into small notice on top of the screen. Just QoL thing.

For pokemon combat power, you can reference this chart: https://bulbapedia.bulbagarden.net/wiki/List_of_Pok%C3%A9mon_by_base_stats_(Generation_I).
Just think how a Thrumbo (600 in rimworld) would fare against a Dragonair (500 in pokemon) and scale them up accordingly. Depend on how faithful you want to follow the original we can talk more about each pokemon's individual stats to adjust.

For sprites, good news is we have all the overworld (full view: front/left/right/back) sprites from HeartGold - SoulSilver. Bad news is they're from a DSi game so the resolution is rather low.
https://www.spriters-resource.com/fullview/26794/
This is ripped from the game itself so you only have to credit Nintendo as usual (and hope they won't go after you if this mod get popular). Maybe the ripper too, but not mandatory since he said so.

Opps, forgot the separated sprites: https://veekun.com/static/pokedex/downloads/overworld.tar.gz
You can use 7z to unzip.

WalkingProblem

Quote from: kubolek01 on October 08, 2017, 09:08:26 AM
Typical Thrumbo hunt ends up with 1/3 chance to keep it alive. If so, best time to attemp catching the hopeless animal. Remember 33% to survive being downed as non-colonist!

If you note my calculations:

Thrumbo: PokemonLevel 4.985
VS
Level 0 Caster (with pokeball of damage 50): 0.5 ~ 1.5
Level 20 Caster (with pokeball of damage 50):  2.7 ~ 3.7

Full health worth 1.0 pts. So assuming you can down it at 0.33 health, you will still need to defeat a PokemonLevel of 4.315.

Standard Pokeball and Great Ball both is only 50 in damage (+0.5)
Even you use a Ultra Ball which is 100 in damage (twice as powerful) to increase your Level 20 Trainer to 3.2 ~ 4.2 <-- and still its not enough to beat a Thrumbo. (heehee, see the amount of balancing I did there?)

Thus the only way to get legendary creatures like Thrumbo or Dinosaurs (my future mod, not talking about the existing ones, since I dunno how they coded it) - is to use the Master Ball.

Master Ball is 4 times more powerful than a standard ball.
Your Level 20 Trainer with Master Ball will be 4.2 ~ 5.2 - which will be enough to capture a downed Thrumbo (unless you are damn unlucky), but will provide you with a good fight if its not down.


(the number is 0.5 higher, because I've increased the randomness range to 0.0 - 1.0)

Quote from: Nekokon on October 08, 2017, 10:20:25 AM
Wow, you're progressing so fast. It's Thanksgiving weekend over here so I'm just chilling out and didn't look around the forum much. At this speed we might as well discuss about actual pokemon combat and balance (151 is quite a big number after all).

A small note for capturing part still: I think you should try to limit being able to capture a lot of creatures early game since it would be quite a big advantage. Remember you will only lose the ball if you successfully tame the creature (if you're still doing it this way). Maybe increase the cost of pokeball and gate stronger balls behind tech or rare resource, ex: pokeball can be crafted in crafting spot with iron/wood/stone block, great ball can only be crafted in smithy with plasteel/chemfuel/silver, ultra ball can be crafted in machining table with gold/jade/uranium, and master ball is from special event only. Pokemon will be able to help out your colony a lot depend on types, so it should cost accordingly.

Also I think there's no need for a big event notice (having to click and close) since there's no automatic "tell someone to capture this" button and you will always know right away if you success or fail. It can be simplified into small notice on top of the screen. Just QoL thing.

For pokemon combat power, you can reference this chart: https://bulbapedia.bulbagarden.net/wiki/List_of_Pok%C3%A9mon_by_base_stats_(Generation_I).
Just think how a Thrumbo (600 in rimworld) would fare against a Dragonair (500 in pokemon) and scale them up accordingly. Depend on how faithful you want to follow the original we can talk more about each pokemon's individual stats to adjust.

For sprites, good news is we have all the overworld (full view: front/left/right/back) sprites from HeartGold - SoulSilver. Bad news is they're from a DSi game so the resolution is rather low.
https://www.spriters-resource.com/fullview/26794/
This is ripped from the game itself so you only have to credit Nintendo as usual (and hope they won't go after you if this mod get popular). Maybe the ripper too, but not mandatory since he said so.

Opps, forgot the separated sprites: https://veekun.com/static/pokedex/downloads/overworld.tar.gz
You can use 7z to unzip.

Due to game engine limitations, I cannot make the weapon not disappear when miss, but disappear when hit. Now, pokeballs will be one shot weapons, thus the timing to throw the ball is extremely vital (and you must hit your target, like Pokemon Go).

And the randomness points, as mentioned above, is increased. The reason is to not make the Pokeball overly useless, especially in the case where you can only carry one per person out to battle.

I'm also introducing Apricorn as the tribal version of the Pokeball.
The standard pokeball will need to be researched, unless you start the game with industrial technology already.
All the other more advanced pokeballs will need to be researched as well.

As for production, they are relatively resource cheap. The resources have to make sense, in my opinion. Like, there is no wood or stones in pokeballs, thus there shouldnt be in this mod as well. Pokeballs are essentially just a high tech mentallic gadget sort of thing - so the production mainly involve steel and components. Master Ball will require a little bit of gold due to the super advanced circuitry its using. There is no use of Plasteel and Uranium, because these are hard metals, and we dun need such hard metals for something that is meant to explode without killing people. lol~

There is no plans for events in this mod. Since its just a "weapon mod".

And thanks for the chart and the sprites!



-------


By the way, I already finished production essentially.... I'm just doing testing now and then I'll prepare for launch and launch it, hopefully within an hour's time.

Nekokon

Lol the random ingredient was just my way of saying you should limit the availability of them based on in-game progression (pokeball for early game with early tech and easy to find ingredients, then better balls for later with higher tech and rarer ingredient). Throwing a ball made of rock at a rattata would effectively give you a dead rat in realistic scenario probably. If pokeball is 1-use item now there's no need for that limitation anymore.

WalkingProblem

Quote from: Nekokon on October 08, 2017, 01:37:18 PM
Lol the random ingredient was just my way of saying you should limit the availability of them based on in-game progression (pokeball for early game with early tech and easy to find ingredients, then better balls for later with higher tech and rarer ingredient). Throwing a ball made of rock at a rattata would effectively give you a dead rat in realistic scenario probably. If pokeball is 1-use item now there's no need for that limitation anymore.

Yeah, I realised that, if the pokeball is not a one use item - there is literally no more reasons to craft them - and the pokeball would be OP in a certain way. 

So the materials used for the crafting now are pretty attainable, in exchange for the amount of trouble one need to go thru the use the pokeball to tame animals... and imagine missing your target using a master ball.... its painful. haha

kubolek01

Thanks god we still have ordinary taming at hand, if we don't want to play it that way. I still remember my 2 bond-on-tend situations. Just be a little lucky, it's easier than winning main prize in "Lotto";)
Eat lead, walking pile of silver! (greedy Player)
I...I can't do it. Leave it alive, please!(inner soul)
It lives 200 years to end up as a jacket?!(realists mind)
If I would go to vacation in off-Earth, even fictional place, I'd choose Nibel.