Luxor

Page for Luxor documentation.

Luxor 1 / Amun Rising

Documentation for Luxor 1 / Amun Rising

Luxor 1 / Amun Rising

Getting Started with Luxor 1/Amun Rising Modding

So, you decided on making a Luxor 1 / Amun Rising mod? This page is dedicated to newcomers to modding the game. Luxor Amun Rising is often the modded game of choice due to it being an improvement (and added features) over Luxor 1, and has the same engine as said game.

What You Need

Extraction

Luxor 1 and Amun Rising are packed within a MJZ file, which can be opened with QuickBMS. Luxor 1 and Amun Rising share the same engine, although Amun Rising is more recommended to be modded because of it's difficulties and it's ability to use \n in dialog boxes.

  1. Download QuickBMS from here
  2. Download the MumboJumbo script from here
  3. Open QuickBMS and select the mumbojumbo script, and hit Select.
  4. Go to your Luxor 1 (or Amun Rising) folder and select data.mjz in the data folder, then hit Open.
  5. When another file select box appears to ask where to extract, go up one folder (this will take you to the game folder itself) and hit Save.
  6. Repeat step 3.
  7. Repeat step 4, but this time, select english.mjz and hit Open.
  8. Repeat step 5.

Video explanation:

Now that is out of the way, you can either:

If you opt for the first option, make sure to copy Steam.dll for each copy (Steam), or copy the bundle pack executable and launch Luxor 1/Amun Rising from there. (Bundle Pack)

If you opt for the first option, simply rename the data folder to something else, or take it out, then add the mod's data folder.

If you opt for the second option, here is a visual guide: luxor-installation.png

What's Next?

Know your basic goals. If you're making a mod, at least have a general idea of where to go, and what to do.

Before you just jump in thinking you're going to make the next high quality mod. stop. Those aren't easy to do. First mods are often mediocre, and that's okay! What's important is that you learn and improve over time.

Start small. Level design is one of the most important aspects of most mods, as they aim to create a new experience for the player, so start with that. Since this is likely your first mod, try aiming for the standard vanilla level order: 25 maps, 88 levels. Focus on the extra things (UI, menus, sound) later on.

Assuming that you are reading this because you are a new modder in the scene, try making maps first as practice, but keep these in mind when you finally make the decision to create your very first mod.

Now that you know what to do, it's time to learn about making maps.

Luxor 1 / Amun Rising

*.psys files

PSYS files are the visual effect files used in the Luxor 1 engine (used in 1 and Amun Rising). They can make or break the game's aesthetics, and if done right, can add to a level / the game, and can be stunning.

How to include effects to a ui file

Create a new uiParticleSystem child in your ui file (yes, this means that you can add effects to a level!).

    Child child_name = uiParticleSystem
    {
        X = 0
        Y = 0
        Depth = YourDepthHere
        File = your\path\here.psys
    }

Make sure your uiParticleSystem child name is unique. Not doing so could make the game load the wrong uiParticleSystem child.

One thing to note is that unlike sprites, which have their anchor point in the top-left corner, their anchor point is at the center. This also goes for the emitter in the psys file.

For example, setting an effect to x0 y0 will still go to the top-left corner as any other child does, but only the lower-right portion of the effect will be displayed in that position.

An easier way of saying this is: Treat psys file positioning as you would position the frog in Zuma.

Anatomy of a .PSYS File

We will look at a specific part of the "extra life" psys that happens when you receieve an extra life.

Emitter ankh
{
	Type = Sprite
	Flags = EF_NONE
	StartParticles = 2
	MaxParticles = 2
	ParticleRate = 0.000000
	Sprite = data\sprites\particles\ankh.spr
	ColorRate = 0.000000
	AnimMin = 0
	AnimMax = 0
	AnimRate = 30
	FadeInEndTime = 0.000000
	FadeOutStartTime = 0.800000
	LifespanMin = 2.000000
	LifespanMax = 2.000000
	RenderDelay = 0.000000
	FirstFrameDelay = 0.000000
	PosX = 0.000000
	PosY = 0.000000
	SpawnRadiusMin = 0.000000 0.000000
	SpawnRadiusMax = 0.000000 0.000000
	StartVelMin = 0.000000 -25.000000
	StartVelMax = 0.000000 -25.000000
	Acc = 0.000000 0.000000
	DevDelay = 0.000000
	DevAngle = 0.000000 0.000000
	EmitterVelMin = 0.000000 0.000000
	EmitterVelMax = 0.000000 0.000000
	EmitterAcc = 0.000000 0.000000
	EmitterStart = 0.000000 0.000000
	EmitterLifespan = 0.250000 0.250000
}

At first glance it looks slightly simple - and it is simple!

Type

Not touched too much yet, keep it as Sprite.

Flags

These flags determine what this effect should do.

The Rest

Examples

When done right, you can do awesome effects like these:

An extra from Luxor Mod 2020:

Sniper Bullet:

Keep In Mind

Luxor 1 / Amun Rising

Creating Maps

Now that you have decided to create a mod (or make one or two levels), it's time to create a map.

What You'll Need

Creating your Path Concept

Luxor spheres are 32 x 32 pixels thick. You can either have a 32 px thick stroke, or thinner. It doesn't matter, as long as the player has a general idea of how the path goes. Here's an image of a simple map: rows, but it's not plain rows. luxor-path-example-1.png

Now, there are a few things to note when making paths. You should avoid going down 500px or lower, as this is where the shooter area is. Clipping between the shooter and the spheres is close here.

Now that that's out of the way...

Creating the Background

You don't need to be a god at art to create a background. Just make sure it's decent and all. There are plenty of tutorials on the internet if you aren't much of an art prodigy - but try experimenting with plugins and effects, and you'll probably have something going.

The path should be visible to the player, so that they have a general idea of how does the path go.

For demonstration purposes, we'll go with a dirt and rock background.