The weekly maxscript challenge is to encourage scripters to think about new ways of tackling problems in day to day scripting. I’ll post up a new challenge each week, with basic guidlines and rules.

What I need however, is ideas from you. I’ve got a bunch of them stored up in my head, but they’ll dry up eventually. I’d like thoughts on topics, rules and ways of tackling the challenges. Think of this as a scripting melting pot for each challenge.

Have fun! :smiley:

The challenges so far:
CgTalk Maxscript Challenge 001: “Make a Dining Table”
CgTalk Maxscript Challenge 002: “Split it up”
CgTalk Maxscript Challenge 003: “Foot Prints”
CgTalk Maxscript Challenge 004: “Zipper Up”
CgTalk Maxscript Challenge 005: “Lightning Bolts”
CgTalk Maxscript Challenge 006: “Object Photo Album”
CgTalk Maxscript Challenge 007: “Laser wars”
CgTalk Maxscript Challenge 008: “BACK TO BASICS: Bitmap to Planes”
CgTalk Maxscript Challenge 009: “BACK TO BASICS: Flickering light”
CgTalk Maxscript Challenge 010: “BACK TO BASICS: Random Concept Creator”
CgTalk Maxscript Challenge 011: “Circular Array Tool”
CgTalk Maxscript Challenge 012: “Corner Placer”
CgTalk Maxscript Challenge 013: “BACK TO BASICS: Scene graph”
CgTalk Maxscript Challenge 014: “Spider Web”
CgTalk Maxscript Challenge 015: “Automated Motions”
CgTalk Maxscript Challenge 016: “L-Systems!”
CgTalk Maxscript Challenge 017: “Project Management”
CgTalk Maxscript Challenge 018: “Wear and Tear”
CgTalk Maxscript Challenge 019: “Fun and Games”
CgTalk Maxscript Challenge 020: “Build a Better Tool”
CgTalk Maxscript Challenge 021: “More Information?”
CgTalk Maxscript Challenge 022: “Particles”
CgTalk Maxscript Challenge 023: “BACK TO BASICS: Simple Rig Generator”


The Wahooney’s suggestions.

[li]An image viewer (ala ACDSee) complete with treeview for the harddrives and folders. Must have a preview block.[/li][li]Render time “Grey Render”.[/li][li]Simple file versioning system. With checking in/out of files.[/li][li]Vertex Lock, ala XSI. [/li][/ol]


whoa, an image viewer, sounds a little complicated for a short challenge! I was thinking of smaller quick things.

A file versioning system is a good idea, some other interesting things might just be functions, like matrix rotations (ie rotating an object, not the pivot) or maybe a render effect.

I’ll see what else I can think of.



Unfortunately, this is already in the MAXScript Reference, only 23 lines of code. I am afraid this would be too easy and there are not too many ways to skin the cat in this case…


Do you mean the Monochrome Effect? That’s not what I’m talking about. I’m talking about something like Brazil’s Global Material Replacement (White Plaster in particular) but for the Scanline Renderer.


Well, that is better, and there is a good reference example in How To… for it, it just does not change materials.

Should be less than 10 lines of code I think, but much more fun :slight_smile:


Hey scripteroonies, I hate to sound too eager but, well I am! where’s the new challenge!!



The new challenge will be up shortly. :slight_smile:


Nore topics please everyone! The more creative ideas we have the better! :smiley:


some suggestions:

  1. City Maker (Cityscape)
  • probably have a random building maker, with random position, random designs, random materials etc… (greeble?)
  1. Max Explorer
  • a max version of the windows explorer (lets you browse folders and files etc)
  • include as many features as you can like copy, paste, arrange, folder icons etc…
  1. Guessing Game Script (Hide-a-coin-under-three-cups-and-shuffle-it-game)
  • I really dont know what you call this game, in the real world, you usually would have 3 cups turned upside down, then a person would have hid a coin inside one, thus shuffle it, you’ll then have to guess where the coin went. kinda like just assigning a random position for it or something… it could just be a quick start for creating maxscript games…
  1. Randomizer
  • random position, rotation, scale
  • able to add controllers, and randomize them also
  • randomize vertex position
  • randomize material id assignments
  • randomze object selections, face selection, vertex selections etc…
  • randomize anything!
  1. Light Control
  • given a default scene, probably a room with some elements
  • with a script, one would control light placement, intensity, colors, etc… basically set up the mood of the room through script…
  1. Transformers
  • transform a basic box into a robot (hehe)
  • id suggest using sliders… slide em up or down to transform from a box to a robot.
  1. Scripted Material -> Smoke
  • can be easily applied to a facing particle
  1. Scripted Object -> A New Kind of Teapot!
  • or probably just scripted cups, plates and tomblers etc…

ok… running out of ideas…:eek:

I would also like to suggest that challengers indicate which max version they are using, sometimes some scripts won’t work with other versions…:slight_smile:


More ideas…

1.How about a Non Liniear Animation Mixer Utlity device :D…oh wait… didn’t… hmm

2.An interactive beveler with drawing capability’s to draw branches on trees etc. LW has a plugin for that…

3.An extended Custom Attribute editor, that let’s you insert/edit scripts in a CA

4.FindMayaOnThisSystemAndTotallyUninstallIt-andQuicktimeToo script

One of my favourites would be a shaderOverride
5.shaderOverride would take the shading properties of one material, but let’s you use maps/materials of an other material, completely take shading and texturing apart.

6.Complete rig existing of only parametric modifiers for skin (like bend/twist/stretch etc) and only Nulls to control them (no FFD’s though!:)) … hmm

7.Greeble that does subdivide

Well, I guess these are more or less my wishes… thought I would chip in some…



Here are my suggestions (not sure how many already exist as scripts, but never the less some scripts I think it would be fun to make … and use):

A script to model a stone (or many different stones) easely … and maybe adding material IDs. Could be implemented using modifiers like bend, twist, taper etc. randomly, and/or as a new “Stone” modifier :slight_smile:

A script to model a book, with options for height, width, thickness etc. Maybe even options to have it open and turn a page or two?

A script to build a bookshelf full of different sized books.

I remember that I once saw some algorithms to build labyrints (unfortunately I dont remember where), but thought it would be so cool to have a MaxScript build a labyrinth in 3D.

A script to build a system of pipes like a mad plumber :slight_smile:

A script to randomly “spray” small objects on a given mesh (like a spray can), using the mouse movement from the user.

A script to make a 3D Chart diagram with those colored columns, eg. reading data from a spredsheet… making a small animation of the changes in the diagram (based on the spreadsheet values).

A script to create a camera from the current view and then place three lights (key, fill and back) in relation to a selected object in the scene. This script should place the lights in chosen angles in relation to the camera (I have seen similar scripts but the part with the angles I have not seen a script do yet?)

Best regards,


Just a few more ideas …

A script to run through all objects in a scene and change all sharp corners to make them a little less sharp … eg. by applying chamferEdges (a sharp coner being an edge between two adjecent polygons/faces of a certain angle). … Something of a challange I think (both to locate sharp corners and to make some “clean” modeling changes) and not sure how to do the calculations for this my self, and if at all doable?

A script to model a cob web in a scene. Should take a selection of vertexes and use them as fix points for the web. Different elements to consider: use of renderable splines, gravity/wind, possibility for holes in the web, transfer to the web to a texture map + opacity map also? etc.

A script for laying out pavement tiles of different shapes and patterns, instanced objects of the tiles and placed a little irregular, also maybe adding random filling/sand in between.


so many good ideas! I want it all!


I have a suggestion for a script that would be very usefull …

Actually, the discreet guys should add it to the control panel.

When i do architecture, and i use a camera clipping plane in order to avoid a wall or something, if the camera is not perpendicular to the wall, and the space is small, the plane always cuts the wall, or other objects in the space in a strange way …
I´m sure all those who do architecture understand what i mean.
So i do not know if it can be done by scripting, but ROTATING THE CAMERA CLIP PLANE on every axis would be a great thing to have around …


Motion stack instead of Motion Panel!Like Mod stack…


A “Make Something Cool” button! We really need one of those! I’ve heard that in Maya and XSI, there’s like one button you push, and VIOLA~! You have something cool! :smiley: Kinda like that MR button called, “Make Pretty”


I would dearly love to have a tool to slice or trim Polies using other Polyies as a the cutting edge. even if the polies don’t intersect, the tool would trim on the projected intersection.

A simpler tool would be to align the Slice plane to a normal.

I’m not a scripter and rely heavily on those gifted as such. I wish I had more to give.

I look forward to your ideas/comments.



An electricity/lightning bolt generator, with animatable end points and lots of controls for speed, size, color, forks, etc.

Kind of like this:

I can think of a few different ways to do this, so the results should be nicely varied.


I’d like to see someone make a nuclear sub burst out of the water, anyone seen that on down persicope?