• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 19:27
CEST 01:27
KST 08:27
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
BGE Stara Zagora 2025: Info & Preview19Code S RO12 Preview: GuMiho, Bunny, SHIN, ByuN3The Memories We Share - Facing the Final(?) GSL46Code S RO12 Preview: Cure, Zoun, Solar, Creator4[ASL19] Finals Preview: Daunting Task30
Community News
[BSL20] ProLeague: Bracket Stage & Dates6GSL Ro4 and Finals moved to Sunday June 15th12Weekly Cups (May 27-June 1): ByuN goes back-to-back0EWC 2025 Regional Qualifier Results26Code S RO12 Results + RO8 Groups (2025 Season 2)3
StarCraft 2
General
BGE Stara Zagora 2025: Info & Preview Jim claims he and Firefly were involved in match-fixing GSL Ro4 and Finals moved to Sunday June 15th Magnus Carlsen and Fabi review Clem's chess game. Serious Question: Mech
Tourneys
Bellum Gens Elite: Stara Zagora 2025 SOOPer7s Showmatches 2025 Cheeseadelphia 2025 - Open Bracket LAN! $25,000+ WardiTV 2025 Series Sparkling Tuna Cup - Weekly Open Tournament
Strategy
[G] Darkgrid Layout Simple Questions Simple Answers [G] PvT Cheese: 13 Gate Proxy Robo
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 476 Charnel House Mutation # 475 Hard Target Mutation # 474 Futile Resistance Mutation # 473 Cold is the Void
Brood War
General
[BSL20] ProLeague: Bracket Stage & Dates BW General Discussion Will foreigners ever be able to challenge Koreans? BGH auto balance -> http://bghmmr.eu/ I made an ASL quiz
Tourneys
[BSL 2v2] ProLeague Season 3 - Friday 21:00 CET [ASL19] Grand Finals [Megathread] Daily Proleagues Small VOD Thread 2.0
Strategy
I am doing this better than progamers do. [G] How to get started on ladder as a new Z player
Other Games
General Games
Nintendo Switch Thread Mechabellum Stormgate/Frost Giant Megathread Monster Hunter Wilds Path of Exile
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
LiquidLegends to reintegrate into TL.net
Heroes of the Storm
Heroes of the Storm 2.0 Simple Questions, Simple Answers
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia TL Mafia Community Thread
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine Vape Nation Thread European Politico-economics QA Mega-thread
Fan Clubs
Maru Fan Club Serral Fan Club
Media & Entertainment
Korean Music Discussion [Manga] One Piece
Sports
2024 - 2025 Football Thread Formula 1 Discussion NHL Playoffs 2024
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Cleaning My Mechanical Keyboard
TL Community
The Automated Ban List
Blogs
Heero Yuy & the Tax…
KrillinFromwales
Research study on team perfo…
TrAiDoS
I was completely wrong ab…
jameswatts
Need Your Help/Advice
Glider
Trip to the Zoo
micronesia
Poker
Nebuchad
Info SLEgma_12
SLEgma_12
Customize Sidebar...

Website Feedback

Closed Threads



Active: 19240 users

Math genius needed for game making - Page 2

Blogs > shannn
Post a Reply
Prev 1 2 All
freelander
Profile Blog Joined December 2004
Hungary4707 Posts
January 06 2012 14:23 GMT
#21
On January 06 2012 19:52 evanthebouncy! wrote:
that is not what a mathmatician do. sorry


lol so true
neither programmers..
And all is illuminated.
freelander
Profile Blog Joined December 2004
Hungary4707 Posts
January 06 2012 14:27 GMT
#22
by the way I think that using the level of the attacking character is plain out retarded designwise. why would you do that?

you should just use the attack stats, which will naturally grow with a levelup. one more step forward simplicity..
And all is illuminated.
adwodon
Profile Blog Joined September 2010
United Kingdom592 Posts
January 06 2012 15:54 GMT
#23
On January 06 2012 23:27 freelander wrote:
by the way I think that using the level of the attacking character is plain out retarded designwise. why would you do that?

you should just use the attack stats, which will naturally grow with a levelup. one more step forward simplicity..


Some games will give you a bonus when facing lower enemies etc

I think just using the level isn't good though, instead just use the different charLvl - mobLvl to get some kind of multiplier ie 1.0, 1.1, 0.8 and just multiply the stats by that factor, simpler.

As far as tuning your numbers, don't be lazy, do it yourself.
People get to understand formulas by playing around with them and using them, not because they have some sort of magical innate ability.

Just make an instance where you can easily change the stats and play around to see what happens.
shannn
Profile Blog Joined May 2010
Netherlands2891 Posts
January 06 2012 16:23 GMT
#24
On January 06 2012 23:27 freelander wrote:
by the way I think that using the level of the attacking character is plain out retarded designwise. why would you do that?

you should just use the attack stats, which will naturally grow with a levelup. one more step forward simplicity..

If you actually read the comments I did that after some input from others already.

Then you'd have saved yourself time from actually asking and would know I had 0.0 experience in actually making a damage formula since it's actually my first game.

On January 07 2012 00:54 adwodon wrote:
Show nested quote +
On January 06 2012 23:27 freelander wrote:
by the way I think that using the level of the attacking character is plain out retarded designwise. why would you do that?

you should just use the attack stats, which will naturally grow with a levelup. one more step forward simplicity..


Some games will give you a bonus when facing lower enemies etc

I think just using the level isn't good though, instead just use the different charLvl - mobLvl to get some kind of multiplier ie 1.0, 1.1, 0.8 and just multiply the stats by that factor, simpler.

As far as tuning your numbers, don't be lazy, do it yourself.
People get to understand formulas by playing around with them and using them, not because they have some sort of magical innate ability.

Just make an instance where you can easily change the stats and play around to see what happens.

I know but asking for a very simple formula and try not tune too much would be much better and it can't hurt asking :D

Anyways I've actually made a separate project and just logging the values of each level's damage and stats vs other levels in the console for each touch input (so that I can generate multiple outputs).

This lets me see the damage output much better and faster by just watching it in the console and generate new damage outputs :D
http://www.teamliquid.net/forum/viewpost.php?post_id=6321864 Epic post.
THE_DOMINATOR
Profile Blog Joined April 2010
United States309 Posts
January 06 2012 17:05 GMT
#25
as someone already said modulo that shit!
DOMINATION
Excalibur_Z
Profile Joined October 2002
United States12235 Posts
January 06 2012 18:28 GMT
#26
You would probably do well to study some other games and see how they did it. Final Fantasy 6 for example used level^2 / 256 as part of its damage calculation. http://www.gamefaqs.com/snes/554041-final-fantasy-iii/faqs/13573

The calculation doesn't have to be exactly transparent (years of study went into FF6's system, for example) for the damage to be somewhat predictable, all you have to do is see to it that the numbers scale up appropriately as the game progresses. That is, level 3s probably shouldn't be doing 8x the damage of level 1s or you end up with insane numbers as levels increase.
Moderator
Sufficiency
Profile Blog Joined October 2010
Canada23833 Posts
January 06 2012 20:34 GMT
#27
First of all this is not math at all. It's just experimentation.

Also, is the problem with how the "random damage" is generated, or is there something else? For the random damage part, just use a uniform distribution from A to B.

Say the "fixed damage" calculated from your formula is D. Then you can make A = -0.2D and B = 0.2D. Then your character will always do 80% to 120% of the "fixed damage".

It's also interesting to allow a character to modify the random damage part (similar to HoMM series).
https://twitter.com/SufficientStats
Zocat
Profile Joined April 2010
Germany2229 Posts
January 06 2012 21:16 GMT
#28
You approach the problem from the wrong angle. Or you dont post enough information

First you need to set some goals - aka design. And from there you find the needed formulas (that part is the math part - and contrary to what people said - it IS what mathematicians do).

Until now we know:
- Charlevel should be important
- Attack/Defense Power (an item attribute?) should play a role
- There should be a random component

What you should think of:
How many levels are there in game? 10? 20? 100? 256? 1000?
How big is the health pool? How does it change over levels? How many hits should it take to kill an enemy when both have the same level? How many hits when the level is different? Does this change (i.e. 5hits for 2 lv 1 chars fighting, 10hits for 2 lv 100 chars fighting)? How important should the random factor be?

Random thoughts:
Your RandomDamage looks horrible. Between 0 and Charlevel*10. Variance is way to high. i.e. a lv 100 char:
1, 2 vs 999, 1000 (depending how the HP scales this is a huge issue). Take Sufficiency's approach with his D.

CharAttackingBasePower vs Level:
Why do you need both? Both increase when a level up occurs (I assume). So you can eliminate one stat? If it's class dependant use a class modifier.
Grndr101
Profile Joined March 2011
Belgium125 Posts
Last Edited: 2012-01-11 06:55:33
January 11 2012 06:47 GMT
#29
So an idea about your design here. What a lot of games do is keep a list of attributes for different mobs at different levels, and also for characters.

This would look like this:

MainCharacter(level1(attack, defence, health,.. other attributes), level2(..),.... ..., levelMax(....))

Same for others, while this looks cluttering, a list like this is actually quite efficient in terms of speed and size. It also keeps your game less cluttered instead of using formulas based on level.

You'd simply have to have a function where it retrieves the useful char info and uses it in damage calculation. This also allows you to adjust your stats for items, buffs etc. pretty easily. Just pull out the base stats for level, then apply equipment buff/debuffs and you have an instance of the character ready for combat.

Just some thoughts here, tell me if I'm wrong about sth I said, I am not a professional.

EDIT: lol this got me even more fired up to get into programming again, so much fun designing a game
Prev 1 2 All
Please log in or register to reply.
Live Events Refresh
Next event in 34m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
NeuroSwarm 153
ForJumy 50
StarCraft: Brood War
Artosis 751
Backho 26
910 20
NaDa 15
Dota 2
PGG 200
League of Legends
JimRising 407
Counter-Strike
Fnx 1755
flusha370
Foxcn252
Super Smash Bros
C9.Mang0730
Other Games
summit1g10474
Grubby3349
shahzam957
FrodaN825
hungrybox479
ViBE231
JuggernautJason77
KnowMe39
PPMD26
Organizations
Dota 2
PGL Dota 2 - Secondary Stream683
Other Games
gamesdonequick557
BasetradeTV39
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 19 non-featured ]
StarCraft 2
• Berry_CruncH242
• RyuSc2 49
• davetesta33
• Migwel
• sooper7s
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
StarCraft: Brood War
• RayReign 18
• Diggity2
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• masondota22547
League of Legends
• Doublelift5677
Other Games
• imaqtpie1397
• Scarra1232
Upcoming Events
Replay Cast
34m
OSC
34m
Bellum Gens Elite
10h 34m
WardiTV Invitational
14h 34m
BSL 2v2 ProLeague
19h 34m
Replay Cast
1d
CranKy Ducklings
1d 10h
SC Evo League
1d 12h
Bellum Gens Elite
1d 13h
Fire Grow Cup
1d 15h
[ Show More ]
CSO Contender
1d 17h
BSL: ProLeague
1d 18h
StRyKeR vs MadiNho
Cross vs UltrA
TT1 vs JDConan
Bonyth vs Sziky
Replay Cast
2 days
SOOP Global
2 days
Creator vs Rogue
Cure vs Classic
SOOP
2 days
Classic vs GuMiho
Sparkling Tuna Cup
2 days
AllThingsProtoss
2 days
Fire Grow Cup
2 days
BSL: ProLeague
2 days
HBO vs Doodle
spx vs Tech
DragOn vs Hawk
Dewalt vs TerrOr
Replay Cast
3 days
Replay Cast
4 days
Replay Cast
4 days
WardiTV Invitational
4 days
WardiTV Invitational
4 days
GSL Code S
5 days
Rogue vs GuMiho
Maru vs Solar
Replay Cast
6 days
GSL Code S
6 days
herO vs TBD
Classic vs TBD
The PondCast
6 days
Liquipedia Results

Completed

CSL Season 17: Qualifier 1
DreamHack Dallas 2025
Heroes 10 EU

Ongoing

JPL Season 2
BSL 2v2 Season 3
BSL Season 20
KCM Race Survival 2025 Season 2
NPSL S3
Rose Open S1
CSL Season 17: Qualifier 2
2025 GSL S2
BGE Stara Zagora 2025
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
ECL Season 49: Europe
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025
YaLLa Compass Qatar 2025
PGL Bucharest 2025
BLAST Open Spring 2025

Upcoming

CSL 17: 2025 SUMMER
Copa Latinoamericana 4
CSLPRO Last Chance 2025
CSLPRO Chat StarLAN 3
K-Championship
SEL Season 2 Championship
Esports World Cup 2025
HSC XXVII
Championship of Russia 2025
Murky Cup #2
NC Random Cup
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.