Important: Use PBMYC instead. KHTG0 is now deprecated.
Original author ecksdee has stopped maintaining Overwatch 1 Emulator (KHTG0) since June 2025, but Dark has been releasing an updated version to PBMYC.
Overwatch 1 Emulator
Accurate 6v6 Overwatch 1 in Overwatch 2
ecksdee#11729's attempt to recreate 6v6 Overwatch 1 in Overwatch 2 using Workshop scripts.
Goal is to recreate the last version of Overwatch 1 as accurately as possible.
Join our Discord server for scheduled lobbies on weekends and unscheduled lobbies on weekdays!
We have an in-house mmr based matchmaking in Discord.
Overwatch 1 stats and mechanics are referenced using the wayback machine on the Overwatch Wiki.
Release build: KHTG0
Staging build: ESMXJ
For patch notes, see GitHub releases.
Help Contribute to this gamemode
Source Code on GitHub
Bug Reports & Feature Requests
Developer Guide
Features (may not be up to date)
Below documents only a small subset of all features implemented in this gamemode.
Please see GitHub for complete table of emulated OW1 abilities.
General
- Exact OW1 hero hp, including health/armor/shields ratio
- We are the first 6v6 gamemode to achieve this!
- Exact OW1 barrier hp
- 1600hp Reinhardt barrier
- 700hp Winston barrier
- 200hp Zarya barrier
- 250hp Brigitte barrier
- Custom Roles
- Doomfist counts as DPS
- default 2/2/2 role limit (adjustable through workshop settings)
- No tank/support passive
- No tank knockback passive
- No tank ult negation passive
- No support self healing passive
- OW1 damage and cooldowns for almost every ability
- OW1 ult charge rate
- Full ult charge when shooting/healing tanks
Tanks
- OW1 Dva
- 2 second matrix
- melee cancels booster
- OW1 Orisa
- Protective Barrier
- Halt
- Supercharger
- OW1 Reinhardt
- single firestrike
- 1600hp barrier
- OW1 shatter crit damage
- OW1 Roadhog
- OW1 Take a Breather
- OW1 Sigma
- OW1 Accretion
- OW1 hypersphere damage
- 700hp barrier
- OW1 Winston
- No secondary fire
- 6 second leap
- 700hp barrier
- OW1 Wrecking ball
- OW1 Fireball knockback
- OW1 Adaptive Shields hp
- OW1 Zarya
- OW1 bubbles
- self bubble every 10 seconds
- ally bubble every 8 seconds
- As an unintended side effect of knockback passive removal, zarya can rocket jump much higher than in OW1
- OW1 bubbles
DPS
- OW1 Bastion
- Self-repair
- Heal yourself by holding ability 2 (e) or right-click
- Sentry mode
- Stationary machine gun with 300 ammo
- Tank mode (ultimate)
- Fire tank shells (recreated using OW2 Bastion's grenade ability)
- Self-repair
- OW1 Cassidy
- Flashbang (recreated using workshop projectile object)
- OW1 Doomfist
- We have the most accurate OW1 Doomfist out of all 6v6 gamemodes
- Indicator slam
- Doomfist ignores gravity in midair and slams directly towards the ground
- Rising Uppercut
- Deals 50 damage to enemies in melee range and knocks them upwards
- Heals 30hp per target
- Air time based slam damage
- 1 shot Rocket Punch
- OW1 Doomfist primary fire
- OW1 Genji
- 29 damage shuriken
- OW1 Hanzo
- OW1 damage falloff
- OW1 Mei
- Accurate primary fire freeze logic
- OW1 Tracer
- 6 damage pulse pistol
- OW1 Sombra
- OW1 Widow
- OW1 damage falloff
Supports
- Removed support self-healing passive
- OW1 Ana
- tanks sleep as long as DPS and supports
- OW1 Baptiste
- No instant healing from regenerative burst
- OW1 Brigitte
- Stun on shield bash
- shorter bash distance
- less bash knockback
- Stun on shield bash
- OW1 Mercy
- OW1 Guardian Angel
- OW1 Moira
- No fade during Coalescence
This project was started on June 9th, 2023.
Sources
This post utilizes other codes either in part or in full. This could be because they remixed them, used parts of them, were inspired by them, or other reasons.
17 Comments
u should try (if u want) to make another version about the first version of ow1 with abilities like scatterarrow, syms old ability kid, reapers heal orbs etc…
Doomfist is great
Thanks! Just like to point out that, this gamemode's doomfist heavily references code from "DPS doomfist" gamemode made by Bebel, Blessed, and Hikiru https://workshop.codes/ZXJB4
this may sound weird but im pretty sure last few versions on this emulator was obfuscated can you tell me how did you do that or no? Thanks
We use Overpy to develop this gamemode and it supports obfuscation of final workshop output.
If you would like to see how the gamemode works, you can check the srouce code in our gitlab.
thanks! ecks ill try to learn overpy later on so i could obfuscate some of my code!
Hey. Is it okay if I use part of the code in my own workshop mode?
Go ahead; gamemode is open source now.
Gamemode is no long completely open source.
Workshop script is obfuscated, but Overpy source code on gitlab is open.
Thank you
hey! for mercy, i think you may need to increase the distance you get with GA by pressing space because back in OW1 you were able to get around 10-12ish meters distance. overall, amazing job!!
im not sure if this is a good place to leave bug reports but for now: bastions rockets sometimes stay floating slowly to a random direction in the air for a while and then explode
Hi, that's been patched in the latest version by adding 5% projectile gravity to bastion.
See https://github.com/MaxwellJung/ow1_emulator/pull/109.
You can use github issues to submit bug reports in the future. See description page for link.
is there a way you could increase bastions fire rate in recon?
Not that I know of, but I'll look more into it. There might be a way to increase game tick speed (similar to when inside Kiriko ult), but I don't know if that's accessible through workshop.
this should work (workshop language):
rule("Bastion Fire rate")
{
event
{
Ongoing - Each Player;
All;
Bastion;
}
conditions
{
Is Button Held(Event Player, Button(Primary Fire)) == True;
}
actions
{
Set Projectile Speed(Event Player, 100);
Wait(0.050, Ignore Condition);
Loop If Condition Is True;
}
}
If only Overwatch 1 could exist alongside Overwatch 2 then we might’ve not been too vocal about the issues we have currently, since we could always move back to the original game. At least for some players.