In general I suggest to start the game with the current scene. A dependency to a specific scene will make development much harder as you always need to go through this opening scene. Switching right at the beginning increases load time.
For easier handling I suggest to create a group with one object that performs the switch. This way you can easily create one instance at each single scene without creating it again and again.
Another option is to link an object between the scenes.
At game start you want to switch to the opening scene when:
- the opening scene was not visited before
You need a sort of store/restore method.
As you switch scenes, I suggest to store such information in a Python module. It will survive any scene switch (in difference to object properties). The storage will survive as long as the game session runs.
The code is pretty simple. Please keep in mind it should run in module mode (script mode will not work this way).
alreadyCalled = False
alreadyCalled = True
for actuator in controller.actuators:
Always Sensor -> Python Controller Module: caller.isFirstCall -> Scene Actuator: to opening scene
This will work with the first call "caller.py". Any subsequent execution of "isFirstCall" will not activate the actuators even when executed within the same frame.