bastecklein's Recent Posts

I recently got a request from a Pixel Paint user for a way to embed the Pixel Paint application into their web project with some extra UI customization features, so I have added a few things and thought I would share it with anyone who might want to do something similar.

Starting with Pixel Paint v2.9.0, you can now embed the web app version of Pixel Paint into any html based project using a standard iframe tag and a handful of URL parameters which can be used to customize the user experience.

For the most basic implementation, you should append the emb=1 URL parameter to the base Pixel Paint URL. This will disable the Ape Apps Account related stuff as well as some features that do not work properly in a cross origin iframe. So a basic URL would look like this: and you could use it on your website with something like this:
<iframe src=""></iframe>
You would then use css to adjust the width/height of your iframe, and I would suggest a good starting point is an iframe size of 480x520 and then you can go from there based on your needs.

From there, Pixel Paint currently supports the following list of URL parameters. If you are interested in this feature and would like to see other customization parameters added, feel free to reply to this post and I will see what can be done.
size: the size of the paint grid, 16 = 16x16, 24 = 24x24, etc. Embedded mode currently only supports square dimensions.

fr: floating readout. when set to 1, the current x:y coordinate that the user is mouse hovering over will show up in a floating box to the side of the cursor.

inv: invert Y axis. when set to 1, 0:0 is at the bottom-left corner instead of the top.

layers: show layers tool. when set to 0, the layers tool will be hidden and disabled

sx: starting X coordinate offset. for example, if set to 5, the origin X coordinate will be 5 instead of 0.

sy: starting Y coordinate offset. for example, if set to 5, the origin Y coordinate will be 5 instead of 0.

ico: show .ico export option. when set to 0, the option to export as .ico will be hidden.

vpp: show .vpp export option. when set to 0, the option to export as a Voxel Paint file will be hidden.

print: show print option. when set to 0, the option to print will be hidden.

mdm: enable mixed dark mode. when set to 1, the app will appear in dark mode regardless of user theme, except for the grid area which will have a white background.

zoom: specify the default zoom level. default is 1, I think the minimum supported is 0.2 but I am not 100% sure on that.

labels: when set to 1, show x:y axis and origin labels

stats: when set to 1, show stats in the corner for number of pixels in painting and number of colors used

ps: preset sizes. a comma separated list of custom square grid sizes you will let the user select from, ex 8,16,32
Here is a sample URL of many of the URL parameters in use:,16,24
So those are all of the options currently available for Pixel Paint embedded mode. If there are other use cases you can think of for the app or other URL customization parameters you would like to see, just let me know and I will keep this thread updated with the latest information!

3d ago
Voxel Paint v2.4.0 is now available with a couple of handy QOL features on board, so let's take a look at what is new!

For starters, I have added the new color-only flood select function. Now if you are on the voxel selection tool and then click on a voxel while holding down the alt key, it will select all adjacent voxels of the same color. This is helpful for making things like windows in MC2 models, because you can also use the Ctrl+E keyboard shortcut to make all selected voxels emissive.

I have also added a function to flip selected voxels. When you have made a multi voxel selection, you can press the F key to flip everything. If you hold down on shift too, you can flip voxels in another direction.

I have also fixed an issue where exporting a .obj model was not working.

I realized that I have not updated the keyboard shortcuts thread in a long time, and things have been added over the last couple of years that are not documented, so I will be updating that thread shortly. I also will be posting the latest version of the .vpp loader for three.js script, as it is very much out of date too.

Anyway, let me know what issues you find, and thanks for using Voxel Paint!

4d ago
You can right-click on a voxel
4d ago
You should fear not because your account has been updated!
12d ago
Are you saying the servers are blocked in China? Or just slow connection?
12d ago
The online beta of Terra Nova 4X has just been updated to v0.5.0 and now includes full gamepad support, as well as an updated 10 foot UI interface when played from a television device.

This update also includes a new 3d rendered title screen similar to the one recently added to My Colony 2, including several starship models provided by @GeneralWadaling . You just have to sit there and watch the title screen rotate for about 5 minutes in order to see all of the ships, lol.

There is still a ton of work to be done on Terra Nova, but I wanted the interface to have full gamepad support for eventual release on both Android TV devices and Steam Deck. I will get to everything eventually though!

12d ago
Tody comes a new update to Colony Wars, bringing the game version up to v0.13.0. Besides bug fixes, this update adds some new settings to the new match screen.

We are now able to customize some of the gameplay parameters when starting a new match. You can adjust the amount of starting money, adjust the tech level, and there is now a toggle for Quick Match.

The starting money option is obvious. For the tech level, it is loosely based off of the tech levels from the original Red Alert, and the chart I used for reference is here:

Quick Match should be a welcome addition to all. When Quick Match is enabled, a player will be defeated once his last building is destroyed, so you no longer need to scour the map for all of the AI's hidden units.

I have been in an RTS mood lately, so I may do some more Colony Wars updates. Let me know what other game setup options you would like to see in the future. United Earth could also use a few more units and structures, and then after that I think I am ready to start implementing the LIS faction.

So there is the update, check it out, let me know what you think, and stay tuned for more!

25d ago
v0.44.0 reminder
1mo ago
v0.44.0 reminder
1mo ago
v0.44.0 reminder
1mo ago
v0.44.0 reminder
1mo ago
November is here and with it comes My Colony 2 v0.43.0, the Community Content Dump UpdateTM! What does that entail? Let's find out!

Before looking at the new content, there are a couple of minor engine and other miscellaneous changes here as well. I have fixed a bug where the sell object button was not working. I also fixed a bug where the infantry units were super tiny.

Four existing structures received new artwork in this update. The Spice Den ( @therealchromedino ), the Ancient Alien Gold Synthesis ( @therealchromedino ), the regular Gold Synthesis Lab ( @GeneralWadaling ) and the Ore Refinery ( @GeneralWadaling ).

The Forest World now has 15 new tree models provided by @rahtdrgn . In addition, the Sports Stadium is now also buildable on the Forest World map.

Also thanks to @therealchromedino , we have a new military unit in this update, the Battle Droid! This is a more expensive version of the existing infantry unit, with the same firepower but a higher armor rating and it does not cost any population to build. It also builds from the War Factory instead of the Barracks.

Settlements can now be upgraded to levels 6 and 7 in this update. I am thinking that Level 7 will be one of the requirements for declaring independence and founding a Nation.

The Political Theater research tech is now available to unlock as well.

In addition to the above, this update contains 26 new structures. I will list them out below, along with the user who provided the artwork for each.

New Structures
  • Column of Dominion ( @spamdude )
  • Column of Leadership ( @spamdude )
  • Column of Protection ( @spamdude )
  • Column of Artistry ( @spamdude )
  • Column of Welcome ( @spamdude )
  • Column of Power ( @spamdude )
  • Column of Perfection ( @spamdude )
  • Column of Truth ( @spamdude )
  • Burning Individual Statue ( @spamdude )
  • Blue Brick Road ( @therealchromedino )
  • Jewelry Store ( @RekEm1999 )
  • Basic Family Shelter ( @Architecture1134 )
  • Hall of Congress ( @GeneralWadaling )
  • Restaurant ( @RekEm1999 )
  • Uranium Synthesis Lab ( @therealchromedino )
  • Mart ( @spamdude )
  • Convenience Store ( @spamdude )
  • Dealership ( @spamdude )
  • Mixed-Use Office Block ( @spamdude )
  • Spice Store ( @therealchromedino )
  • Spice Spa ( @therealchromedino )
  • Retro Arcade ( @SPARKY0303 )
  • Dark Solar Road ( @OilChan )
  • Diamond Solar Road ( @OilChan )
  • Oil Burner Station ( @OilChan )
  • Oil Fracking Operation ( @OilChan )
If you enjoy the new content please be sure to thank the above artists for their contributions to the game!

That is all for this update. With all of the new structures added, it may well be that some things need rebalancing, so play around with the new stuff and let me know what you think. There is still a ton of work to do on My Colony 2 and there is no way I am going to get it onto Steam before the end of the year as I had hoped, but that is ok! We will just keep plugging away at it and it will just keep getting better as the months go on!

Thanks for playing everyone, and stay tuned for more.

1mo ago

Nice way to spruce up the settlement!
1mo ago
Adding all of these to v0.43.0. I will look into structure mirroring at some point in the future.
1mo ago
Here is a rat model that I put together.

$furColor = #735D25;
$eyeColor = #ffffff;
$eyeInner = #000000;
$skinColor = #D8A7C0;
$teethColor = #D8D7C6;

// head group
$headGroup = startgroup();

$head = cone(1, 1.75, 6, $furColor) > rotate(90, 0, 0);

// right eye
sphere(0.25, 8, 6, $eyeColor) > position(-0.5, 0.7, -0.5);
sphere(0.1, 4, 6, $eyeInner) > position(-0.5, 0.7, -0.3;

// left eye
sphere(0.25, 8, 6, $eyeColor) > position(0.5, 0.7, -0.5);
sphere(0.1, 4, 6, $eyeInner) > position(0.5, 0.7, -0.3;

//right ear
cylinder(0.5, 0.5, 0.1, 6, $furColor) > position(-0.75, 1, -1.1) > rotate(90, 0, 0);
cylinder(0.4, 0.4, 0.1, 6, $skinColor) > position(-0.75, 1, -1.05) > rotate(90, 0, 0);

//left ear
cylinder(0.5, 0.5, 0.1, 6, $furColor) > position(0.75, 1, -1.1) > rotate(90, 0, 0);
cylinder(0.4, 0.4, 0.1, 6, $skinColor) > position(0.75, 1, -1.05) > rotate(90, 0, 0);

// nose
sphere(0.25, 8, 6, $skinColor) > position(0, 0, 0.75);

// teeth
box(0.25, 0.35, 0.05, $teethColor) > position(0, -0.45, 0.2);

// neck
cylinder(0.55, 1, 3, 8, $furColor) > position(0, -0.6, -1.5) > rotate(25, 0, 0);


$headGroup > position(0, 4, 0);

sphere(1.65, 4, 4, $furColor) > position(0, 1.75, -2);

// right arm
$rightArm = startgroup();
cylinder(.65, 0.4, 1.5, 6, $furColor) > position(0, 0, 0) > rotate(-25, 0, -45);
sphere(0.5, 4, 3, $skinColor) > position(-0.75, -0.65, 0.25) > rotate(20, 0, 0);
$rightArm > position(-1.25, 1.9, -2.0);

// left arm
$rightArm = startgroup();
cylinder(.65, 0.4, 1.5, 6, $furColor) > position(0, 0, 0) > rotate(-25, 0, 45);
sphere(0.5, 4, 3, $skinColor) > position(0.75, -0.65, 0.25) > rotate(-20, 0, 0);
$rightArm > position(1.25, 1.9, -2.0);

// right leg
$rightLeg = startgroup();
sphere(1, 3, 8, $furColor);
sphere(0.5, 1, 4, $skinColor) > position(-0.4, -0.65, 0.4) > rotate(0, 0, -90);
$rightLeg > position(-0.75, 1, -2.25);

// left leg
$rightLeg = startgroup();
sphere(1, 3, 8, $furColor) > rotate(0, 180, 0);
sphere(0.5, 1, 4, $skinColor) > position(0.4, -0.65, 0.4) > rotate(0, 0, -90);
$rightLeg > position(0.75, 1, -2.25);

// tail
cone(0.25, 4, 8, $skinColor) > position(0, 0.75, -5) > rotate(255, 0, 0);
1mo ago
Today there is a quick patch for My Colony 2. v0.42.0 is live now and fixes an issue where Civics were not generating properly. It also fixes a memory leak that was present on the game title screen.
1mo ago
Thanks @Architecture1134
1mo ago
My Colony 2 is in the middle of a major overhaul to both it's logic and rendering engines. This update brings many changes that have been suggested by the community, so let's take a look at what is here and what is soon to come.

From a technical standpoint, My Colony 2 v0.40.0 (the previous release) and v0.41.0 (this release) are not even the same game. What started as a suggestion from @spamdude to process foreground settlement logic the same way background settlements are processed basically transformed into a complete rewrite of the game's server code. There is now almost no similarity in the way the game is processed compared to previous releases.

Everything in My Colony 2 is now simulated based on structure statistics, the only exception being unit/resource harvesting. This was actually going to be the original design for My Colony 2, but when I was soliciting community feedback at the beginning, there was a strong preference to have 100% accurate production stats with visible structure output bars, so the idea was scrapped (I was also going to simulate resource harvesting but that was also not a popular idea). With settlements and worlds now getting larger and larger though, I think it became apparent to many that the simulated model was best, and the game engine has now been rewritten accordingly.

This update is all about game performance, and the logic thread of the game should now be able to handle games that are several orders of magnitude larger than the largest colonies currently in existence. It is possible that some things might currently be broken or might not be working the way they were. Honestly I changed so many things this update that it would be quite easy for something to have slipped through the cracks, so please let me know in this thread or elsewhere in the forum what I may have missed. In general though, expect game performance to be much improved in this update.

Since I was already working on performance, I have been wanting to make a change to the Scroll3D engine for some time related to 3d model instancing. Basically, instead of creating a new 3d model for each structure in the game, you create one "instance" of the model which is reused/redrawn by the GPU multiple times. If you would like to see an example on how this can impact performance, please see the following WebGL example that the new code was inspired by:

The reason I could not easily do this, is because 3d models using regular materials could not have both the regular face colors and the glowing "emissive" face colors without using two separate 3d models. Ultimately what I had to do was write my own custom 3d model shader material for Voxel Paint files, which now allows for regular, emissive, and metallic faces in one single model.

Lightmaps and Metallic maps are now baked right into the 3d model geometries when they are compiled in Voxel Paint. If models do not have this infomation baked in, they will need to be recompiled by the engine at run time. I already went through and recompiled most of the models in the game (especially the larger ones) so I don't think it will be much of a problem for MC2, and Voxel Paint will now automatically do this for all .vpp files going forward. This data actually makes precompiled .vpp files slightly larger, but it's not by much and I think it is worth it.

Using the new model light and metallic maps does incur a slight performance cost, as there is more shader processing that needs to be done on the models. For this reason, I have introduced two new engine settings for turning on/off voxel emissive and metallic properties. If you are on a mobile or do not have much of a GPU on your system, you can try turning them both off and seeing if it helps.

This update also removes the Depth of Field effect (Bokeh effect) from the game, the effect that would blur out the background. I might bring this back in the future, but it just wasn't focusing correctly and I did not have time to properly debug it.

So those are the main engine changes in this update. It might not seem like a ton, but it's basically all I have been working on for the past several weeks. TBH there is probably more that needs done too (please let me know), but I can't keep grinding on this update for MC2 while all of my other projects slip behind schedule, so further changes will need to wait.

There are some minor content related changes as well. Firstly, the Tree Farm and the Palm Sapling are now buildable on the Forest World, which was an accidental oversight on my part. In addition, the Spice Den can now be built on the Spice World again.

3D model art has been updated for the following structures: Barracks, Construction Yard, City Hall, Golden Shelter and Spice Drilling Operation.

Finally, two new structures from @spamdude have been added to the game, the Crystalline Trap and the Crystallizer Array, both Ice World exclusives.

I know there are now quite a few Voxel Art submissions waiting to be added to the game in the backlog. I hope to be able to get to all of these in the next update, and if I don't have to end up rewriting the whole game again then my plan is to work on those for 0.42.0. There are also changes that need to be made to the GBT to address spamming and other issues, and those are also on the list.

Hopefully the next update will not be so technically intensive and I can go back to adding fun stuff, but that will depend on how many bugs these changes introduced, so please let me know what issues you find in this release, thanks for playing mc2 and stay tuned for more!

1mo ago
NatetheninjaALT said:I tried using, but it doesn't work. It redirects at the last second to the marketplace page (here: The windows version works for me, but no matter what device I use, the PWA version does not work.

Is this a glitch/bug or is it just like that for now?

The app requires to be run in the Windows host in order to launch the GZDoom application, since PWA's right now do not yet have the ability to launch a native desktop application unless they can be launched via URI (which GZDoom can't afaik)
1mo ago
It's an ad blocker issue most likely
1mo ago


Member Since
September 2nd, 2017
Ape Apps, LLC is an independent software development company founded in 2010 by Brandon Stecklein. Over the years, Ape Apps has published over 400 apps and games across various platforms. You can get in touch with Brandon on Twitter or by leaving a post on his wall @bastecklein
App of the Day