Map2Curve v0.8 released

Have fun, hope you like it!
No more words. I am tired.

Download

Feature Overview

If you want to read more about the changes and additions, head over to the 0.8 Readme.

New graphical user interface

No bad excuses anymore why you didn’t curvify your maps, thanks to the shiny new GUI I clobbed together in a few months.

It can do almost anything that is necessary to generate curves with Map2Curve without the need of creating your own preset-files.

New texture stretch setting and more

Among other texture related features it is now possible to stretch textures to the curve either adaptively or by a fixed amount.

New height curves and height calculation

I added new height curves with a few functions from easings.net and overhauled the way those are being distributed among the sections. It now works the way it should.

Furthermore height is now being specified by the total distance instead of per step.

Map2Curve v0.7 released

My dear mapping folk, version 0.7 of Map2Curve is now available.

Download

Feature Overview

If you want to read more about the changes and additions, head over to the 0.7 overview page.

New Main Features: RMF Export and Circle duplication

The 2 most important additions to the tool are the new ability to export to RMF format, which solves the limitations that come with the Goldsource MAP format, and the new carve function for brushes, which makes the creation of highly complex seamless curves possible.

The base principle of this construction method follows an article, that was first posted to the Sven Coop forums by Kirito in 2018.

Downside: Floating point coordinates

The biggest downside of this method also applies to the new M2C feature: floating point coordinates. Because of these it is usually a good idea to turn the generated curve into a solid entity like func_detail and enclose it with worldbrushes.
However it is also possible to use the generated curve as world (seals off the level). Whether this works or not depends on how well the compiler handle it.

Changelog

  • Added RMF export per default. Can be toggled with “rmf” 0/1.
  • Added carving for detail objects. Can be toggled with “d_carve” (0/1).
  • Added ability of custom origin brush and entity for detail objects. Either add an “ORIGIN”-textured brush or an info_target with name-keyvalue “ORIGIN” to a detail group.
  • Added random detail object group scaling withing limits. Can be set with “d_scale_rand” similar to other transformation commands:
    – d_scale_rand “1 0.5 2” (0/1 min max)
  • Added automatic assignment of any entity to a detail object group. Can be toggled with “d_autoassign” (0/1) and only works globally at the moment (for all curves at the same time).
  • Added flatcircle (0/1) command to make Pi circle flat instead of pointed. Original circle size is being maintained.
  • Added another bounding box type: Hollow box. Can be used with “bounds 2”.
  • Added a precise circle spin mode for detail objects. Can be toggled with “d_circlemode” (0/1).
  • Added vertex welding for carved brushes and fixing of “borderliner” vertex coordinates (e.g. 128.00002 = 128).
  • Added 3 beginner PDF tutorials to the tool archive.
  • Fixed a problem due to different vertex order of MAP files that were exported from J.A.C.K. editor. M2C would print invalid brush errors without apparent reason.

Map2Curve v0.6 released

In this release I focused on adding the overdue “intersecting” extrusion method, which essentially produces very precise results, compared to the so far available simple spline extrusion method.

A Goldsource level mainly generated with the new curve type “intersecting spline”
An interior scene generated with the new seamless texture mapping mode

There are a lot more smaller changes, some of which are important to know.
As usual you can get it from the known sites:

Download

See the v0.6 Overview for detailed information about this release.

Continue reading “Map2Curve v0.6 released”

Map2Curve v0.5 released

Hey there Goldsrcdiggers,

I’ve released the new version of my map generator Map2Curve.
The download mirrors have been updated accordingly.

Download Locations

See the version’s overview page for more detailed information about the new additions and changes.

In this release I added a bunch of important features that I wanted to have in there for a long time now. Let’s take a look at the main changes.

Continue reading “Map2Curve v0.5 released”

My participation at Ragemap 2019

Futile, is the word that could describe my effort participating in the ragemap 2019 event initiated by Sven Coop Forum’s mod Hezus.

The time target for the main part of that map was 3 hours. I ended up working on it a few hours on saturday and the entire sunday (the day of the deadline).

What did I do wrong?

While I know my way around Hammer and graphics, I barely know how to create multiplayer maps. I especially lack knowledge of Sven Coops gameplay and entities, which wasn’t really a problem so much, because neither did I own SC, nor were I motivated to download it for the mapping event.

So I just sticked with the standard Half-Life entities and put together a simple scene, where the team needs to split up and the main group has to protect the lone wolf, while he again controls a crane, enabling the team to escape. Finally the lone wolf can longjump down from the crane and catch up with the main group, in theory.

How well does this work in multiplayer? I don’t know. I should have started to work on this a week ago, then – maybe – I could have had the chance to test it along with some friends.

How did I create the map?

On the first day I created the crane textures and already mapped half of the the crane itself in Hammer. The crane textures were done in Photoshop CS3. I used reference images from google, mostly of Liebherr building lot cranes.

I took the rest of the textures from my existing project files of Nohra’s Concealment (maybe you already figured that out).

I used Map2Curve for the curved bridge and almost completely for the terrain. Here and there I had to fix something by hand of course, but the tool really saved a lot of time.

Mostly I was working in Hammer. I switched to JACK for creating the paths, which Map2Curve need to generate terrain.

Conclusion

Starting 2 days before a deadline might be a great way for keeping up the motivation, however it should be left to the experts.
Knowing the requirements of multiplayer maps also comes in handy, logically.

Map2Curve v0.4 released

Hey ppl, this update was cooking for quite a long time now.

I’ve added many little things I wanted to have in there before I continue to work on the remaining big features: Precise path extrusion, completely seamless textures and detail support).

Since the additions are so versatile and working on the documentation gives me a headache, I will try to cover all of them on an additional page.
So, for a detailed overview of this version, go here.

Download

Features

Transformations
Rot, Move and Scale for source and final objects.

Group based texture shifts
Entity groups are now being respected for horizontal texture shift calculation.

Transitions
A way to control the properties of first and last curve brushes, to be able to combine different curves more easily.

Complex Triangulation
Any brush can be triangulated now. No restrictions anymore.

Export Range
How many sections of the curve object are to be exported. Has an important impact on smooth ramp generation.

Bounding Boxes
Clean bounding boxes for easier handling curves in an editor.

Skip NULL Brushes
Wenn using complex triangulation, occuring NULL brushes can be skipped during export.

Version 0.4 Changelog

  1. Added custom file paths for input and output files.
  2. Added command “append” (0/1) to add newly generated objects to existing files.
  3. Added simple transformations, for final and source object.
  4. Added bounding boxes (0/1; active per default).
  5. Added commands “range_start” and “range_end” (0-100) that control how much of the generated curve object will be exported finally.
  6. Added “transit_tri” and “transit_round” (0/1) to enable control over the first and last brush of a curve and their respective cut-faces.
  7. Added commands “gaps” (0/1) and “gaplen”, to create intermediate sections and control their length.
  8. Overhaul of brush triangulation. Added complex triangulation.
  9. Added “skipnull” (0/1) command to ignore NULL brushes on file export.
  10. Added the shift mode “per group texture” (shift 5) that respects the whole solid entity when calculating horizontal texture shifts.