Jump to content

SP Level: How to get started?


Circa

Recommended Posts

I know I've posted this multiple places, now I want to get all the help in one place.

 

I have always wanted to make my own single player level, and attempted once but never got very far. What are the tools I need (hopefully there are Mac friendly ones) and are there good tutorials on how to do this.

 

Here's what I want to start out with:

 

An existing map, like a MP map from the game or ones others have made, and have enemies spawn. I don't want to start making my own maps. Yet.

 

After that, I want to know how to make cutscenes and all that jazz.

 

I would prefer the easiest way to do these things as possible.

 

Thanks.

Link to comment

I'm no mapper but I know for sure you'll need the original .map file to edit, you can't just take an existing map you downloaded in it's compiled .bsp state and work with that, well you could but the reverse engineering process isn't pretty compared to the original radiant .map file. I've used q3map2.exe back in the day to reverse compile a map and it needs a lot of work before it's usable again, you might as well just make your own map.

 

As far as mac friendly, well that phrase is the very reason why I'd never buy a mac.

Link to comment

You could go about it the way the guy who made JK Expanded did, which was where he took MP maps and spawned them full of enemies. No mapping required.

 

Here's what you can do. Get the map you want. Open up Single player. From the main menu open up the console, and type "devmap (yourmap)". If I wanted to go to the Taspir FFA map, I'd type "devmap mp/ffa5". Run around your map using the NPC spawn command like this: npc spawn (npc name) (entity name). Give each NPC an entity name which you enter after the npc name such as "cultist_saber" IIRC. Like I could do - "npc spawn cultist_saber enemy1". This is how you can populate your map with enemies. You can also use a similar method to add weapons, items, and vehicles to the map. For a list of items you can spawn (like shield boosters etc.) see this page http://www.jediacademy.cba.pl/readarticle.php?article_id=35 . These spawn using the command "spawn (item name)", for ex. "spawn item_binoculars". To move your NPCs around to get them in the right spots, you can use force mindtrick level 4 to move them, or theres a controlling command for entities you can use I think.

 

Giving your NPCs an entity name will let you use ICARUS scripting on them later if you want independent of GTK Radiant. Keep in mind that NPCs like gunners won't be able to move around like in SP maps, where they might chase after you or run over to an elevator, or do patrols, as MP maps have no NPC waypoints drawn (unless NPCs can use bot routes, I'm not sure but I don't think so).

 

Now save your game with the NPCs you spawned on that map. Now if you want in BehaveEd, make some scripts that'll give the player mission objectives or make the NPCs do something you want. Once you have your scripts load your save game again, then use the "runscript (name of .ibi file)" command or something like that to execute your scripts. Move the player to where you want them to start off in the level. Save your game file, and viola, you have your own sort of SP-level. You can also use console commands to have your own music playing via the "music (path to music file)" command.

 

 

Here's a helpful article with lots of useful SP console commands on RancorSNP's site:

http://www.jediacademy.cba.pl/readarticle.php?article_id=34

Link to comment

GTK Radiant, the tool for creating custom maps, is cross-platform. You might have to compile it yourself for Mac, I don't think there are binaries, but in general it should work. The script compiler on the other hand may not be available on Mac? I'm not entirely sure.

 

As for editing existing maps: This is easiest if you have the original .map, as was already said. This is available for mp/ffa5, mp/duel8, mp/ctf4 and mp/siege_hoth. Decompiling a .bsp to a .map on the other hand results in loss of a lot of information, e.g. lighting and texture alignment. If you're only going to add new entities, there's an option to compile only the entities though, but you can't add new brush-entities (like triggers, that make stuff happen when you enter them (e.g. spawn enemies) or doors etc.), which severely limits you.

 

You could also ask mappers that have released MP maps for the .map files to them, I suppose.

Link to comment

You could go about it the way the guy who made JK Expanded did, which was where he took MP maps and spawned them full of enemies. No mapping required.

 

Here's what you can do. Get the map you want. Open up Single player. From the main menu open up the console, and type "devmap (yourmap)". If I wanted to go to the Taspir FFA map, I'd type "devmap mp/ffa5". Run around your map using the NPC spawn command like this: npc spawn (npc name) (entity name). Give each NPC an entity name which you enter after the npc name such as "cultist_saber" IIRC. Like I could do - "npc spawn cultist_saber enemy1". This is how you can populate your map with enemies. You can also use a similar method to add weapons, items, and vehicles to the map. For a list of items you can spawn (like shield boosters etc.) see this page http://www.jediacademy.cba.pl/readarticle.php?article_id=35 . These spawn using the command "spawn (item name)", for ex. "spawn item_binoculars". To move your NPCs around to get them in the right spots, you can use force mindtrick level 4 to move them, or theres a controlling command for entities you can use I think.

 

Giving your NPCs an entity name will let you use ICARUS scripting on them later if you want independent of GTK Radiant. Keep in mind that NPCs like gunners won't be able to move around like in SP maps, where they might chase after you or run over to an elevator, or do patrols, as MP maps have no NPC waypoints drawn (unless NPCs can use bot routes, I'm not sure but I don't think so).

 

Now save your game with the NPCs you spawned on that map. Now if you want in BehaveEd, make some scripts that'll give the player mission objectives or make the NPCs do something you want. Once you have your scripts load your save game again, then use the "runscript (name of .ibi file)" command or something like that to execute your scripts. Move the player to where you want them to start off in the level. Save your game file, and viola, you have your own sort of SP-level. You can also use console commands to have your own music playing via the "music (path to music file)" command.

 

 

Here's a helpful article with lots of useful SP console commands on RancorSNP's site:

http://www.jediacademy.cba.pl/readarticle.php?article_id=34

 

 

This is by far the most innovative and easiest solution. Good job Dusty!

 

Here are a couple of suggestions.

 

While the game would be considerably laggy, you, theoretically, do not need the npcs to 'spawn' until you desire. For example, you would make a script that makes the npc invisible and non-responsive, and then put it in ICARUS_FREEZE mode. The npc is now frozen and will now do nothing. Lets say you want the npc to 'spawn' after killing another npc (npc2). Set npc2's deathscript to a script that unfreezes npc and makes them visible and responsive. Another solution would be to make an npc, invisible and non-responsive, but not frozen, and set it's alertscript to the deathscript I just described. Make this invisible 'trigger' npc an enemy, so as soon as you come near it, it will trigger the above mentioned actions. You may need to tweak the vigilance of the npc (how far it can see), but it should theoretically work.

 

Also, cameras can be added without even touching the map file. What you need to do is go to the desired position of the camera, and face the desired angle. Type 'writecam cam#' replacing '#' with the cam number you want. Then, type 'flushcam'. Now exit the game. In you maps folder in your base you will see a .map file with the mapname and, i think, the word 'cams' in there. Open it. You will find coordinates you can you use for the camera MOVE command and an angle for the camera PAN command!

 

Navgoals can also just be invisible npcs, too.

 

Sorry to overwhelm you.

Link to comment
  • 3 weeks later...

The easiest way I've found to do ent modding is to decompile the original BSP, rename the .map file to be the same name as the .bsp, modify the .map to your liking (only editing ents...triggers and doors cannot be added/edited, unless you're cloning an existing one!), and then do an -onlyents compile, using the .map file as the .ent file (no need to rename). It is by far the easiest way to map mod efficiently.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...