• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Tenet-like campaign/map

Status
Not open for further replies.
Level 25
Joined
Feb 2, 2006
Messages
1,689
Hey,
maybe some of you have seen the movie Tenet: Tenet (2020) - IMDb
I like the concept of the movie of moving forward and backward through time and thought about making a game/map with the concept.
I have already found this video on YouTube:
He changed the fact that you cannot change things when going backwards. Otherwise, it would only be good for a movie not a game because all scenarios would be fixed.

I have created a small prototype where I can move forward through time and it stores the location and facing of my unit and when I go back, it creates a copy of the unit and the old unit will go backward the stored path.

I think it will only work for multiplayer if all players either go together forward or backward through time.

What do you think? There could be interesting ways to solve missions with this concept. One could also create scenarios where something happens backwards and you have to to something at a certain time and then go forward again and do something else.

edit:
I have created a small prototype map with one hero who moves forward and backward:
 
Last edited:
Level 14
Joined
Sep 28, 2011
Messages
968
The voice of the protagonist is way too cool for this universe.
Archon is a time travel based rts and it stores orders(like unit building orders, move and attack orders and so on) and have no randomness in order to save time and memory because that way it does not have to register unit positions constantly.
It also used change propagation over time and did not change instantly the future and past so it is possibly not what you want.
The problem is that WC3 have very non deterministic or hard to understand results for orders so you would need to redo all the movement system if you wanted to use archon like time travel and it would cost performances.
 
Last edited:
Level 25
Joined
Feb 2, 2006
Messages
1,689
I found this video:
It looks interesting. I am not sure if I fully understand the mechanics. You can order units somewhere and move the game back in time or forward and you can travel units to a certain time?
I like the UI for the time line and I am thinking about adding a multiboard with the different running timelines.

I guess my way of changing events in time will only be for the current time line but not remove the unit from a future or past time line. Otherwise, it will get too confusing?

Well, for warcraft I guess the only way is to periodically store stuff but you could limit the past and future time traveling or something to free some stored data.
 
Level 25
Joined
Feb 2, 2006
Messages
1,689
So I am trying to improve my concept: tdauth/tenet
  • You can invert multiple units in the blue or red room at any time and then the time flow changes globally forward or backwards.
  • I have to restore all unit changes like positions, facings, HP etc. but I store only the change events instead of storing ALL information at ANY given time. This should improve the performance.
  • There is a blue player and a red player now. The blue player should be allowed to control units going backwards and the red player should be allowed controlling units going forward in time.
  • If there is no human blue player, the red player controls both types of units.
  • If a unit does not go into the current time flow direction, it cannot be controlled!
  • If you can control a unit again because it is currently not restored, its stored events will be flushed and you will change its time line.
  • You should also be allowed to kill change inverted units/objects.
  • You can even go backwards in time to a negative time before the map started. Then all units/items etc. will simply disappear because they haven't even been created yet.
  • The inversion concept should also work for items etc. even the music. I have added an inverted sound file of the music and want to store the exact offset to invert the music when the time goes backwards.
Support for inversions:
  • Time of day
  • Music
  • Soundset files (added copies of inverted German sounds)
  • Unit positions
  • Unit facings
  • Unit HP
  • Unit mana
  • Unit existences
  • Item existences
I still got some problems:
  • When I change the past like killing a unit I will have to overwrite its past time line. This isn't supported yet.
  • Performance: Storing all the information periodically might slow down the game.
  • Too many copies: Whenever I invert units through the red or blue room, they get copies. I could simply limit the possible numbers of going backwards in time to avoid this issue. Besides, I am thinking about sending inverted hostile units with you to make the map harder.
  • I don't know how to invert animations. Probably I would need copies of the models and a separate unit type if there is no native function. I did the same with soundset files.
  • Think of better scenarios. The current example map allows you to switch the Algorithm and take the real one to another place. But you could solve it going forward through time. I would need a more precise scenario where one has to go backwards and do something at an exact moment (like opening closing the door in the movie). Otherwise, the inversion part is more for fun.
TODOs:
  • Fix some bugs using the List module.
  • Add unit revival/killing events when they die or die inverted.
  • Add picking up/dropping item events
  • Add moving item to slots events.
More stuff I could support inversion for:
  • Using/restoring items.
  • Opening/closing/killing destructables.
  • Training units.
  • Constructing buildings.
  • Researching upgrades.
  • Harvesting resources.
  • Buying/Selling items.
  • More orders like attack ground/patrol?
  • Support spells: start with stuff like loading/unloading units?
Any ideas?
 
Status
Not open for further replies.
Top