Search - mc2

Here is a collection on concepts that I am leaning towards for My Colony 2 as of today (20200624). This is all subject to change and I can be convinced by the community of anything, so keep the suggestions and feedback coming. This is going to be a super long post featuring all of my thoughts on MC2 thus far. Feel free to criticize anything and everything here. My feelings will not be hurt and nothing is set in stone. This is a starting point for community discussion to help make MC2 the best game it can be!

Relationship to My Colony 1
MC2 is an entire new game, not an upgrade to the original, or a version 2.0. It may use completely different concepts. It will not be tied in to the same server. Game files will not transfer over, as MC2 will probably have completely different buildings/tech tree, etc.

This does not mean that MC1 will be going away. I will continue to support the original and the server indefinitely. I realize that a lot of people like the style of game that MC1 is and do not want anything to change, so the original is staying where it is. It may continue to receive new content as well as bug fixes, but I do not plan on any further changes to the gameplay mechanics or core engine going forward.

That said, as long as MC1 remains popular and people keep playing it and paying for it, I will keep the game going.

Business Model/Monetizing
This is the least fun part of development, but a necessary one in order to make creating a game feasible. The business model for MC1 was tacked on as an afterthought, and reflecting back I do not like the concept of certain structures and units being premium.

None of this is set in stone, but here are my initial thoughts on the business model. My Colony 2 will be a straight paid app on all app stores, with everything unlocked at the base price, no in-app purchases. No advertising anywhere. The exception is on Ape Web Apps and the Ape Market, where it will be free, everything unlocked, but with no access to multiplayer or custom content. Maybe only one map type available.

Current My Colony 1 is basically already like this on Desktop, with the mobile client being free with additional IAP, so this change just makes the mobile version match up with what is already on desktop.

Now, I do anticipate the dissatisfaction of Android players not having the free version in the Play Store. However, Android support for Progressive Web Apps is sufficiently advanced now that you can just install the Web version to your homescreen like an app and it's hardly any different. Same with iOS. And MC1 will still be available for free like it always has been.

No free version on the mobile app stores will likely mean less players, and I understand this. But I like the idea of just buying a game and having the whole thing, not worrying about IAP's and not having any advertising.

Client/Server Structure
The biggest change to MC2 is it's design from the ground up as a multiplayer game. This does not mean that you cannot play single player, but it is being designed specifically for multiplayer.

MC1 has limited multiplayer, which basically consists of chat and trading/gifting resources. You can play together on a multiplayer region, but all you are really doing is sharing atmosphere and seeing thumbnails of other players' colonies. Not really very multiplayery (is that a word?). The MC1 multiplayer is also global and centralized, meaning everything has to go through the global My Colony server.

My Colony 2 multiplayer will be decentralized, meaning no global server that everybody plays on. Why am I doing this, because it seems like a downgrade? Look at every game out there with real global multiplayer, not just chat and trading. That takes massive infrastructure, and you pay for it with either a monthly subscription or endless IAP's. That's the only way it's really possible, and I don't think anybody wants that if you really stop and think it through.

The only realistic way to add real multiplayer to the game without investing in a massive infrastructure and charging big money for the game is to decentralize it. And since I am not Blizzard and do not want to spend my whole life maintaining MC2 servers, I am adopting a decentralized approach.

What does this mean? My Colony 2 will actually be designed as two separate applications in one, the client and the server.

The game client will be fairly light weight. It's job is to receive data from the server application and render it to the screen, and pass instructions as to what the player wants to do onto the server. That's pretty much it, and it should be fairly performant. Even though the game is moving to 3d, I still expect it to perform better than MC1, simply because 3d hardware rendering performs better than 2d software rendering.

The game server is much more interesting and is where all of the game mechanics take place, but since the server does not have to worry about handling the UI or making drawing calls, it actually has a bit more overhead to work with than on MC1. The two most expensive operations in MC1 are the rendering and the pathfinding. In MC2, the server is eliminating the rendering, and I also want to greatly reduce the pathfinding, leaving more headroom for actual fun stuff, like game mechanics simulation.

So in MC2, the game relationship is between client(s) and server. Whenever you create a new game in MC2, you are creating a new server, and then connecting to it with a client. The server is saved and retained between plays, where the client only exists while it is in use, and is not saved. So the point I just want to get across is that the client is really not that important, the server is.

The server and client code are both included in the My Colony 2 game. You will have the option of starting a regular game or creating a dedicated server. When you start a regular game, you are spinning up both a client and server and creating a 1-1 connection between the two right on your device. You can also make your game joinable by friends or others on your local network for multiplayer.

You can also create a dedicated server. When you create a MC2 dedicated server, you will be presented with a special server GUI that allows you to be in full control of the game. The server will continue to process game data as long as it is running, even if no players/clients are connected. A dedicated server will be able to establish custom game rules and parameters, and have mods installed that will be transferred to any client who connects. You will be able to make a dedicated server open to the public, or by invite only, or by specifying a list of accounts who are able to join. It's up to the server. A dedicated server will be able to moderate it's players however they want, the server can adjust resource levels, ban players for cheating, or anything. It's all up to the server owner.

The game data is saved only on the server, and the server owner will be responsible for making backups. I expect game files to be a lot bigger than MC1, so I am not going to be implementing Cloud Sync, which is known to cause corruption on larger files anyway. The ability to export and backup data will be built right into the game as usual.

Because of the way it's designed, even if you only want to play single player, it still may be desirable to set up a private dedicated server. For instance, you could run a private MC2 dedicated server on your powerful home PC that is always on/connected to the internet. Then you can connect to your server from your tablet/phone/laptop/another window on your computer, wherever you are, and your game is always there waiting for you, and all of the processing is being done on the more powerful computer.

The Game World/Game Files
In MC1, the game world is divided into cities and regions, and each city is a separate game file. In MC2, there are no cities and regions, there are planets.

This is something I am aping from Minecraft. A planet is like a regular city file in MC1, except is extends out in every direction to infinity, so you do not have to worry about running out of space for your city. A planet can have multiple cities and multiple players building cities at the same time.

Planets will be procedurally generated, and new areas will be generated in real-time as needed. Each planet type will have different biomes like in Minecraft, so that different environments and different resources are available in different parts on the planet.

This system means that you will have to build up trade networks with other cities or make additional settlement outposts across the planet in order to bring more resource types back to your colony. In MC1, practically every resource in the game is available with a square mile of your lander. This doesn't really make sense. In MC2 you will have to go out and find resources, and then build up a network for bringing them back into your city.

Technically, the MC2 world is still a big 2d grid like in MC1, but each tile does have an elevation, a z-index, for varied terrain elevations. Different resources might be found at different elevations and in different biomes. You will also be able to adjust the terrain in-game, like building up dirt to level out construction areas. There will be flat areas good for building, low canyons, and hilly or mountainous areas.

Also like in Minecraft, the terrain is generated on the fly and only transferred to the client in "chunks" as needed. So your client will only contain the data for the area that you are currently looking at, and the immediate surrounding areas. As you scroll around the map, areas you are no longer looking at will be disposed from memory as new areas are loaded from the server.

Construction / Resource Gathering and Rovers
I would really like to get rid of Rovers completely and simulate everything. It's not that I hate rovers, they are so helpful and adorable. The issue is with the pathfinding. Just driving rovers around the map takes up a huge percentage of the MC1 processing time, for what is essentially a visual effect.

Pathfinding is both CPU and memory intensive on anything larger than a medium sized MC1 map, and in MC2 the map sizes are being expanded infinitely larger. It's not just as simple as "only path finding around a certain area from the rover." Before you can even calculate pathfinding operations, you first have to generate a pathfinding map and load it into memory. The maps will be more expensive than in MC1 owing to the introduction of terrain elevation, as there will now be cliffs to work around. Each time a new structure is placed the pathfinding map needs to be recalculated. With the game being multiplayer, this will have to be taking place on a larger scale. It is one of the features holding MC1 back, due to all of the CPU time that must be dedicated to solving rover paths.

The issue of course, is that everybody likes rovers. Even I like rovers. Would the game be less fun without them? I don't know. If you could just turn off Rover Rendering in the engine settings and you didn't even see them, but everything continued to operate as normal, would it make a difference to the game, or would it matter? Maybe it would, maybe it wouldn't.

Everything a Rover does can be simulated for a fraction of the CPU and memory cost.

This is the largest part of MC2 that I don't have an answer to. I can't just remove rovers because that would be a blow to the fans of MC1. I also cringe thinking of all of the months wasted on optimizing path finding and the 1 star complaints about performance, all relating to a path finding feature in what is essentially a city building game.

There are options.

I could always just keep rovers in the game as they are and just keep working around the processing issues that come with it. In a single player game or a server with only a few active players at once, it probably wouldn't be a very big hit.

I have also considered just simulating rovers, sort of like colonists are just simulated in MC1. For example, you don't even have to build your own rovers. But when you place a new construction order, little rovers drive up onto the construction site and build your building anyway. These rovers do not exist on the server, but you see them building on the client. Same way for moving resources around. On the server it is just simulated, but on the client, you see a rover driving around doing all of the work. This would still require path finding, but each client would be doing their own path finding on the visual rover effect, and the player could turn it off if it became a performance issue.

If the client could just visually simulate things like rovers, colonists, police cars, busses, etc, they would all still be there visually making your city look alive, but the server wouldn't even have to worry about them.

Maybe there are other options too that I am not thinking of? All feedback on Rovers is welcome. I want the game to be performant, but I also don't want to go against the fans, so please let me know what you think either way.

Graphics
MC1 is a software rendered game using the HTML5 canvas element, arranging .png and .svg tile images onto a 2d isometric grid. Most of the graphics processing is done by the main CPU and not the graphics card, so graphics performance is largely defined by how good your processor is. This is why the game runs a lot better on desktop vs mobile, or even on iPhone vs android, and iPhone processors tend to be a bit better.

The problems is that the CPU also has to process the game, so trying to do everything at once gets expensive, especially on mobile devices.

My Colony 2 is moving to WebGL for graphics processing, which is a javascript based implementation of OpenGL that handles rendering on the GPU. This should lead to far better performance on most devices.

My original idea was to use Blender for all of the games building models. The graphics were going to be awesome. But when I dug into Blender and started working with it, I remembered how I am not actually a graphics designer, and it was going to take me forever to make all of the models for this game.

My other idea was to make blocky pixelated type graphics using my own Voxel Paint application (https://www.apewebapps.com/voxel-paint/). This means lower quality visuals but much higher output and probably better rendering performance as well. It's also so easy to use that anybody could make their own MC2 models, my wife even offering to help design structures for the game (she is a big Minecraft fan).

At the end of the day, My Colony 1 was never known for high quality graphics, but I thought that with MC2 I could really make it look great. After putzing around with Blender though, I have to acknowledge my own personal limitations. Basically, I can either spend months learning how to make great 3d models in Blender, or I can spend months working on the game code. I know which one I'd rather do. So I am probably going to go with the pixelated look, simply because it is something that I can actually do myself within a realistic timeframe, and it will also go well with the next point I'm about to explain, which is modding.

I know some people will not like a pixelated looking game. This is one of those areas where I have to say "tough," unless somebody is willing so supply me with hundreds of 3d models free of charge, which is what it is going to take in order to do this properly.

Modding
Customization is going to be huge in MC2 compared to the original. Given the global online multiplayer in MC1, custom content could not realistically be allowed in the game. The decentralized nature of MC2 changes everything though, and modding and customization, as well as all of the tools needed to make it happen, are going to be baked right into the client.

In MC2, the basic "unit" of the game is the building. Everything is going to be pretty much based on buildings, and their relationship to each other. This is basically how MC1 works as well, so this is nothing new. What is going to be knew is My Colony 2's build in Building Editor.

I am going to be creating MC2 using the games' bulit-in editor, and so the same editor I use to make the game is going to be available to all players.

Each building in the game is going to be stored as a building file, and the base game will ship with all of its standard building files, which will be loaded at runtime. This differs from MC1 where all building data is stored in a single JSON file that is shipped with the game, which cannot be easily edited.

A building file will contain three parts.

The first is the JSON formatted definition data, with information about the name of the building, what it does, what it generates, etc. All of the properties that a building can have will be stored in that data.

The second part is the model information, which will essentially be an embedded Voxel Paint file.

The third part is a small (maybe like 64x64 pixel) thumbnail or icon representing the building, which will show up on the construction sidebar and various places throughout the UI.

The three above parts are all packaged into a single file which can be added to the game client, posted online for easy sharing, or what have you. A dedicated server can include custom building files that will automatically be distributed to clients when they join the game. Each building file will have a unique UUID and version information, so if a client already has the same version of a building file that a server does, it will not need to re-transfer the data upon connection.

This system is actually a very powerful change over the original My Colony, and unlocks essentially limitless possibilities for the game. This also makes it a lot easier for the community to participate in development of the game. A creator who makes a great building idea can distribute it online where it is tested out and balanced by the community. If it works in practice and everyone likes it, the file can be included in the base game.

If you want to host a crazy dedicated server with a bunch of custom buildings that totally change the game, you can do so.

I have no idea what kind of buildings people will dream up, but including the content creation tools right into the base game will be huge, I hope. And I plan on making the process as easy as I possibly can, so that anybody can create a building. Using Voxel Paint, if you have an idea and the ability to build a house in Minecraft, you should be able to make it a reality. And being able to make something and then instantly import it into your game makes it simple to test out concepts and balance them right there on your own device.

It's possibly that nobody will care about modding or making buildings, but it still doesn't hurt to add the tools right into the game. If nothing else, it will still make it easier for me to create new content for updates, versus having to go through and edit JSON data manually.

However, it's also possible that everybody will be making custom content and the game takes off in crazy directions that we never even imagined!

It could even be possible to allow mod creators to somehow sell their mods in-game and get paid in real money, maybe through PayPal or something. That is a thought for another day though, and not a current actual plan.

Conclusion
These are my current thoughts on MC2 as of this day. Like I said, nothing is set in stone yet and everything is subject to change. I wanted to put everything out there so that the community knows what page I am on and where I am headed, and has time to stop me if I am about to drive over a cliff.

Remember that I am open to all feedback, so if you have ideas, please don't just be quite about it, or don't just complain about them in a Discord chat somewhere, because I probably will not see them. Part of being a game developer is getting hate e-mail on a regular basis on why my games suck, so believe me that your being critical of the above ideas will not hurt my feelings, and will be nothing new to me.

The whole purpose of doing all of this beforehand is to get real feedback from the community so that MC2 can go in a direction that we all like and we will all have fun playing. Once I start getting into the code, it gets harder and harder to make changes, so if there is something you don't like, now is the time to mention it. Think of all of the things I could not effectively implement in MC1 because they would require massive time-consuming changes to the entire engine. So getting ideas in right now is how we avoid that.

Like MC1, I'm trying to make something fun that I myself want to play, not a game that is going to just nickel and dime players with constant ads and IAPs so I can sit on a yacht somewhere. I think the new decentralized play model will allow the game to outlast the original. Basically, if I get in a wreck and die, the MC1 server will be forever down within a few weeks. With MC2, once players can make their own servers and create their own content right from within the game, what happens to me becomes more irrelevant, which is the way it should be.

Anyway, if you got this far, then thanks for reading my small novel. Please give some thoughts to where you want to see the game go, or discuss it with other players and really think about all of the concepts I laid out here. I want to start working on the game soon, maybe as early as mid-next month. I plan to start with the world-generating engine and the in-game building creation tools first, so people can start testing that out and seeing what it is like to make their own content.

So between now and then, if any of the above ideas are way off the mark, I need to know now. So think about it, let me know, and thanks for helping me create the follow-up to My Colony. I think it's going to be fun!
2y ago
I know that many are anxiously waiting the next updates to My Colony 1 and 2, so since they are still a little ways off, I thought I would share with everyone what their current status is, and what my plans are going forward!

First, the reason for the lack of updates this month is that I have created a new Google Play account called My Colony Universe to house all of the games in (you guessed it) the My Colony Universe, so that everything is combined together and easy for players to find. Since the titles were spread out across three different accounts, it took me some time to get everything transferred over, as each transfer request takes several days and must (I assume) be done manually by employees at Google.

Going forward though, all My Colony related content on Android is available on the same Google Play account which you can view here:

https://play.google.com/store/apps/dev?id=6753488031908307666

While I was waiting for the transfers though, I started the process of going back and updating my entire catalogue of apps and games so that they all target the latest versions of Android/iOS/Windows and run the latest SDK's and so on. This has been a slow-ish process, and I expect it to take me most of the rest of the month, but it is important work to do, since the My Colony games themselves do not generate all that much revenue, and are largely subsidized by the rest of my catalogue of apps and games. For that reason, it is important to keep the other titles up to date and functioning properly on the latest mobile hardware, and since some of my apps I had not touched in several years, time was well overdue to go through and complete this process.

Next, let's look at the future plans for the original My Colony. I do not know if it will be ready for the next update or not (really depends on GirlyGamerGazell's timeline), but the next big content update to the game will be the completion of the Dark Matter update. This will probably be the last really big content update that MC1 receives, other than a regular stream of weekly premium structures. I really want to focus my time for new content and features into My Colony 2 which has really begun to mature over the last few updates, so that is what I will be doing. Rest assured though, MC1 will continue to receive updates on a regular basis to fix things that need fixed and to stay current for the latest devices and whatnot.

I am also going to be making a change to the Challenges system, as it turns out that it is a lot of work for me to keep coming up with new challenges on a daily basis. Instead, every day the MC server is going to automatically generate a new daily challenge using a random resource, this way I do not have to keep coming up with challenges and logos manually. In addition, randomly throughout the day, the server may generate a 1-2 hour long "snap challenge," which I think should give more players a chance to gain trophies.

As the challenge system goes on, it may make sense to implement something like "seasons" where all trophies reset after a time. There can be a record of course of which players/federations won each season. But at some point it might get to where first place is so far ahead on trophies that nobody can even catch up.

Anyway, you guys can let me know what you think of the system. Remember that challenges are completely optional, and while some people have expressed disdain for the system, many others seem to really like it, so it will be staying around for sure, and might even come to MC2 as well.

Now on to My Colony 2, which is going to have a big year in 2023. A lot of new features/fixes/and mechanics have come to MC2 over the last few updates, bringing it closer to being on par with the original. That is going to continue, and it will eventually far surpass MC1 in terms of "stuff to do."

First, I have done some work behind the scenes over the last couple of weeks on the server side of things, mostly aimed at improving MC2 dedicated servers. I noticed that when running an MC2 dedicated server for several days, what would happen is that the user's account token would expire, and then all game saves to Cloud Sync would fail due to an expired token. Thus the next time the server was rebooted, several days of game data would be lost. This issue should now be fixed on the web app version of My Colony 2, so it now should be safe to run an MC2 dedicated server using the web browser for days on end with Cloud Sync enabled. I currently have three servers running at my house to put this theory to the test.

To further help with dedicated servers, I am going to be adding an automatic daily backup for all public dedicated server games directly to the My Colony 2 server (which is on different hardware than the Cloud Sync server) which server owners will be able to restore from in the event of a catastrophe. Perhaps I will retain the last several days worth of backups that an owner can restore from.

Since I noticed there has been a lot more MC2 dedicated server activity lately, I wanted to make sure that this system is as solid as I can make it, so more improvements will be coming to it as time goes on.

In terms of new content, the next MC2 update will be fairly large, as I am pleased to report there have been quite a few new model submissions on the Discord server and elsewhere, so there is a lot of exciting content coming soon to MC2.

I am also going to be making a way for people to submit the link to their custom News Feed servers, so that the game will come standard with several that players can choose from.

I would like to also finally release MC2 to Steam in 2023, which I know is something some people have been asking/waiting for. Before it gets there, I want the game to have sound effects and a music track. I have already compiled a few original tunes for the game using Garageband, but I am no musical expert, so if anyone out there wants to take a stab at creating some songs for MC2, please feel free to do so!

Big things are going to be coming to the Player mode in My Colony 2 (the mode where you become a little colonist and walk around). I sort of have a vision in my mind where MC2 is kind of two types of games in one, the city builder type game that it already is, and something of an adventure/role playing game using the Player mode, except that the universe you play in consists of the network of online dedicated servers built by other players. I am thinking that the Star Gate from MC1 needs to return, but this time it will act as a means for players to travel from planet to planet in player mode in order to adventure, complete quests/missions, find items, or just explore other worlds from that perspective. I have spent some time just walking around some MC2 worlds in the VR mode, and it is pretty cool, but would be far more so if there was actually something to do besides just look.

Basically, each player/account is going to have one player mode avatar on the entire universe server, instead of a different guy for each world. You will have a "home" planet that you can respawn on if you die or if the server you are currently on goes offline. You will have stats/inventory and be able to party up/communicate with other players. You will be able to visit other worlds via Star Gates, even if you do not have a settlement on that world. When you are in building mode, you will be able to see Player Mode people as they come through your star gate, and so really you can build some kind of special welcoming area/lobby in your world around your Star Gate. Maybe buildings will be added that you can build that have specific functions for player mode. The game will also generate some NPC type characters in each settlement that players can interact with or get quests from. You will be able to do some sort of prospecting/mining, and maybe each world will have unique materials that you can only obtain in player mode. There are a lot of options.

Player Mode characters will also be able to control vehicles, whether driving/air/water vehicles, as well as combat type vehicles. There are a lot of options. Players will also be able to fight each other if they choose to do so.

So that is sort of my idea for the "two games in one" approach to MC2. Although the classic My Colony style of play will always be the primary mode, I think realtime multiplayer and dedicated server model that MC2 has unlocks the ability to add the cool secondary mode that can potentially add replay value to the game for years to come, and also open the world up to players who maybe don't care about the building aspect of the game, but would have fun adventuring through worlds that others have built up.

So those are the 2023 plans for MC2. Content and feature wise, I want it to be close to on par with MC1 United Earth faction, with the added bonus of infinite world sizes, real time online multiplayer, and a network of worlds that are truly connected. On top of that, I want to start adding a secondary adventure game to the mix that players can interact and explore in, whether on a PC, touch screen, TV/gamepad, or in VR. Finally, I want the polish and presentation to get to a point where the game is ready for Steam. I think all of these updates will add up to some exciting times ahead for MC2!

Just as an aside, I also plan to keep updating Colony Wars throughout the year, I have not forgotten about that game. At some point also, Terra Nova 4X will become a thing, I just need to find the time to work on it!

#mycolony #mycolony2
1mo ago
Ok going off of some of the above thoughts, consider this. What if MC2 does not need to have all of the planned customization and everybody is playing the same game on the same server? The modding does sound awesome of course, but it does somewhat break the ability to have a global server. Additionally, all of the customization may just turn this game into something it's not, if that makes sense.

@Invincible said he is still in favor of the infinite map sizes, and so am I. Now an infinite map size does not necessarily have to be a multiplayer server. For instance, MC2 could simply do away with the Region concept and make all maps (planets) infinite in size (or at least, super large), and you would never run out of building space, and your entire civilization is still right there on one screen.

Now obviously with an infinite map, it would be easy to get "lost." I think there will need to be a way to "bookmark" locations on the map that you can easily snap back to.

@Luker124 hints at ways to change up trade, possibly requiring embassies or other ideas, and as @Ansom correctly points out, the economy in MC1 is a bit out of whack. That all said, I have been considering that the game is still fun to have a global connection, and I think the in-game chat does add a lot to it. However, some things need to change.

For example, if MC2 goes global instead of decentralized, I am not sure that chat-based resource gifting should even be a part of the game. It's not realistic at all. However, trading resources over the GBT instantly really isn't realistic either. Here are some possible solutions I have.
  • A year or so ago, I brought up the idea of actually using Star Ships to build trade networks between colonies. I never implemented this, because with gifting and GBT it would be largely pointless. Maybe in MC2, Star Ships are the only real way to export/import/trade resources off of your planet. It makes logical sense. You build Star Ships and you can either then trade with Earth for rip-off prices bases on your starship cargo capacity, or you can set up networks with other players.
  • I do not think that the GBT as it is really makes sense, however the concept is enjoyed by a lot of players who like the trading aspect of the game. Maybe this could be a compromise. Remember a few months ago when I was thinking that, instead of being a part of a government (UE/LIS/etc) you are a corporation trying to profit with a space colony? Perhaps that is the concept, and there is a global stock exchange in the game, where you can issue shares in your "company" to raise revenues, people can trade your stock, and you can issue cash dividends to your "shareholders" when your colony if profitable? There would need to be an in-game way to pull up all of the stats on a colony so traders know if they are a good buy or not, but it could serve as both a way to make money, and a side game that still has the trading aspects of the GBT. And it doesn't jack with resource prices. Of course, I could see the need for a resource based commodities market, but perhaps it would have a requirement that you need to load all of the goods onto a starship first, but I would also be fine with no resource based trading market.
  • I had a thought for Embassies that still sort of keeps the "multiple players in one server" thing, but in a much reduced role. For Embassies in MC2, what if you grant another player a "patch" of land, like a 10x10 square or something, and they can build whatever they want there as their embassy, or maybe out of a certain sub-selection of decorative structures. So each embassy area would be unique, and when you establish an embassy in a new city, you get to design it how you want, make it look pretty, and depending on what buildings you put on it would decide what kind of capabilities the embassy had? This is just an initial thought, something to flesh out more later.
  • Buildings that just generate resources out of nothing probably shouldn't exist in MC2.
  • The modding is fancy, but it might really not be that necessary and might be more of a hassle than it is worth. Realistically I do not know how many people would actually take advantage of it, and it would eliminate that colony's ability to play online. Well I could go either way on this really.

Anyway, think about what I wrote and let me know your thoughts. MC2 is still in it's infancy so we can still throw ideas around and see what sticks. Possibly if you take MC1, tweak it with the ideas above, make it 3d, etc, that would be a pretty good new game too. On the other hand, I do like the idea of the decentralized servers and complete customization, but perhaps that is an idea for another game that isn't called My Colony 2?
2y ago
bastecklein said:I have been thinking of that very issue @GeneralWadaling due to the day/night cycle in the game.

In MC1, the lighting effects are a simple filtered color overlay drawn over the game screen, so they do not impact performance too terribly much.

For MC2, the performance hit would be far greater. You can see it yourself in the time it takes to render a scene in MagicaVoxel, which is actually a compiled application (unlike JS) and is only performing a single render (MC2 needs to perform the render, ideally, 60 times every second).

Generally lighting in a 3d game uses pre-baked light maps, where all lighting information is compiled and saved before hand. In MC2 this can't really happen since the player is literally building the game world in real time.

For performance reasons, an actual 3d scene can have at most 50-60 point lights on a fairly high end desktop computer. That might sound like enough, but for a large city with a lot of lit up buildings, it's not enough at all. And for mobile that number could be as small as 5 or 6. I ran into this problem when I started adding dynamic lighting to Death 3d. I was putting lights everywhere and the game was starting to look absolutely beautiful until the engine ground to a halt, and on mobile it would only display a black screen.

There are options to fake lighting though, which I am considering. First of all, I am considering adding an option in Voxel Paint to make a voxel "illuminated." Basically, the voxel would not emit any light outwards, but it would be unaffected by the world light level, making it appear to glow in the dark. This option will be added in Voxel Paint v1.6.0 (I am releasing 1.5 today), whether or not it is implemented in MC2. Even that will add some overhead to the engine though, as the illuminated voxels would need to be broken out into a separate object, and then the two models would need to be grouped together as one, or multiple if different brightness intensities were desired.

You can also use a static sprite to fake lighting on the ground, which is a method used in a lot of games that require dynamic lighting. Basically you take a .png image which is a circle that has a gradient of white (or whatever the light color) in the center, and fades to transparent around the edges. You then just lay this sprite on the ground where you want a light to shine and do some color blending to make it look like the area under the light is illuminated.

I could also add a "Render" option to MC2, where just for a single frame it can compile your current scene with all sorts of lights and effects turned on and save a static picture for you. Could be a fun little option. In conclusion though, I have absolutely been thinking of this very issue, it's just a bit more complicated than it seems it should be. At the end of the day though, it will need to be "hacked" in some way, because just having each building or unit emit it's own light will simply not be doable :-/


The solution here is to implement real time ray tracing. It works by reducing a frame's samples to extremely low levels ( thus speeding up render times), then using AI to improve the quality of the frame until it looks realistic. Lots of games are implementing this feature now, including minecraft (which looks similar to MC2).

MC2 with real time raytracing could look similar to this, minus the detailed bushes:



2y ago
I am considering changes/enhancements to the My Colony 2 engine to be able to handle/support builder type games that are slightly more simplistic. I am thinking of making a sequel to My Land using the Scroll3D rendering engine, but I was thinking that maybe instead of rewriting the entire game logic engine from scratch, I could make a few changes/additions to the modding tools of My Colony 2 to allow for easily creating My Land style builder games as well.

These improvements could unlock the ability for modders to create even more types of games in the future using the MC2 engine.

Changes I am thinking of implementing to the engine in order to facilitate a My Land 2 game. This is more of a checklist for me so that I remember what I need to implement, but this thread can also be used for ideas/suggestions of things that can be added to the engine to either improve MC2 itself, or to help mod creators:

A toggle/option in the game Meta object to allow for instant building, ie just click on an option from the build menu and then place it, no rovers/builders required. This same feature could be utilized for creating RTS type games with the engine, such as a Colony Wars 2 someday.

Spreadable map resources. This is already there in MC1, where resources such as trees and crystalline will spread over time. My Land needs this for grass and other terrain items spreading, and it could probably be used in MC2 as well.

This has already been a requested addition for MC2 anyway, but basic Terrain Modification, such as changing the elevation at specific areas, might be desired. For instance, in My Land you can build irrigation ditches to water your crops. So this ability would be necessary in the engine.

Of course, for a farming game, the engine needs to support Wildlife. My Land has chickens, cows, pigs, sheep, etc. The MC2 engine will need to support basic animals running around. It could be cool for the game in general, some worlds could have native animals that could be utilized for certain things.

For a My Land game, the engine will also need "morphing" terrain objects. For example, a tree sapling object, that "grows" or morphs into a young tree after a certain amount of in-game time, which in turn can morph into a full grown tree.

A Click/Tap to Harvest option will need to be available to terrain objects to allow resources to be collected without a rover.

The engine will also need collectable objects, such as the eggs that a chicken can lay. Animals should be able to spawn objects on occasion. An Apple tree can spawn apples, etc. A collectable object system could be expanded well beyond the needs of a My Land type game. You could even envision it leading to an RPG type game using the player perspective mode of the game. There are a lot of possibilities here.

Connecting structures will be needed. By this, I am talking of a fence like structure, where there are multiple .vpp (voxel) models assigned to be able to make a connection. There shouldn't be too many different models required, since a 3d object can be rotated as needed. Basically, a straight fence, a 90 degree corner, a three way, and a four way connection I think should cover all scenarios, unless I am missing something.

So these are the additions to the engine that I can think of off of the top of my head which will be needed in order to create a My Land sequel using the My Colony 2 engine. I think adding this stuff will also improve the base MC2 game, as well as unlocking completely new styles of mods that can be made using the engine!
7mo ago
cry8wolf9 said:Well maybe not so quick.
Since your taking a look at models.
Are you keeping the same model for structures? Like entertainment, government, ect.
Also what about the races? Same or are there going to be different ones? Would this be a good chance to suggest new ones?
Any lore ideas yet to base the buildings and builders on?


Sorry cry, but you might get more than you bargained for with my reply.

So I am not exactly sure what you mean by "models," but I don't want the design of the game to be limited by what was there in MC1. There might be a tendency to think "well this is just MC1 with just 3d versions of the landscape and buildings," etc, but that is not my thinking at all. There is no reason that the tech or building tree has to mimic what was in MC1, and the buildings don't just have to be 3d versions of their MC1 counterparts. There is no reason why MC1 needs to have a lander, silo, solar panel, greenhouse, refinery etc, unless they make sense in the context of the game. Same thing applies to Rovers, which is why I continue to raise the question as to whether they need to exist in the same form as they do in MC1.

This is not to say that existing MC1 stuff does not belong here, what I am trying to say is that this is an entirely new game, there is nothing wrong with starting on with a new slate.

In terms of lore/races/civs/etc. My thought is that MC2 would be on one hand smaller in scale than MC1, but at the same time much larger.

What does this mean? So My Colony 1 basically encompasses a large area of the galaxy with thousands of planets and the three principal races. And all of the races are still official "lore" for the game, of course. Additionally, a "planet" in MC1 is basically limited to a small plot of land, and you can go from a lander touching down on a dead empty world to a booming metropolis in a matter of days.

I want MC2 to feel completely different, like when your lander touches down on the Red Planet (or whatever world), you are just a lander and two tiny colonists alone on a massive, dead, empty world that you must tame, and all of the resources you need will not just be sitting there waiting for you upon arrival.


Here is how I sort of see it in my head. All lore for the game universe comes principally from the following titles: Colony Wars, Colonial Tycoon, Death 3d, My Starship, Deimos, Deimos 2 - End of the Earth, Deimos 3 - High Noon, and Sarge. If you wanted to put the story in a chronological order, I think it would go like this:
  • My Colony 2
  • Deimos
  • Sarge
  • End of the Earth
  • High Noon
  • Colony Wars
  • Death 3d
  • My Colony 1
  • Colonial Tycoon
  • My Starship
I see MC2 as taking place during the first human exploration and settlement of other worlds. The Deimos series (plus Sarge) takes place in the early days of United Earth, where they have just a couple of settlements. The LIS is starting to form, but is not officially recognized yet, and has not yet broken off from U.E.. Colony Wars takes place shortly after the events of Deimos 3, where the LIS formally declared independence (in the form of a surprise attack) and fights to break away from United Earth, which they are eventually successful at with eventual aid from the Zolarg finally tipping the war in their favor. Death 3D takes place during the middle of the LIS war, and features the demise of some of the Deimos-era heroes, along with the United Earth Presidency, where power is moved over to the General Assembly instead. My Colony 1 and Colonial Tycoon are both post-LIS war, where the three civilizations and also the Alpha Draconians, which are now known to humans but have been known to the Zolarg for a long time, are all branching out and colonizing this part of the galaxy. And My Starship takes place somewhat later, where much of this part of the galaxy has been colonized and commerce/war is going on as usual between the various factions.

So that is a general overview of the MC Universe lore. The nature of My Colony 1 and 2 make them harder to place firmly on a timeline, since a game can last "years" and span throughout the whole timeline. But I do like to see My Colony 2 start at the very beginnings, not to far from our present day, because I think it would be neat to see the original few lonely colonists roughing it in hard times on a barren world, which is what going to Mars is going to be like in real life.

It has given me some ideas for some changes VS MC1 though.

In MC1 you are like a mayor or a governor starting a city. In MC2, I see the player as more of a company landing on part of a new planet for fun and for profit, but mostly for profit. You begin with a certain amount of money, and initially to get more colonists, you have to finance another launch from Earth, which results in another Lander showing up with two or three colonists. The Lander can be broken down for scrap parts once it arrives. I think you will also be able to order up a supplies lander from Earth for a lower cost, which has no colonists but whatever materials you need to order, or foot/water etc. However if another player is also on that planet and there are already colonists nearby, they may join your settlement instead of having to bring in new people. You get more money by exporting resources back to earth.

Eventually your settlement grows into a city and the nature of the game changes from one of having to ship materials to Earth for survival to a self-sustaining colony. But I think it will be a slower, more drawn out process VS MC1.

Having multiple players on a planet will also allow for a planetary economy to grow, where trade networks between settlements are made and colonists move from one player to another. Eventually a planet can be built to a point where Earth is no longer required. In MC1, each player has his own planet, but in MC2 I would rather see all players on the server on the same planet, with the planet itself being near infinite in size, with different resources and terrains on different parts on the planet. There will of course be support for multiple planets on a server, but I do not think the game will be as fun if everybody starts with their own planet, as on MC1. On MC1 it was needed because a planet was, at most, a few square miles in size. In MC2, a planet is like an actual planet.

I don't know if there will be terraforming as in MC1, or if so it will be way, way slower.

As for other civs, my plan is to just have Earth/Human. If somebody wants to create a mod with another civ built out, they are free to do so. If it's really good and they want it included in the base game, I will consider it. But it's not a part of the initial plan.
2y ago
I had originally wanted to do away with units/rovers in MC2 for performance reasons (since the world is now infinite in size, and path-finding is expensive), but I think I have settled on a new strategy that will both allow units and keep the server path-finding to a minimum.

In MC2 there will be two types of units, "global" units, and "tethered" units.

A global unit will work pretty much the same way that a unit in MC1 works. The unit is assigned to a player, and a player can move it around the map as he/she pleases. The unit's pathfinding is controlled by the server, and it's state and location is synced between all connected clients. An example of a unit that will be in the global class for MC2 is the Lander, or any other future type of unit that has the ability to "unpack" into a base structure or outpost.

The other class is the tethered unit, which conceptually did not really exist in MC1 (although the transit bus was similar in some ways), but most of the types of units from MC1 will be turning into the tethered type for MC2.

To explain Tethered units, I will give the example of an ore refinery. In MC1, you would build a refinery, and then you would build Ore Miners. Ore Miners would search the map for ore and bring them back to whatever refinery was closest.

This behavior changes for MC2. Now a building will be able to support X number of "child," or "tethered" units, varying based on the individual structure, and these units will operate within a certain radius of the parent structure.

For example, suppose a hypothetical refinery supports 10 tethered units and has a unit radius of 30 tiles. When you build the refinery, it may come with one free unit, and then you can click on the refinery and build more units up to 10. Those 10 units will harvest any Ore deposit they find within the 30 tile radius. Also, the state and location for those 10 units are unique to the client. On the server side, Ore in the area is simply harvested statistically based on how many tethered units a building has, so there is no server-side path-finding required. On the client, it will look like rovers are driving around doing things, but it will be mainly for show, and they can be disabled in engine settings. The client will only need to do path-finding within the 30 tile radius.

This new system should improve unit performance significantly VS MC1, while still keeping Rovers as an integral part of the game.
2y ago
Today marks the availability of My Colony 2 v0.10.0, along with some cool new features and enhancements! Updates for MC2 will be weekly during most of the rest of the summer, so make sure you stay tuned for all of the new features and content. In the meantime, let's take a look at what's new with this release.


My Colony 3D - If you thought that Jaws 3D was all of the rage back in the day, it's got nothing on My Colony 2. If you have a pair of red/cyan 3d glasses, yes the old movie theater kind, you can now enable Anaglyphic 3d Mode in the Engine Settings menu for a neat stereoscopic 3d effect. Observe the above screenshot using 3d glasses for an example.

Back to Work - The pandemic has ended for the worlds of My Colony 2, and so all productive structures are now requiring their workers to return to the factories. Hovering your mouse above the population readout in the toolbar will now show you the same stats that MC1 would regarding settlement population, housing, and jobs. New for MC2 though, buildings will now show a "workers needed" icon over the top of them if they have no workers available, so that you can see at a glance if you need to construction more housing or landing pads. Since the added work requirement will no doubt require a higher population, the Dormitory has been added as a more dense housing option.


Storage Required - Before now, it wouldn't really matter if you constructed storage facilities or not, as you could just gather infinite resources anyway. Now storage requirements are enforced. To assist in this new requirement, the Warehouse is now available to build in the game.

Money is now in the game, which can currently be created using the Gold Mint facility. Eventually you will have to pay your workers, and Money is the way they are going to be paid. Money will also be the medium of exchange for player-player trades, once I get that implemented.

The Desert World is now functional and ready for colonization. To assist in Desert World colonization, I have added the new Desert Rover, the Sand Drill, and the Small Condenser to to the game.


The updates are going to be coming fast to My Colony 2 over the next few weeks, leading up to the late-July Android release of the game. Once the game hits Android, some of its features are going to be moving behind the premium paywall, such as modding, multiplayer, and some of the world maps. Premium content is being added to MC2 because, unlike MC1, I do not plan on using in-app advertising banners in this game.

My short-term (next few months) to-do list for MC2 is as follows (and this is a loose roadmap, not set in stone):
  • Implement Abandoned World map with lakes of Ether and old ruins to explore
  • Start implementing Scripting Engine, starting with basic flags and triggers (enough to implement in-game tutorial at first)
  • Water Based Units and Structures, for both the Water World map and the coming Abandoned World map.
  • Pavement
  • Research and Tech Requirements
  • Building Options, such as Sell, Rotate, Prioritize, etc
  • And of course, more Structures and Units with each update.
Beyond that, my longer-term roadmap (this fall and beyond) includes a lot of things, some of the major being:
  • AI controlled Civilizations for trade or combat
  • Full Statistics screen window, similar to what MC1 has
  • Entertainment, Medical, Education and Security requirements. The necessary structures will be available to build well before they are required.
  • Cross-Server trade networks. I still do not want to have a big centralized MC2 server, but I am working out a plan where individual dedicated server owners can set up their own server-server trade networks, whereby multiple decentralized servers can be linked together and interact online.
  • iOS and Steam releases before the end of the year

So that is what is here now and coming soon for MC2! Thanks to all who have played and contributed content to the game, and stay tuned for more as the weeks progress!

#mycolony2
1y ago
Just in time for the weekend (if you are using the PWA at least), the My Colony 2 v0.23.0 update is now available, bringing a lot of goodies that I hope think you are going to love. So what's new in this release? Let's take a look!


To begin with, continuing work from the last two releases of My Colony 2, more structure voxel models have been separated from the data files, further reducing initial game load times, particularly on mobile devices. This should especially help on lower memory devices, as some were crashing from the sheer size of the overall MC2 data file during initial load.

Next up, as I mentioned in another thread, all My Colony 2 game statistics are now being automatically logged to the Coloniae service that @Sobeirannovaocc is maintaining. The My Colony 2 implementation of Coloniae is still in development, but you can find it at the following URL to track it's progression. Check it out, see if you can find your own world statistics, and be sure to give Sobe your feedback!

https://dev.coloniae.space/

In addition, all new colonies in MC2 are now being automatically added to the mc2global Universe, as outlined in this thread. This will be the default global universe for all new MC2 games, and if you want to join it with your existing colony, simply click on the thread I just posted for instructions.

Next up, commenters in the various app stores have long been requesting that MC2 contain some sort of hints or tutorials such as those found in the original My Colony. So I have started to add helpful dialogs to the game at various points.


More exciting than the tutorials though, are the manner in which they have been implemented. Some time ago, there was a request for some scripting capabilities to be added to MC2 that creators could use for different types of mods. I started implementing it by adding some flag properties to units, structures, worlds, and civs, but then forgot about it, until @Luker124 recently reminded me that they would be helpful for a mod he is planning. As a result, you will now see a new Scripting section in the Game Editor.


I will make a more detailed post on scripting at some point, but it basically works like this. Certain entities (units, structures mainly, but also civs and worlds) can set either a Player Flag or a Global Flag when they are built/come into the game. A Player Flag pertains to the player who triggered the event, and a Global Flag pertains to the entire server. When a flag is triggered, the engine looks through all of the available scripts, and then will run any script that is triggered by the trigger flag.

The engine remembers which players have used which flag, so they can only be triggered once, unless a script gives a "clear flag" command. You can see the currently available script actions in the screenshot above. A script may contain one or more actions, and can call subsequent scripts by setting flags itself.

I plan to use this new flag/script feature to implement something suggested by @GeneralWadaling some months ago, whereby you could discover interesting terrains which would then unlock things. My thinking is that you could discover alien artifacts/tech that would then unlock certain structures that were not available otherwise through the tech tree.

The possibilities are vast though, so it will be interesting to see what modders come up with. The scripting framework is still in its infancy, so try it out and let me know what additions or improvements you would like to see. I foresee eventually being able to make a wide variety of different types of mods with this feature, not even limited to colony builder games.

Next up we come to a new addition that everybody has been asking for since MC2 was first made public, and I am talking about the return of the Bulldozer!


There is now a new toolbar above the build options sidebar. Currently it only has a bulldozer, but that will probably be expanded at some point. As in MC1, the bulldozer mode will turn your interface red so that you do not forget you are in a destructive mode. Unlike MC1, bulldozing a structure will now actually sell it instead of just destroy, so that it is actually more like a quick-sell option than anything else.

Besides just structures, Roads can now finally be removed too, using the bulldozer. This has been one of the top requests for a long time, and now it is a reality. This actually required a pretty substantial rewrite to how roads work, which I outlined in another thread a few weeks ago. But the work is done and the feature is here now. In the coming updates, I plan on also allowing roads to be built pretty much anywhere, not just within the confines of your own settlement, allowing vast highways to be buily across your world!

Moving on, the engine will now enforce structures that have a Settlement Level requirement (currently, only a handful of structures do). You will see this when viewing structure costs on the sidebar. Settlements are leveled up using Civics, and you can level up your settlement by selecting it from the Statistics window.

Now on to new content, as three new Techs have been added in this update: Low Atmospheric Zoology, Advanced Security and Advanced Robotics! Along with the techs, we have two additional resources added to the mix, Cloth and Robots.

Of course, there are new structures here too. The Fish Hatchery is back from MC1, allowing you to breed fish for food. The Outhouse is here, which I think was something of a gag model that GeneralWadaling sent me, but I turned it into an early game sanitation (medical) facility that you can build early on, before you can afford an infirmary. Next we have the Synthetic Textile Lab for creating cloth, and the Robotics Factory for making robots. There is a decorative United Earth Flag that takes on the color of your settlement, and the Storage Yard is a new upgrade to the Raw Materials Depot, allowing you to store way more raw materials than you previously could. Finally, the new War Factory will allow you to build this updates' new military unit, the Main Battle Tank!


All in all, there is a lot here in this update, and I hope you guys like it! So check it out, as it should be hitting all platforms over the coming days, and if you don't want to wait, fire up the web app now at the following URL. Until then, thanks for playing, and have a good weekend!

https://www.apewebapps.com/my-colony-2/

#mycolony2
7mo ago
Have been messing around with terrain generation for MC2. I am developing a world "seeding" mechanism, in which a unique seed will generate the exact same world terrain + biome placement every single time. In this way, not only can players share world seeds that they enjoy, but the game also does not have to internally store it's topography information, allowing for much smaller save file sizes given the potential "infinite" size of MC2 planet maps.


This is just a sample MC2 red planet with some ice patches, a few tiles of which are actually liquid surface water.

Anyway, I still have some work to do on terrain/biome generation, but if I can get it to always create the same thing every time with a given seed, it will cut down massively on the amount of data needed for save games, not to mention the amount of data which needs to be transferred from server to clients, as it would be a lot easier for the server to simply transfer a single seed string VS a bunch of compiled terrain data.

I still need to decide if lower-level terrain features, such as natural resource placements/rocks/trees/etc will also be determined by the seed, or if those would vary by game. I can't really let the client generate those based on the seed, since they will always be changing. For instance, trees can spread or be cut down, resources can be consumed, etc.

I have thought of other technical considerations as well. For example, if MC2 v1.0.0 ships with a Red Planet that has 5 available biomes, and then the v1.1.0 update comes along and adds 4 new biomes, the game seed may end up assigning incorrect biomes to different places. For example, if chunk x:y is designated as a winter tundra biome, but the new update changes the number of biomes, the generator may get confused and change chunk x:y into a canyon or something.

One solution would be to keep a record in the game file of all assigned biome locations, although the downside is the added data being stored in the game file. Another solution is to keep a list of available biomes in the game file that is stored when the game is created, and if new biomes are added, they will not be available on existing maps.

Anyway, these are the technical parts of MC2 I am working on before I even get into adding an interface, buildings, or rovers!
2y ago
Hello guys!

My Colony 2 (MC2) is currently under development which will utilize the brand new 3D engine.
In other word:
MY COLONY INTO 3D!
notes: It is a different game, not a direct successor of the current My Colony.


About the new 3D engine and Voxel Models
The first practical 3D engine utilisation was first tested in another game by @bastecklein, My Empire.
You'll found the models and textures in the new 3D engine looks quite blocky which the blockyness (...?) can be compared to Minecraft. The style is called Voxel.
One of the reasons for Bastecklein adopting voxel models is that it is easier for players to build their own model brick by brick, instead of entering hundreds of parameters to produce a single model.

This is a footage of My Empire. Looks promising, right?


MC2 and Voxel Models
One of the innovative change of MC2 over MC1 is the game supports more possibilities of modding, allowing players to customize their game from resources to buildings, from their attributes to their in-game appearance.
The render for colonists, rovers and buildings will also be voxel models - You can even use your own!

A demonstration of how the game could look like. Not an in-game render.


How to make your own voxel model
Bastecklein has also prepared an app dedicated for creating voxel models for new 3D games, including MC2, and their modding features:Voxel Paint.
Easy to use, it is accessible to anybody at different platforms, from your mobile to PC and laptops, either the web version or you can download the app if you wish to edit them offline.
Currently it is just a simple app, there are lots of rooms for improvement. If you think of something that can make Voxel Paint better, don't forget to drop your idea in the official Voxel Paint forum!


Hopefully you'll find this post helpful!
bastecklein said:I have a feeling that eventually, somebody will have a MC2 colony with a million colonists, no matter how "wild west" or "small habitat" I design the game. It might make sense to account for crime. It would be helpful at least in the event that I eventually re-purpose the MC2 engine to make a similar type of game in a different historical setting.

Eventually after MC2 is released, I did have thoughts of taking the MC2 engine and making a game about exploring and colonizing the new world, like a 1500's - 1700's time period. Instead of Landers you would show up on ships, and you would have to deal with the natives. Of course you could go diplomatic style and be nice, or go conquistador style. But anyway, I am getting off on a tangent, that is a discussion for another day!


If crime is added to MC2, it should probably be based on the number of colonists in a colony. For instance, you mentioned some colony will probably reach 1M members, so what if that was the minimum amount needed for crime to take place. This way, new players don't have to deal with crime until they can handle it, plus it mimics real life since small tight knit communities have almost no crime compared to large cities.
2y ago
I haven't tested trying to host two different servers on the same machine, but my guess is that it would cause issues. Granted, this is only really a problem if you want multiple players on the same planet. If you are just running your own game and don't care about other people joining, then it really makes little difference. If you are just playing your own colony single player then it probably wouldn't matter if you ran 10 colonies on the same PC.

Every game you start in MC2 is technically a server, whether it is dedicated or not. Whether or not other players join the game is really immaterial. You can just start your own game set to private and build a colony like in MC1, and it will be just like a normal game. There is no requirement to have multiple players, in which case the game would be just like MC1.

In this manner, a "server" for MC2 is not at all like the server for MC1, they are similar in name only. The MC1 server handles colony information and trades for all games. A server in MC2 houses all game logic and processing and supports multiple players on the same map. MC2 may also have a separate global server that handles colony information and trades, like the current MC1 server, depending on if I go that route. I'll have to see how the game plays and feels first to see if it's even necessary. I am hoping it's not...

As for the different protocols on different platforms, I understand that it is not ideal, but unfortunately that was not some sort of design decision on my part, but a matter of necessity. Each platform only supports what it supports, and that is pretty much out of my hands. All I can really do is enable all supported protocols on each platform and give them a way to talk to each other. Some multiplayer combinations will not be possible, like an Ape Web Apps player joining a Windows 10 (UWP) server. However, a Ape Web Apps player AND a Windows 10 UWP player could both join a Desktop/Steam server. If a global MC2 trades server is added at some point, any client would be able to join it regardless of protocol, just like in MC1, because that is an entirely different system.

Hope that answers something!
2y ago
I have been thinking of that very issue @GeneralWadaling due to the day/night cycle in the game.

In MC1, the lighting effects are a simple filtered color overlay drawn over the game screen, so they do not impact performance too terribly much.

For MC2, the performance hit would be far greater. You can see it yourself in the time it takes to render a scene in MagicaVoxel, which is actually a compiled application (unlike JS) and is only performing a single render (MC2 needs to perform the render, ideally, 60 times every second).

Generally lighting in a 3d game uses pre-baked light maps, where all lighting information is compiled and saved before hand. In MC2 this can't really happen since the player is literally building the game world in real time.

For performance reasons, an actual 3d scene can have at most 50-60 point lights on a fairly high end desktop computer. That might sound like enough, but for a large city with a lot of lit up buildings, it's not enough at all. And for mobile that number could be as small as 5 or 6. I ran into this problem when I started adding dynamic lighting to Death 3d. I was putting lights everywhere and the game was starting to look absolutely beautiful until the engine ground to a halt, and on mobile it would only display a black screen.

There are options to fake lighting though, which I am considering. First of all, I am considering adding an option in Voxel Paint to make a voxel "illuminated." Basically, the voxel would not emit any light outwards, but it would be unaffected by the world light level, making it appear to glow in the dark. This option will be added in Voxel Paint v1.6.0 (I am releasing 1.5 today), whether or not it is implemented in MC2. Even that will add some overhead to the engine though, as the illuminated voxels would need to be broken out into a separate object, and then the two models would need to be grouped together as one, or multiple if different brightness intensities were desired.

You can also use a static sprite to fake lighting on the ground, which is a method used in a lot of games that require dynamic lighting. Basically you take a .png image which is a circle that has a gradient of white (or whatever the light color) in the center, and fades to transparent around the edges. You then just lay this sprite on the ground where you want a light to shine and do some color blending to make it look like the area under the light is illuminated.

I could also add a "Render" option to MC2, where just for a single frame it can compile your current scene with all sorts of lights and effects turned on and save a static picture for you. Could be a fun little option. In conclusion though, I have absolutely been thinking of this very issue, it's just a bit more complicated than it seems it should be. At the end of the day though, it will need to be "hacked" in some way, because just having each building or unit emit it's own light will simply not be doable :-/
2y ago
From the very beginning I said that a core feature of My Colony 2 was going to be modding, and today I am ready to show off the start of the MC2 modding engine, which will eventually be fairly powerful. First though, you are going to need the latest MC2 build for this, so if you are on the Launcher, delete/reinstall it. If you are on your browser, clear all caches and service workers and reload. Then you can download this, the very first MC2 mod:


That's right, it's the My Empire mod for MC2 😄, quickly thrown together using assets from My Empire, of course. It's just a small mod to start letting people see what is possible with MC2 modding.

To activate the mod, open My Colony 2 and select Activate Mod from the title screen options menu. The game will transform right before your very eyes, with a new custom title screen, theme, and everything! Fire up a game, and you will notice it looks a bit different:


The game has been entirely transformed, all units, structures, terrains, worlds, and even some UI icons have been replaced. It's an entirely different game.

And now for the cool part - other players can join your modded game, even if they don't have the mod package installed on their system!

Anyway, this is just the beginning, but I am pretty excited about the modding capabilities in My Colony 2. Eventually, starting a mod will be as easy as double-clicking on a *.c2m file on your desktop, so creators will be able to basically distribute their own total game in a single file that My Colony 2 players will just have to download and double-click on to start.

During development, the modding capabilities are open to everyone, but Premium will be required for the final release. Until then though, check out the My Empire mod and let me know what you think!

#mycolony2
1y ago
Sobeirannovaocc said:https://dev.coloniae.space coming sooooon


We will need to discuss automated stat reporting endpoints, as I want to add the feature into the game for v0.21.0, but it can't work the same was as it did in MC1 and needs to be made a little more generic.

Given the modding capabilities of MC2, it is conceivable that some future mod creator would want their game stats reported to their own server somewhere instead of to coloniae. Also with the potential for so many games to have differing data sets, we will need to make sure to compare "apples to apples" when putting together a database of colony statistics.

I am going to add a new field to the Metadata section of the Game Editor for stat collection endpoint URLs. Multiple URL's will be permitted, separated by commas, and the game will report information by the minute. Reporting will only be done by the Server instance, not by client players connected to the server.

The data will be sent using standard HTTP post, maybe with a custom header to signify that it is coming from the MC2 client. I don't know if maybe it should also have some sort of rudimentary authentication system, like maybe the MC2 client will need to first get an access key of some sort from the reporting end point that can be included with all posts. Clearly with MC2 since anyone can just look at the endpoint URLs in the game editor, it's not going to be totally secure, but we are just collecting raw stats without any secure info. I just don't want people to be able to abuse it and goose their stats somehow, although it could also be made sufficiently complicated to where it's not easy to send bad data anyway. I mean technically someone could send their own MC1 data to Coloniae right now if they wanted to dig into the MC1 source code and look at how it works.

Really it could just be on the endpoint maintainer to see where the request is coming from, and to look at the data and see if it seems legit. All real MC2 requests will either be coming from apewebapps.com or the Android/iOS client, so anything else could be considered a bad request.

Anyway, the posts made to the endpoint, besides for data related to the game world, should also include the Game Identifier uuid string from the Metadata game object so that info from different mods can be segregated, as well as client version, a checksum of all of the gamedata objects so that you can easily tell what data is coming from the same version/client, etc. Perhaps when a world is first loaded, it can also post that same checksum along with a list of all game data items installed, so there can be a reference there too.

Anyway, I want to start testing some basic stat collection with v0.21.0. I am going to set up my own stat collection endpoint for testing, and if you want to make one for Coloniae @Sobeirannovaocc then let me know and I can get an endpoint URL added to the official Metadata game object. You can just create a dummy script there for the time being and develop it later if you want.

Also sobe at some point soon here I am just going to purchase a cloud server instance for Coloniae and give you access to it. My internet connection (and electric utility) has not proven to be good enough to host a production website, lol.
9mo ago
I am just putting the finishing touches on My Colony 2, and the update should be rolling out to all devices over the coming weeks (yes weeks, more on that in a bit). There are a few goodies in this release and a slew of bug fixes, so let's take a look at what's included!


I got some heat in the Play Store reviews section for MC2 not having many decorative items as compared to MC1, so to start addressing this, v0.25.0 adds a few decorative items that MC1 players will be used to: the hedge wall (made of Plastic in MC2), as well as 6 different color options of decorative flower beds (also made of plastic). I should not have underestimated the degree to which players like to decorate and customize their colonies, so from here on, I will attempt to include at least one new decorative item in each update. If any of you voxel modelers out there have ideas and submissions for items that are purely of a decorative nature, feel free to submit them for inclusion as well!

The Advanced Networking Infrastructure tech is now available to unlock, and with it comes the new Uplink Station (model by @GeneralWadaling ), which provides significantly more bandwidth than the current small server building. The Uplink Station also requires a Level 2 or higher settlement, and is built with the Construction Drone.

Next up, @spamdude recently submitted a model for an upgraded Vehicle Factory. The model was great, but I wasn't sure there was a need for it in the game, since it really does not need a bunch of new rovers. But I wanted to add it anyway, so I made some adjustments to the gameplay. The new Vehicle Factory is now an upgrade to the existing Construction Yard. The Construction Yard now maxes out at building the Advanced Builder Bot, and to get any of the newer bots, you will need to upgrade to (or outright build) a new Vehicle Factory. Keep this in mind, if you get the MC2 update and suddenly lost a lot of unit construction options, it's because you need to upgrade to a Vehicle Factory. It adds a bit of progression to the game. The structure also produces a ton of Spare Parts.

I mentioned this update could take weeks to arrive. If you play My Colony 2 on the Web (or have the Progressive Web App installed), the Launcher, or the Windows Store download, the update should be available to you today, if you haven't been updated already. iPhone users can expect the update next week sometime. For Android, who knows when it will arrive.

I have noticed a serious backlog for app updates getting approved to the Play Store recently. I still have apps that have been sitting in the "waiting for review" queue since August 15 (12 days as of this writing), which is extremely odd, since the normal review time has been a few days or less. Not sure what is going on over at Google lately, but if you are using the Android app, you may not get the latest MC2 update until early-mid September (unless their process greatly speeds up).

Of course, super slow app store updates give me yet another opportunity to plug the Progressive Web App (PWA) version of My Colony 2. Over the last few years, and even more-so beginning this year, PWA's have been my primary development focus, and I consider the web releases of all of my games to be the primary/best editions, and they are the only editions I personally use on my own devices. The native mobile apps are actually just wrappers for the PWA, but they are in a way gimped versions (particularly on Android) due to limitations imposed on the embedded WebView component VS the features afforded to the browser. The PWA, when properly installed to the home screen, gives you the full app-like experience, is always up to date, and is better supported than and other release.

To install the PWA onto your Android device, simply navigate to the MC2 Web App URL using Google Chrome, and you should automatically get an "Install to Homescreen" banner: https://www.apewebapps.com/my-colony-2/

Anyway, now that my semi-annual PWA sales pitch is out of the way, that is it for this update to My Colony 2. Go check it out, let me know what needs fixed, let me know what you would like to see added, and stay tuned for more!

#mycolony2
5mo ago
Hello everyone. I bet yall were expecting me to post a good long book of terraforming ideas. The ironic part is that I don’t have to. Most or all of the ideas that I’ve posted are well within the realm of possibility for mc2.

This means that My planet hub thread can still be used for ideas regarding mc2, even though they will need to be adapted to fit 3D style gameplay.

One of the bigger ideas that I’ve always liked was the idea of platform building for space stations and floating gas giant cities. This is totally doable in mc2 and I would like nothing more than to see it implemented into mc2 eventually.

Another thing that I’ve always pushed for is terraformation dynamics, or basically the planets’ ability to change with the atmosphere level instead of just using it as a progress bar to becoming earthlike. This means it could become barren if atmosphere gets too low and become hellish if atmosphere gets too high. A balance would need to be reached to keep the planet habitable. The addition of a temperature element to terraforming would add another “dimension” to the terraforming side of the game.

I’ve put more detailed versions of these ideas on My planet hub thread, so be sure to check it out, I’ll add the link shortly.

Edit: planet hub link:
https://www.ape-apps.com/viewpage.php?p=29302
2y ago
This week I have been playing some My Colony 1 and Antiquitas online, and it started giving me second thoughts about the way multiplayer in MC2 should work.

My original though was to have large infinite worlds that multiple players could build on, with decentralized servers. After playing the two original games some more though, I am no longer sure that is the best option.

Wondering what everybody thinks on this? Maybe MC2 should in fact be more similar to MC1 (and Antiquitas) with a centralized server for resource trading and multiplayer. I suppose there really is no reason to reinvent the wheel, and the more I think of it, being able to play your online game should not have to depend on the host actually being online.

Would two or more players building on the same map actually add anything to the game? It probably isn't even necessary.

What do you all think about MC2 multiplayer? Totally redo it? Or improve on what works with MC1?
2y ago
I know I'm a bit late to the party ... :P

We talk a lot about the modding aspect that might disappear, of course it's to consider but I think only a small portion of players would have used them. To me the most important issue is game performance. Decentralizing servers had the advantage of taking away much stress out of the client and gave the ability to redistribute some of the computations to the servers, making the client overall more fluid. If we revert to the centralized server, how is performance going to be impacted ?

I also agree with Vince here :
Invincible said:just being able to see everything you made as whole and not through the regional view gives a huge sense of accomplishment and satisfaction

Regions is a workaround to bad performance for huge maps and a workaround shouldn't be a start-off solution for a new game (MC2).

Going decentralized does not necessarily screw trading and cooperation up, from the start I was thinking that server admins who trust each other could mod the game in order to setup unofficial trade routes between servers. Same for the chat (it could even be implemented in the official game, then you input the IP of the server you allow trade with), the two servers then acting as one, and we can setup a large network like that. I'm sure discord servers like NOZ and T1P would be able to do that and create a network of say 5 servers allowing 50 simultaneous players which is a good start considering the MC1 playerbase.

Going centralized does not necessarily mean needing regions otherwise bad performance, as stated by bast here, huge computations are not necessarily needed:
bastecklein said:You know DKMK100 I do like the idea of going back to the "colonizing" roots and feel, and not so much the city management feel as in MC1. I think MC2 will have a slower pace, in some respects, as far as progression goes. And maybe a more realistic feel to it, like what first settling a new world will really be like.

Get rid of the 100+ armies of rovers, 100+ same-type buildings, dozen of stargates "importing" tens of thousands of people a minute and you're left with a game just as enjoyable while being less resource-consuming (right?)


My conclusion is that (feel free to contest that) unless it's possible to guarantee performance changes to the point where the whole game from start to end can be played on an "infinite" map (and not regions) we stick to decentralized, otherwise let's centralize. To me that's what it comes down to, and building on the same map could be done just like multiplayer was (supposed) to happen either way (centr. or decentr.)


Something I must agree to, regardless of the game turning centralized or decentralized:

bastecklein said:trading resources over the GBT instantly really isn't realistic [...]. actually using Star Ships to build trade networks between colonies.[...] Maybe in MC2, Star Ships are the only real way to export/import/trade resources off of your planet. It makes logical sense. You build Star Ships and you can either then trade with Earth for rip-off prices bases on your starship cargo capacity, or you can set up networks with other players.


I like this idea. I don't know if that is what you are referring to but I remember this topic (2.5 years ago wow). Back then I wasn't expecting these changes to go live but they can be relevant now (summed up) :

Sobeirannovaocc said:the [space] station should actually be the starting point of a player. [...] after that you send space ships for every colony you start [...] travel times could be introduced [given the distance on the galactic map] [...] some techs to accelerate the travel time like researching better engines for the ships [...] When you buy on the GBT it can take time to get the resource, depending on the location of the other person's station. When you post a trade on the GBT the ressources are sent to your station. All the resources you buy on the GBT have to transit by your station. This will make players rely more on the commonwealth and the mother colony (bc closer) and rare resources that would only be produced by the zolarg for example will take time to come. [It will also add the need for greater anticipation. Maybe the space staion can be the company's HQ].


I also like the embassies where the other player has a dedicated space to build what they want.
MC2 should have some sort of physics built in to make it more fun.

Here are some ideas for MC2 physics:
Gravity: every planet has gravity, and depending on the strength of gravity certain things become easier/harder. For example, walking uphill is a breeze in low gravity, but a pain with high gravity. Also gravity allows rovers and other objects to fall if they go off a cliff, which would add an extra challenge for players .

Erosion: if a planet has wind or water, erosion will occur. For MC2 this means that blocks around moving water or in high winds will dissappear, simulating erosion.

Material strength: in real life different materials have different strengths and weakness, and this should be reflected in game. For example, a rover made out of steel should last longer than a wooden rover, and a titanium rover should last longer than a steel one.

This is all I have for now, but I'm sure there is room for more ideas. I will post part 2 if I get enough new ideas .
2y ago
I have a feeling that eventually, somebody will have a MC2 colony with a million colonists, no matter how "wild west" or "small habitat" I design the game. It might make sense to account for crime. It would be helpful at least in the event that I eventually re-purpose the MC2 engine to make a similar type of game in a different historical setting.

Eventually after MC2 is released, I did have thoughts of taking the MC2 engine and making a game about exploring and colonizing the new world, like a 1500's - 1700's time period. Instead of Landers you would show up on ships, and you would have to deal with the natives. Of course you could go diplomatic style and be nice, or go conquistador style. But anyway, I am getting off on a tangent, that is a discussion for another day!
2y ago
Today I am putting the final touches on v1.6.0 of Voxel Paint, which should be hitting all available platforms in the coming days. This update adds support for new "emissive" voxels, which will be needed for setting up structure lighting on the upcoming My Colony 2.

To use the new feature, you can now right-click on an individual voxel to access a new popup menu. When you turn on emissive for a voxel, you get new options for Glow Radius and Glow Intensity. These properties will determine how My Colony 2 (and other products) will ultimately render the lighting. There is currently no way to set this up on a touch screen device though.


In the View dropdown menu, there is a new Scene Light Color setting which you can use to adjust the lighting in your scene, which is handy for testing out your emissive voxels. The scene lighting data is not saved to the actual .vpp model, but it is used when taking a render of your model. For example, I added a couple of lights to one of @GeneralWadaling 's MC2 models and turned down the lighting in order to test the feature:

Keep in mind that when creating models for My Colony 2, the voxel Glow Radius property is specified in voxels, whereas 16 voxels = 1 tile in the MC2 engine. Also, when you are setting scene brightness in the game, the light intensity level is roughly based on the color itself. For instance, a scene color of white (#ffffff) is like a room with the light turned on, where as a scene color of black (#000000) is basically the same as a white light with the intensity turned down to zero (hope that makes sense).

Some time ago, I believe @Sobeirannovaocc or perhaps someone else requested the ability to be able to pass raw .vpp data into Voxel Paint as an external parameter, and have the app render the file (as opposed to passing in a stored .vpp file url). This functionality is now present in Voxel Paint v1.6.0, and is used like this:

Parameter = emd={(json data here)}
You then base64 encode the above and pass it in as the parameter.

For example, suppose your VPP data looked like this:
{"author":"bastecklein","size":6,"id":"bd8e637f-b5b4-6b59-b663-5363fdd820a0","voxels":[{"x":0,"y":0,"z":0,"c":"#f44336"},{"x":-1,"y":0,"z":0,"c":"#f44336"},{"x":0,"y":-1,"z":0,"c":"#2196F3"},{"x":-1,"y":-1,"z":0,"c":"#2196F3"}],"precompile":{}}
You would convert that object into a string and put emd= in front of it:
emd={"author":"bastecklein","size":6,"id":"bd8e637f-b5b4-6b59-b663-5363fdd820a0","voxels":[{"x":0,"y":0,"z":0,"c":"#f44336"},{"x":-1,"y":0,"z":0,"c":"#f44336"},{"x":0,"y":-1,"z":0,"c":"#2196F3"},{"x":-1,"y":-1,"z":0,"c":"#2196F3"}],"precompile":{}}
You then base64 encode that entire string:
ZW1kPXsiYXV0aG9yIjoiYmFzdGVja2xlaW4iLCJzaXplIjo2LCJpZCI6ImJkOGU2MzdmLWI1YjQtNmI1OS1iNjYzLTUzNjNmZGQ4MjBhMCIsInZveGVscyI6W3sieCI6MCwieSI6MCwieiI6MCwiYyI6IiNmNDQzMzYifSx7IngiOi0xLCJ5IjowLCJ6IjowLCJjIjoiI2Y0NDMzNiJ9LHsieCI6MCwieSI6LTEsInoiOjAsImMiOiIjMjE5NkYzIn0seyJ4IjotMSwieSI6LTEsInoiOjAsImMiOiIjMjE5NkYzIn1dLCJwcmVjb21waWxlIjp7fX0=
And you can finally build your iFrame URL like this:
https://www.apewebapps.com/voxel-paint/launch/-AABLKTB-ZW1kPXsiYXV0aG9yIjoiYmFzdGVja2xlaW4iLCJzaXplIjo2LCJpZCI6ImJkOGU2MzdmLWI1YjQtNmI1OS1iNjYzLTUzNjNmZGQ4MjBhMCIsInZveGVscyI6W3sieCI6MCwieSI6MCwieiI6MCwiYyI6IiNmNDQzMzYifSx7IngiOi0xLCJ5IjowLCJ6IjowLCJjIjoiI2Y0NDMzNiJ9LHsieCI6MCwieSI6LTEsInoiOjAsImMiOiIjMjE5NkYzIn0seyJ4IjotMSwieSI6LTEsInoiOjAsImMiOiIjMjE5NkYzIn1dLCJwcmVjb21waWxlIjp7fX0=/embedded.html
Click here to test it out, you should get something like this:
The -AABLKTB- part of the URL above is optional, but it does remove the app toolbar, which you will want to do if you are hosting this in an iFrame and are trying to render a sample of the vpp data.

I do not know if browsers will place a limit on how large of a parameter one can pass in as an iFrame URL, but the few vpp files I have tried haven't had an issue, so your mileage may vary.

Finally, I have removed the camera rotation limit that stopped you from looking at the bottom side of a model, so you can now rotate the camera completely to the undersize of the scene.

The next step is to get the lights to actually show up in-game, so that is what I will be working on next. I need to make updates to the VPP Loader script to handle the new lights and emissive voxels, after which I will first implement the changes into the Voxel Playground application for testing.

In terms of My Colony 2, I think that buildings should be limited to between 0 and 1 lights. Above I posted a picture of one of Wadaling's structures with 8 active lights on it, and it does look cool, but that scenario would actually be a complete disaster for this type of game. Since My Colony 2 maps are all designed by the player, it is not possible to pre-compute light maps like would be done in a traditional 3d game. For this reason, I think that MC2 lighting should be limited to specific lighting structures, like the street lamp in MC1.

That said, a structure that has an emissive tile with a Glow Radius of 0 will not actually create a light in the MC2 engine. It will instead make that individual voxel unaffected by environment lighting. meaning the scene could be night time, but that voxel would still shine bright as day:


That said, I think it should still be used sparingly, as juts letting objects react to the general environment will probably generally work out alright.

So that is all for this Voxel Paint update. My next steps are to update the .vpp loader and to get the lighting engine working in the Voxel Playground app. I will post updates on the forum when those tasks are done. Beyond that, we will be ready to have a fully functional night time mode in My Colony 2. Exciting!
1y ago
I have mentioned on here before how I have recently purchased an Oculus (aka Meta) Quest 2 VR headset, and with it created my first (free) WebXR game Barrel River 2. Now, as work begins on the v0.20.0 update to My Colony 2, I have begun adding initial WebXR immersive virtual reality support to Scroll3D, my custom game engine that powers not only My Colony 2, but other titles such as My Empire and the 3D modeling tool Voxel Paint. Support is still in it's infancy and will not be complete by the time v0.20.0 ships, but I have included a video below that demonstrated walking through a MC2 settlement in VR mode.


Obviously on the headset it is full 3D and you can look all around yourself. So far, it's not perfect. I had to turn the graphics quality in the engine settings all the way low to get this fairly large colony to run properly (on a small settlement, I was able to keep all settings on high). What is demonstrated above is the game being played using the "man on the street" view mode that was introduced in v0.19.0, but the player on an Oculus, Google Cardboard, Windows Mixed Reality, or other VR headset will be able to play the regular city-building mode of My Colony 2 in VR as well. It's actually pretty neat to be hovering "up in the sky" and looking down upon your settlement, using the VR controls to fly around the world and place structures!

Of course, VR is a cool feature, but not entirely necessary in a game like My Colony 2, but having the capabilities baked in to the Scroll3D engine will open opportunities to future projects. For instance, I am thinking about a Gone Rogue 2, where you can play the normal "classic" top down way, or you can actually explore the dungeons in first person immersive VR mode, fighting enemies up close and personal. A Scroll3D based remake of Epic Adventure could also basically become like a VR version of Minecraft. There are a lot of different possibilities, but I mostly want to make sure that Scroll3D titles can always be played on any device, whether it's PC, mobile, TV, or now VR.

VR support is basically a sideline addition to the forthcoming v0.20.0 update, which should be hitting all platforms next week. I am primarily focused on cleaning up and fixing some of the issues related to the massive changes to the modding system from the last update, along with a few UI improvements and the obligatory addition of new structures, etc. But little by little over the coming months, VR support will be refined and improved to the point where MC2 is 100% fully playable from an immersive VR mode on a supported headset, or even a cheapo Amazon headset + bluetooth gamepad in Google Cardboard mode.

So anyway, just wanted to share the VR future that will be fully hitting MC2 later this year, along with the possibilities it brings to other Scroll3D related projects. I will leave you with a few other screenshots I captured from within the Oculus headset of a MC2 water world. Enjoy!








#mycolony2 #barrelriver2 #scroll3d #vr #webxr
9mo ago
My Colony 2 v0.21.0 is now available on the Web, Windows and the Ape Apps Launcher and should be hitting Android and iOS over the coming days. This update fixes a couple of bugs introduced in the last release and makes some pretty big changes that could alter the course of how you play MC2 over the coming months, so let's jump in and take a look!

The first big change in this update is a new feature called Universe, which will allow you to "join" your game to other players' games to create a sort of peer-to-peer network of global My Colony 2 servers.


To join or create a Universe, you simply open the Statistics window on your colony, and enter a public and (optionally) a private key. Every online game using the same Public/Private key combination (and the same game version/mods) will be automatically joined into the same Universe network.

At this time, there is no default or "official" MC2 Universe, and the feature is 100% opt-in. If the community ends up creating/pushing/rallying behind a common Universe, that's great. It can also be used to set up a private Universe between you and your friends/family.

So what does a Universe get you? As of this release, it simply unlocks a global Chat similar to what is available on My Colony 1, but this is going to expand pretty quick once this update is released and I can see if the underlying connection is actually working right. Universe is going to enable interplanetary trade/governments/war, etc., so eventually having a large Universe community with a lot of players will be beneficial. So stay tuned and keep an eye on this feature, because it's going to get exciting over the next few updates!

Beyond the Universe feature, a big change is being made to game saving. Right now (prior to this update), all MC2 game data was saved to a single large library file that synced to the Ape Apps Cloud (for signed-in players). This was causing issues with both slow loading times, and data corruption when multiple instances of MC2 were open at once. This is being completely changed in this release. Starting now, game data is no longer saved to the overall player library file, and Cloud Sync is disabled by default for all colonies. It can be turned back on (if wanted) in the World section of the Statistics window.

The next big feature in v0.21.0 is the new Stat Reporting functionality. If you've used Coloniae with My Colony 1, then you know what the general idea is here. With My Colony 2 though, Stat Reporting is a bit more decentralized, and open to any developer who wishes to take advantage of it.

Stat Reporting can be accessed/enabled in the World tab of the Statistics window.


In order to use it, you simply input one or more (separated by commas) stat reporting endpoint URL's, and the game will take care of the rest. If you are a developer and would like to build your own Stat Reporting endpoint, you can see this thread which should contain all of the information you need to get started.

The final big change in v0.21.0 is engine support for separating .vpp model data out of the individual game data objects in order to (hopefully) allow for faster initial game loading times. Right now My Colony 2 is starting to take an awful long time to load on mobile devices, and if this new functionality works as I hope it should, then My Colony v0.22.0 (the next release) should see a drastic improvement in mobile load times. The new model loading scheme is currently being tested out on the Tree Farm, Galactic Stock Exchange, and the Uranium Enrichment Facility, so please keep an eye on those three structures, and let me know if you notice any issues/problems with how they are loaded and rendered. If everything is fine, then I will be moving all larger game data objects over to the new loading scheme in the next release.

So other than a few bug fixes that are not worth mentioning in the release notes, that is about it for v0.21.0. Please test out the new features and let me know what works, doesn't work, what needs improved, etc.! There's going to be a lot of exciting new features coming over the next few updates, so stay tuned for more, thanks for playing, and I hope you enjoy the update!

#mycolony2
9mo ago
Beginning with My Colony 2 v0.21.0, the game has a built-in stat reporting service that developers are free to take advantage of if they wish. This thread will stay updated as features are added and changes made to how stat reporting works.

MC2 players can easily opt in to a third party stat reporting service by opening the Statistics window of their game. The World section will provide an input box where players can enter a URL (or comma separated series of URL) endpoint for game stat collection.


Once set, the endpoints selected by the user will periodically receive JSON encoded game statistics via HTTP post. It is up to the endpoint maintainer to ensure that their URL can receive cross origin HTTP requests. Endpoints can be built with whatever technology the maintainer wishes.

To help get you started with developing a stat reporting endpoint, here are some code samples in both PHP and Python:

PHP: /viewpage.php?p=43258#p43308
Python: /viewpage.php?p=43258#p43308

The base JSON data that will be sent to the endpoint via HTTP post looks like this:

{
event: "eventCode",
sid: "server-uuid",
ses: "session-uuid",
cli: "client-uuid",
gid: "game-uuid",
aun: "ape apps username",
data: {}
}

Every post will be formatted as above and contain those seven fields, event, sid, ses, cli, gid, aun and data, data generally being an object containing further data. The data object will differ depending on the event code. The rest of the fields are as follows:

fieldinfo
eventcurrent possible event codes: serverConnected, serverDisconnected, statReport
sidserver id: a unique id for the current world (aka, save game). The server ID is also visible to the player as seen in the screenshot above, meaning an endpoint operator could theoretically use it as an authentication key if they wanted to.
sessession id: every time the user opens MC2, they are assigned a new session id. can be used to track how many unique times the player has opened the game
cliclient id: assigned the first time a player opens MC2 on a device and is retained. can be used to help identify multiple worlds from the same player
gidgame identifier: For stock My Colony 2, the game identifier will always be a999fe76-ff1c-5935-e365-755089ba8982 If a total conversion mod author knows what he/she is doing, their mod should have a different identifier from the base game (this can be set in the Metadata section of the game editor). This can be used to organize data based on mod (or to easily support future games based on the MC2 engine), but it does require that the mod author properly changed the game identifier on their mod.
aunape apps username: if the player is signed in and authenticated with their Ape Apps Account, this field will be set with their username.

Every post sent to the logging endpoint will contain the above fields, so you should be able to count on them when designing endpoint logic.

The data field will be different (or even blank) depending on the event code associated with the request. Below is a reference for the data currently sent with each endpoint. You may bookmark this page for reference, as it will be updated when new data points are added.

Event: serverConnected

fieldinfo
gameDataThis is a hashed checksum of all of the game data objects loaded for the current world. This will be the exact same hash for all players playing the same version of stock My Colony 2, and will be different when mods/addons are activated. This is useful if you are developing rankings/leaderboards and want to verify that all users are playing on an even field.
worldTypeIdThis is the uuid for the game data object associated with the current world (eg Red Planet, Water World, etc).
worldTypeNameThe readable name for the current world type above, as set in the game data object (not translated).
worldNameThe name of this world (the save game, not the planet type). ex Strange New World, or whatever the player chose.
gameVersionThe host version of My Colony 2 that this session is on (ex v0.21.0)
createdTimestamp of server first creation
hostOSWhat operating system this session is running under (ex windows, android, ios, etc)
gameSessionDiffering from the top level ses session id, the gameSession id is unique every time the game file is loaded. Can be used to link stats from connection to disconnection.
universethe universe code this world is connected to


Event: serverDisconnected

fieldinfo
gameSessionDiffering from the top level ses session id, the gameSession id is unique every time the game file is loaded. Can be used to link stats from connection to disconnection.


Event: statReport

fieldinfo
bannedPlayersTotal number of players currently banned from this game.
exploredChunksHow many chunks have been generated (aka "explored") on this world.
playersObjects containing extended information for each player in the game (detailed in below table)
settledChunksNumber of chunks that contain player built structures
settlementsObjects containing extended information for each settlement in the game (detailed in below table)
totalGDPquick reference containing the sum of all settlement GDPs in world
totalMoneyquick reference containing the sum of all player money balances in world
totalPlayersquick reference containing the sum of all players in world
totalPlaytimetotal time in minutes that this server has had at least 1 player connected and playing
totalPopulationquick reference containing the sum of all settlement populations in world
utilitiesObjects containing total utility output and consumption in world


Object: statReport.players

fieldinfo
adminboolean, is this player an admin
civdata object id for the civilization this player is playing as
colorplayer color hex code
idserver assigned unique player id
joinedtimestamp for when player first joined server
levelplayer's level
modboolean, is this player a moderator
moneyplayers current balance of money
playTimehow many minutes this player has been connected and active
researchhow much research the player currently has
usernameif signed in to Ape Apps Account, this is their username. Otherwise, null


This post will continue to be updated and maintained as changes are features are added to the reporting function. Please use this thread for questions/comments/suggestions/requests, etc.
9mo ago
Thanks @itsLiseczeq

@Ansom I can add an underground layer no, no problem.

I am considering making a major change to the concept of a game file in MC2. Instead of the current region/city model, I am considering doing infinite (or at least way larger) sized procedurally generated planets, sort of like a world is generated in Minecraft. The map would be loaded in "chunks" like in Minecraft and so the engine would only actively process the chunks that are near currently have active players. Other areas of the map might process in the background on a less frequent interval.

In this way, it would be easy (well, easier) to have multiple players on the same map in real-time.

For performance, all game processing will be done in a separate worker script, the way it is currently handled in Epic Adventure, Colony Wars, and My Empire. Those games all separate out the client/server code, which makes implementation of real-time multiplayer a lot easier.

My thought is that players could create a local game file. Others could join their game if they choose to and start their own settlement somewhere on the planet. If somebody else has a settlement on another players local game file, the server player would have to be online for everyone to play. Each player would have their own resource pool, although that might be customizable on a per-game basis.

Players would also be able to download the server code and install it on their own box, running their own private server if they wanted to. In theory a single privately run server could host multiple planets as well, with trade networks between them, just depends on how powerful the server is. A private server hosted on a powerful PC or cloud hosting service should be able to handle quite a few players at once. The operator would be able to set custom parameters for the universe and assign other operators.

I have been thinking of ways to decentralize the multiplayer experience in MC2, so there is no single point of failure as there is in MC1. It would also lower my costs, and private server operators could take care of administration in their own servers. I think designing it this way from the start will allow for a pretty robust multiplayer experience.

Of course, you can always just play offline too, or in your own household via LAN. But I do like the idea of scrapping the region/city concept and replacing it with an entire planet concept, that just keeps loading new chunks as you scroll through the world. To me it is more realistic. And a single planet can now have multiple biomes, different resources in different parts of the world that you will have to build trade/transit networks to utilize.

Anyway, I have a lot of plans for MC2. It's not just going to be MC1 with 3d graphics. There are a lot of things I have wanted to implement that would have been too hard to just nail on to the existing game engine.
2y ago
@Sobeirannovaocc the game file information would be saved on the server or whichever device is acting as the server. So if somebody set up a dedicated MC2 server on their PC or on a cloud solution, the game data would only be stored on that particular device, which means that if the server operator does a backup of the data, he would be in effect doing a backup for everybody on the server as well.

You are right that a good server should also provide good performance to all clients, as all the clients really have to take care of is the rendering. And since the server does not have to process any rendering, it should be able to handle quite a bit, since it's essentially just processing a bunch of building and population statistics in the background, and keeping track of what is getting built.

Of course pathfinding would be the slowest operation that it has to do, although I am considering taking some of the emphasis off of having a ton of rovers.

Actually, I can see that there is a lot to discuss concerning MC2, so I am just going to add a new MC2 section to the forum.
2y ago
This goes along with my other post regarding graphics creation, but I am thinking of making a change to the way MC2 loads content, which should allow for more distributed development, but also easier modding.

Right now in MC1, all of the game parameters are defined in a single json file. My thought for MC2 is to have a "buildings" folder in the project directory that is full of individual building definition files. When the client is loaded, it will scan that folder and load each building file individually, instead of reading everything from the single json script.

This is more complicated, but it allows for adding new buildings to the game at runtime for modding/customization. It also allows for the community to easily create and submit their own buildings for inclusion into the main game. And since the files can be loaded at runtime, new building candidates can easily be tested out by the entire community before getting the go/no go for inclusion into the main game.

My thought would be to release an editor desktop application that would allow you to create a building, define all of it's parameters, and package it together with a 3d model file and a small thumbnail image for the construction sidebar. That way anybody could download the editor and start making content for the game. They can even load it right into their game and test/debug it.

Just wondering what people think of this model/concept, or if anybody would actually utilize it. It is a bit more work for me up front, so if nobody would take advantage of it I would not waste my time. However, in the long run I think it could greatly expand the content of the game and expedite development.

Let me know your thoughts!
2y ago
Another concept I have been considering for MC2, and would like community feedback for, is the idea of scaling back the need for a bunch of rovers for tasks like harvesting and construction.

In a strategy or competitive game, it does make sense for building construction to take a certain amount of time, which can be improved by building better rovers, etc. Also in a Pay to Play game, it makes sense because people can spend money to speed up construction times. But I am wondering how much the rovers actually add to My Colony?

What if for MC2, as long as you have the necessary resources, you can just build a structure instantly? Is there really a point to waiting on construction/upgrade/build times, and does it add something to the game?

Likewise, does mining have to be done by bots? I was thinking of a concept where, instead of Ore and Gold just laying around on the surface, each ground tile would have a certain amount under ground of each resource. You would then build a mine at a location, and depending on what the mine is capable of and what resources are under ground at that location, it would generate resources accordingly. As your tech advanced, you would be capable of discovering what resources are in what area.

Anyway, these are just thoughts I had. I was thinking MC2 could have different terrain features using things like different ground elevations and different types of biomes on each planet, instead of just using clumps of ore scattered around as the terrain feature. And different areas of the planet could have different concentrations of resources under the ground. And depending on where you build a mine, you would generate different ores at different rates. You could also upgrade your mining sites as your tech improves.

I am just thinking of ways to change construction, resource mining, and generation. The pathfinder is one of the most memory expensive operations in the game, and it might actually be possible to largely eliminate it, while at the same time improving the overall mechanic of the gameplay.

It's also possible to still have construction take up time, without actually having a rover sitting next to it.

Or it's just as possible to keep things largely as they are in MC1.
2y ago
GeneralWadaling said:One question, if the building is a voxel model, do 1 tile in MC2 = 10×10 voxels?

I would like to have a reference of how large the canvas should be, so can have some properly scaled voxel building models. :p


Yes, if we went with the Voxel model, that was actually my exact thought. 10x10 in Voxel Paint would represent 1 in-game tile in MC2. Nice easy round number.

The canvas size in Voxel Paint would need to be set accordingly, to some multiple of 10, as the loader would center the model based on the 0,0 position in the grid, which is always in the middle of the Voxel Paint grid.
2y ago
We have discussed a bit about the game mechanics and graphics for MC2, but how about the user interface? Do you prefer a general copy of the current MC1 game layout, sidebar on the right, resources on top, etc, or something totally different (and better)? Something that works well on both the Desktop and on Mobile? I'd love to hear your ideas and suggestions on the MC2 interface!
2y ago
Right now, it's too early to start talking about translations for MC2, but it shouldn't be ignored. The issue with the original MC translations is that the names of the buildings, techs, etc couldn't be translated. That causes that people who barely or just doesn't know English doesn't know what that buildings does by simply just looking at its name and needing to read the description. The only thing MC2 needs for translations is that almost all text can be translated. Even though it will be a lot of work for translators, it will clearly increase the traffic for MC2 for non-english speaking people.
2y ago
@KamikaziYT MC2 is not going to have the building name issue that MC1 had for sure.

The design of MC2 is taking a more modular nature, so there is not going to central game definition and string files like in MC1, which will make it both better and also a bit more difficult for translating.

For example, in MC1, all translatable strings were contained in one file that could easily be sent to a translator for work.

In MC2, all buildings are represented by a single file, which contains all of it's data and assets, and will also include all translations. So language translations for a building will need to be added to and stored on it's individual file. This change is to allow modded and expanded content to also include different language sets.

As for building names, the reason they could not be translated in MC1 is because the original design of the game did not include a separate internal ID number for buildings, and so all buildings were identified to the engine by their name, which always had to be the same or else it would break existing game saves. It was a stupid design decision, but by the time I started adding translations, there were so many existing players out there that I could not make the change without breaking tons of peoples existing colonies, which was not a viable option. I could have also added a new field to all of the buildings in the game with a reference to a string object, but the game at that point had hundreds of buildings and going back and adding a new property to each was becoming very time consuming.
2y ago
Hello guys.

WARNING!
The following information are not canon information of the game lores. You're advised not to take the plot and information below seriously.

Chronologically MC2 takes place before the establishment of United Earth in My Colony universe, according to the background settings set by @bastecklein.
Things might be less complicated than in the era taking place in My Colony (classic).
Roughly thinking, I guess we can have story campaigns in MC2.
And because it might be before the Earth Unification War, there are still independent nations. This means... A space race might occur. There might be different nations or alliances having their own special technologies.



If you are asking for more detailed items, here they are.

Factions
  • <FutureTech Alliance>
    The alliance of of the Western advances, directed by United States and the European Union. Owning the majority of world's capital and state-of-the-art talents, the Alliance pioneered the space colonization era.
  • <Red Satellites Treaty Union>
    RSTU, better known as ‘Red Union’ , the Union was formed under the influence of old Eastern powers Russia and China in order to rival the FutureTech Alliance. Their unmatched mass-production capabilities and highly developed cyber technologies are their strong foundations of space race.
  • <Brotherhood of Polaris>
    The third-world nations had been kept being neglected by the rest of the world. Instead of waiting being saved from unfairness and despair, they decided to fight for themselves. The Brotherhood had the connection to a mythical, religious organization, which the organization assisted them by fostering unification and supplying them resources needed for confronting the powerful rivals of space race, to ultimately discover the promised land they desired. Their strong faith brings them courage and endurance to overcome any difficulties.
  • <Project SEED>
    While other alliances seeks for power and wealth in the space race, only few people still put the importance on continuation of species - Which, the space race further catalysing the irreversible catastrophe of ecosystems. What Project SEED seeks for is a place to save remaining species on Earth from, meaningless competitions that will only bring calamity to everything.

Stories
  • New City of Prosperity
    The race between FutureTech Alliance and RSTU. At the late stage both factions found themselves stepping into the ecosystem calamity they had created on Earth, eventually cutting all assistances to the colonies, and abandoning all of them in the loniness... Which the colonies must survive from.
  • The Exodus
    The story of the Brotherhood finding their promised lands. The beginning was smoother than expected, however internal conflicts of the Brotherhood were incubating in the shadows, the colony must made the best choice in this crisis.
  • The Ark of Life
    The attempt of Project SEED creating a new Eden for species on Earth. The terraforming gave them tough times, failures from other SEED colonies had aroused suspicion of colleagues, however all these would lead to the discovery to save Earth from the ecosystem calamity.
Welcome
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