=====================================
Rezina
CEEB_rezina.pbo
by Craig Brownlie (aka ceeb aka fasad)

Version 20061210
=====================================

An island addon for "Operation Flashpoint: Resistance" version 1.96

=====================================
Required Addons :
=====================================

 AGS_inds.pho
	"Third World Explosion Team Industrial Pack (3WX Edition) version 3.0"
	(better known as Agent Smiths Industrial Pack version 3.0)

 AGS_port.pbo
	"AGS Harbor Pack version 2.0"

 Baracken.pbo
	"Mapfact BARACKEN ADDON UPDATE" (version 1.5)

 JOF_Objects1.pbo
	"Mapfact Addon:   JOF_Objects1.2"

 MAP_MilObj-Pack.pbo
	"Mapfact Military Objects-Pack (MilObj-Pack) V1.0"

 MAP_OilAddon_3D.pbo
 MAP_OilAddon_T.pbo
	"Mapfact Oil-Addon v1.02"

 MAP_Shed.pbo
	"Mapfact Sheds v1.0"

 CEEB_GT0.pbo
	"CEEB GROUND TEXTURES 0"
	(Included in this download)

 CEEB_Signs.pbo
 	"Town Signs"
 	(Included in this download)

=====================================
Installation :
=====================================

 I recommend using a mod folder (MODFOLDER in the following examples).
 Place the required addons into a folder such as "OperationFlashpoint/MODFOLDER/Addons".
 Start the game using the -mod=MODFOLDER parameter.

 Or you can just put the pbos into "OperationFlashpoint/Res/Addons"

 To see menu animations, place the "CEEB_rezina_anims" folder into "OperationFlashpoint/Res/Addons"

=====================================
About :
=====================================

 Rezina is a fictitious island set in the Black Sea, circa the 1980s. Given the limited variety of objects used, it follows a basic European style, although it is not based on any real location or environment. Rezina is roughly 40% bigger than Nogova, and is split into 2 main islands.

 I started this island (with no real intention of finishing) in ~July 2006. I wanted a new island on which to create a mission, and became frustrated with the lack of quality in other community made islands. Many are simplistic, especially when it comes to height maps. Those that are well made have a focus on looks rather than gameplay and tend to be too slow to use with more than a few units. AI performance is more often than not completely overlooked. I have aimed for a balance of size, quality production and good AI performance. Rezina is designed to be a plausible environment, and so does not contain wildly varied terrain such as snow and deserts.

 Rezina was created under the working name P2006, originally with 3 main islands. The third was abandoned due to a lack of time and interest, and the release of ArmA. If anybody wishes to work on the third island (80~90 km^2), contact me and I will upload what I have done (~10mb). I hope to convert Rezina to ArmA if OFP objects (or exact geometric equivalents) can be used. If not, it would probably be easier to start a new island rather than rebuild everything. I doubt I will be starting any projects this big on my own again!

 The town names have been "borrowed" from the Ukraine, while the name Rezina is taken from a city/region of Moldova.

=====================================
Known Problems :
=====================================

- white rendered fences segments do not line up exactly. I messed them up with the object replacer in WrpTool (the 2 types have dif geometry!). I've tried to fix them but there are still some visible edges. Please report any major gaps or mis-alignments!
- very small gap between black rock fence segments.
- unbalanced tree placement, more dense on south west corner of west island.
- some road junctions use a perpendicular end piece over/under the main road. AI driving is worse at these non-junction object road junctions.
- roads are not as AI friendly as they should be. Please let me know of any locations with repeatable wild driving.
- island has not been binarized. I don't know if this affects performance other than load time.
- grass texture goes into ocean at the harbour.
- corner forest pieces are offset on map.

Please tell me of any bugs or issues you find! If there are any major problems or enough little ones, I'll release a patch. I've spent days searching for bugs, but the sheer size of Rezina is too much to ensure anything near perfection.

=====================================
Performance :
=====================================

 I built and tested the island using a P4 3.00ghz, 1gb ram, ati 9600xt. I play with 1600x1200x32 using normal terrain detail, no object shadows and a view distance of ~1300m. I designed the island aiming for performance to be no worse than BIS Nogova. Rezina has a lower object density, but is obviously larger and has a higher total object count. It also uses a lot more ground textures. The worst performance issues seem to be caused by on-the-fly loading of ground textures (and objects?) the first time they are displayed. This effect is only really noticeable in aircraft. The inland town (Hirske) on the eastern island can cause low fps, but I've found it to be no worse than Lipany on Nogova. Every town has been designed and tested so as to allow the AI 2 or more ways in and out of any enclosure, without using paths. Multiplayer performance was not a design priority, and has not been tested. An island this big is presumably not suited to heavy MP action. It may be for the best that the 3rd island was abandoned, although as it is Rezina doesn't make much use of the 512 cell map.

 Please let me know if you have any performance issues or localised slowdowns.

=====================================
License :
=====================================

This is an unofficial addon and may only be used at your own risk.
Some Rights Reserved.

CEEB_rezina.pbo and CEEB_GT0.pbo are licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/2.5/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.

=====================================
Thank You's:
=====================================

"Arne" for making the town signs. HUGE thanks bro!
 Bohemia Interactive Studios for their excellent attitude towards the game community.
 "Smiley_Nick" for his offer of help and related discussions. Whatever happened to you?
 "olemissrebel" for his offer of help, I would have taken you up on it but I thought I had help at the time.
 The WrpTool team for their brilliant (yet damn evil) tool.

=====================================
Apologies :
=====================================

 I live in Australia and have little to no idea what eastern Europe is really like. I created this island based on some kind of idealised version in my mind. I had difficulty knowing where different types of vegetation should live, for example I placed the DD_borovice trees as if they were Norfolk pines, which happily grow on the coast. Please forgive any oddities and remember this is only a game. I also doubt Europe has so many nice beaches :)

 I would have made an Australian map but without any suitable objects it's not feasible. Also huge flat areas of nothing much are quite boring :)

=====================================
Useful Technical Details :
=====================================

 Only of interest to mission makers.

Airport radar dish can be animated. [(object 83258)] exec "\JOF_Objects1\Radar.sqs"

Lights can be turned off. SetDammage works :)
PLACE	 	OBJECT NUMBERS
Airport		87095, 88896
West Base	183415
East Base	5036
Harbour		6102, 6564, 8060
Kirovske	87445, 87400
Morshyn		115499
Teplodar	156107, 159010, 161258
Olevsk		198267
Perechyn	82388
Chortkiv	20029, 16961
Hirske		71810, 73613, 77267
Ilovaisk	65839
Dubrovytsia	104076
Siversk		14674, 17484
Yuzhne		9808, 11151

=====================================
Useless Technical Details:
=====================================

 Only of possible interest to island makers.

Rezina has not been binarized.
The addons don't use pbo compression - it adds to the total download size!
512x512 cells (25.6 x 25.6)km^2
Landmass of ~132 km^2 (noe = ~94)
Object count of ~200,000 (noe = ~177000)
Object density of ~1510/km^2 (noe = ~1890)
470 Custom Textures, 7 terrain types.
50+ communities, from villages through to small towns.
4gb of daily backups!
Millions of mouse clicks - RSI is fun!
500-1000 hours work?

=====================================
Advice on Island Making :
=====================================

 Again, only of interest to other (first time?) island makers.

DESIGN - First, it is important to realise the amount of work involved in making an island. Rezina was my first OFP project, and it took ~6 months. I've recently been taking my "play" more seriously than my work. I had the terrain finished with roads and most vegetation placed in a few weeks, but completely underestimated the amount of time it would take to place towns etc. I've had to learn a lot about the way OFP works. It helps to be the kind of person who enjoys pulling games apart as much as playing them. Know the engine and it's limitations. Create a terrain that is interesting within the view distance limitations of OFP. Know what object density will allow reasonable performance for the islands size. Keeping consistency over a large island is very hard. Choosing an object palette can also be hard. While there are ~10 zillion addons available for OFP, many are poorly made (especially LODs) and often contain bugs. Sadly, most will only ever be used by a few people (including this island). Even the popular mapfact addons I've used are quite buggy. So are some of the BI objects for that matter!

HEIGHTMAP - Areas were modified in WrpTool to create smooth roads and level towns, but the heightmap was created in Wilbur, basically many iterations of adding ridged hybrid fractals then eroding. Wilbur applies its erosion simulation on a fixed scale, so I found resizing the terrain map while working on it allowed for different scales of erosion creating a somewhat realistic terrain. The major limitations of the fractal generation process are the lack of control of the finished terrain, and a lack of coastal erosion simulation. Unfortunately I don't know of any program that can do that. Creating the heightmap is a very small fraction of the total work, but it is one of the most important steps!

GROUND TEXTURES - I originally couldn't work out how to use additional NOE texture transitions, so created made my own textures in Photoshop. These are the first textures I've ever made, so I hope you find them to be okay! Some use elements from "Mayangs Free Textures" (http://www.mayang.com/). Converting the finished textures to PAA/PAC was a frustrating process. The base textures were converted using PAATOOL 1.1, while the transitions are all created by Visitor (PAL2PAC.dll) and have lower colour precision. This is most noticeable in game as unnaturally blue or red colours in the transition tiles, especially the forest and dark grass textures. The overall hues are similar to the NOE textures so as to match the colour of the vegetation. In retrospect, they may be a bit un-naturally colourful/cartoonish, but I found it is hard to control colour due to the conversion and unpredictable brightness levels in OFP. The textures were placed using the terrain definition tool in Visitor, then manual tweaked. As every texture transition shows up 25m south and west of the cell, I modified the edges of all coast and forest textures (trim from SW, add to NE). I reduced the forest textures so they only appear inside the forests. I started the project with a quick application of the terrain textures, then re-imported the final terrain heightmap back into Visitor and painted on the final textures as last stage of finishing the island. The field/paddock textures are a stylized representation of crops. Reality can only be suggested at within the constraints of the engine and crops can't be done (efficiently) in OFP. If you want 100% realism go outside. I found that "patch" or variety tiles are better than using many different terrain types. To reduce the number of transitions, optimise the terrain so that each terrain type only touches a couple of other terrain types. For example, my SG (sand/grass) never touches the GG (dark grass). Further optimisations could be made, but I was mainly concerned with keeping under the texture limit. Thankfully this is all irrelevant in ArmA.

ROADS - placed in WrpTool. The terrain was manually shaped and smoothed out afterwards. Road junction object pieces are not essential, although they do improve the AI's driving skills.

FORESTS - easily placed in WrpTool. Be careful of multiple corner pieces in the exact same spot, they kill FPS with no other visible clues.

VEGETATION - placed using the region tool in WrpTool. Unfortunately you can't just place all vegetation over the whole island in one go or it will look terrible. Clumps of trees can create a more interesting and less empty looking terrain than a higher number of evenly spaced random trees. I created "palettes" of vegetation to be (re)used in different areas (0-10m,10-150,150-250,250+,towns,paddock edges, leafy forest edges, and pine forest edges). These contain most object types more than once to create the desired placement frequency. I defined a ~50m x ~10m zig-zagged regions, and placed 5~10 trees/bushes at a time. Repeat this step 20,000 times and you've finished! This is very boring and hard on your mouse hand, but will only takes a few days of hard work. Be aware that the region tool in WrpTool does not evenly use the objects in the list, but instead uses smaller plants more often. The more objects on the map, the more noticeable this bug gets, so keeping a consistent balance and density is quite hard.

TOWNS - This represents at least two thirds of the total work. I used WrpTool, but suspect Visitor and Buldozer would be better for this stage, as you can see the terrain as it will be in game while editing. I tried to make sure the AI could use all the towns freely, so I did a lot of testing. I did not copy and paste any buildings, which adds to the workload but brings variety to the map. Anjou was ruined by the cloned farms. Fences are very unfriendly to the AI and so stylized segments have been used. Again, an unrealistic but necessary compromise. It is best to place large towns and other busy locations on the coast, so the emptiness of the ocean off-sets the local high object count. Unfortunately I broke this rule by placing the largest town in the middle of the east island, and the local performance is low. The OFP AI can not move through any gaps less than ~5m wide without paths, and seem to work on a grid.

TESTING - Very boring, but essential. I used Vektorboson's Console 2, and some basic group teleport and time acceleration scripts. Realistically you either need to do all the testing yourself or real time communication and fast data transfer with any (captive?) beta tester you (forcefully?) manage to get to help you. I feel it is best to do things correctly once rather than working with a "I'll fix it up later" attitude. This means continually testing what you have just done before starting work on a new area. Fun, fun, fun!!!

I hope you enjoy OFP'ing on Rezina. I intend to release some missions once I learn how to script again :)

Contact me through the BI forums, my user name there is "fasad"
http://www.flashpoint1985.com/cgi-bin/ikonboard311/ikonboard.cgi

Cheers,
	Craig Brownlie (aka ceeb aka fasad)