Add the ability to make your own artwork without coding ( or inside RND )

Got a cool idea that should be in R'n'D? Let's hear it!

Moderators: Flumminator, Zomis

Post Reply
Blazindudereflamed
Posts: 14
Joined: Sat Mar 21, 2026 12:44 am

Add the ability to make your own artwork without coding ( or inside RND )

Post by Blazindudereflamed »

So, basically I am trying to make an levelset that has unique textures and menu, but there no way to make new artwork without coding.
User avatar
TheOnyxGuy
Posts: 669
Joined: Wed Oct 30, 2013 5:32 am
Location: Russia
Contact:

make your own artwork in RND

Post by TheOnyxGuy »

As much as I could have agreed on having a sort of integrated graphics editor, I feel like that would be a bit too much effort for such change. Especially considering how little is game's playerbase, it doesn't really seem to be worth the effort. I mean, I'm not the one to tell Holger what to do, but I'm pretty darn sure he would basically say the same thing, even if he would want to do something like that.

No secret messages here, this is just for the long horizontal line.

Besides that, making some unique visuals via graphicsinfo.conf is kind of half of the fun really, and there's not really that much coding involved, it's just basic attributes, sort of like how Minecraft (originally) handled special qualities of some entities and items via so called "NBT tags".
Basically all game element graphic attribute lines follow the same structure:
element.action.direction.attribute: [value]
...Where element means game element's token (you can enable those in the game in settings, by the way, and they will show up in editor when checking element's properties), action means whatever that element is doing for that animation to occur (.moving, .digging, .collecting, .pushing, .snapping, .active, .exploding, etc.), direction means whichever direction the element is facing (.left, .right, .up and .down) and attribute, which is basically additional data about animation's location on a texture file (.xpos and .ypos), the amount of frames it requires (.frames), whichever frame you want it to start from (.start_frame), in what kind of way you want the animation to go (.anim_mode), etc.
For example:

Code: Select all

custom_1.moving.right:			my_animation.png # -- The image file the sprite is taken from
custom_1.moving.right.xpos:		0 # -- The horizontal position of your sprite in the image, where 0 means 0 pixels off and 1 means 32 pixels off
custom_1.moving.right.ypos:		1 # -- The vertical position of your sprite in the image, same rule with pixels applies here
custom_1.moving.right.frames:		8 # -- The amount of frames your sprite will use for the animation, in order from left to right. 1 means there's no animation
custom_1.moving.right.delay:		4 # -- The amount of time before the current frame changes to the next one, where 1 = 0.02 seconds
custom_1.moving.right.anim_mode:	loop # -- The different kinds of animation modes you can potentially use
# --- loop - regular loop, it goes through all frames and then resets to the first one (1234567812345678123...)
# --- pingpong - goes through every frame, then reverses before reaching the start and reverses back to the regular order (1234567876543212345...)
# --- pingpong2 - same as pingpong but holds first and last frames a frame longer (1234567887654321123...)
# --- random - randomly picks a frame, no specific pattern (???????????????...)
# --- random_static - similar to random, but it keeps the same frame frozen until the element itself moves, changes or does anything to update it's animation
# --- linear - goes through every frame before stopping at the last frame (1234567888888888888...)
# --- reverse - reverses the animation (8765432178654321876...), can also be combined with few other modes (for example, '.anim_mode: linear,reverse', 8765432111111111111111...)
custom_1.moving.right.start_frame:	0 # -- The number of a frame you want the animation to start from, where first frame is 0 and second frame is 1
custom_1.moving.right.global_sync:	false # -- If true, this means that instead of playing this animation individually for every element, all elements of that exact action and facing that exact direction will globally synchronize their animations ever since you enter a level disregarding if some instances were few milliseconds late
custom_1.name:				My animation # -- A custom name you can apply to any element in editor (won't really work with actions and directions besides some unique cases like 'dynamite.active', 'switchgate_switch.active' and 'bug.down')
Leaving the action blank means the element will do the same animation no matter if it moves, stands still or gets pushed by player.

Code: Select all

custom_2.left:			differentanim.png
custom_2.left.xpos:		0
custom_2.left.ypos:		0
custom_2.left.frames:		4
custom_2.left.delay:		6
In same way blank direction will just make the animation play out no matter which direction the element is facing.

Code: Select all

custom_3.moving:		differentanim.png
custom_3.moving.xpos:		4
custom_3.moving.ypos:		1
custom_3.moving.frames:		1
Leaving both blank means the animation will be playing pretty much constantly unless another animation with an action and/or direction is specified below.

Code: Select all

custom_4:			differentanim.png
custom_4.xpos:			0
custom_4.ypos:			2
custom_4.frames:		16
custom_4.anim_mode:		random_static
These are just the basics for creating custom game element graphics via 'graphicsinfo.conf' with few provided examples (no images though, sorry), but just enough to do your basic custom element sprites.
Previously known as Eizzoux (boooo)
User avatar
Holger
Site Admin
Posts: 4412
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: Add the ability to make your own artwork without coding ( or inside RND )

Post by Holger »

Alan Bond once created a tool for R'n'D for exactly that purpose: ConfEdit

Unfortunately, it was a WIndows-only tool, and, even worse, closed source, so it is very hard to get it to run on today's Windows versions. :(

However, it is not so hard to configure your custom artwork manually, as TheOnyxGuy has just described.

And there are lots of example level sets with custom artwork available, where you can just look for files "graphicsinfo.conf", "soundsinfo.conf" and "musicinfo.conf" to configure your own custom graphics, sounds and music! Just fiddle around with the existing configuration files and see what happens! :-)

As already mentioned in another thread, also have a look at this post, which might also help:

- How to create custom graphics: The basics

Have fun! :)
Post Reply