Author Topic: The Development Road map  (Read 174 times)

cupid_the_conqueror

  • Administrator
  • Experienced Member
  • *****
  • Posts: 101
  • Likes: +1/-0
  • A filthy casual
    • View Profile
    • the truth of rawbots
The Development Road map
« on: March 28, 2019, 09:30:16 pm »
Hello again folks! As part of our policy to avoid pulling a Rozgo and leaving you all in the dark. I've decided to post a rough devlog of the changes and updates to the game we will be trying to push out over the coming months. Some of this stuff is pretty complex and won't be seen anytime soon, but there are some smaller items you should look forward to seeing soon!

So in the general order of how we plan to roll them out, here is the stuff you can look forward to!  This post will be changed overtime as we adjust our dev goals. Check this post every now and then  to keep up to date!


Rawbots 1.6 - Bug Free and Filled with content!
Spoiler: show

Our goals for 1.6 is to quash the final 2 bugs we have remaining in our dev branch, and then put out a stable release with the following content added :
- Colorizer VP : Takes RGB values to give you an FFFFFF color, can be used to make disco bots with the help of a oscillator!
- Comparortor VP : Returns a designated + or - Value based on which input is greater.
- More Math Functions : Limit - Limits output to a range within the selected inputs. 
- More Math Functions : Slew - Limits the rate of change in a system
- Magnet Part : MAGNETS? HOW DO THEY WORK? - Attracts parts in around it in a field.
- Rope Part : How else could you go part fishing with your new magnet? - will be able to "pull" but not push, grappling hooks anyone?
- Selective Disconnect mode : Allows you to disconnect 2 parts, without breaking ALL connections those parts have
- Mouse Wheel Rotation of Parts : does exactly that, use scroll wheel to rotate
- Motor Idle- Motors can be set to idle and will now freely spin.
- Planet Draw distance : How can you explore worlds you can't see? planets should now be seen from anywhere in the solar system on Stardust Style maps
- Blueshift Map Despawning : Parts that fall into the void can start to build up slowdowns over time. Parts will now be despawned after they fall a certain distance.
- Resurrection of old assets : parts like armour, pressure plates, crystals and what not which appeared in the orignal rawbots trailer will be re-added to the game.
- Build mode (Possibly) : A reduced gravity, physics damped environment for building bots easily. With a real editor coming MUCH later in development
- Some more stability fixes : We hope to get rid of collison checks between connected parts, they aren't going to collide with each other.




~~~~~~~~~~~~~~
AFTER 1.6 , sometime in the far future
~~~~~~~~~~~~~~


New Bullet API
Spoiler: show

We need to upgrade to the newest verison of bullet for more stability fixes and performance improvements. This is going to require alot of re-writing and fixing. This update may take a month on its own.


x64 Builds
Spoiler: show

X64 architecture will get us access to more ram, more ram means more things loaded at once and less slowdowns. This maybe require an update to the newest bullet api or unity edition, which will be alot of work. this feature isn't coming anytime soon



More VP tiles and A map
Spoiler: show

Vp tiles we'd like to add :
Folder VP - allows a section of the vp screen to be "compressed" inside of it without messing with I/O. this will allow us to clean up the VP screen for complex bots
Advanced Math VP - Takes a formula, generates inputs equal to the amount of unknown variables in the math. Outputs the missing variable solved by the equation


Map - Takes the local terrain and generates a map image based off of it, allows mousing over to see GPS coordinates of that spot in the world. Won't have any features like Waypoints or Radar at the start.



Damage Shader and Part destruction
Spoiler: show

How damaged is that part? Who knows? We want to add a way to gauge the damage of a part, and make it so parts that lose all HP explode/break apart and are removed. Parts falling off will still be a thing, but won't be from just damage alone. A fist might punch your head off, but a Plasma cannon will just make it explode. Stuff at the center of a grenade blast will be vaporized , but the shockwave can still make parts go flying.


The Great Energy Economy
Spoiler: show

This isn't coming anytime soon. This is our overreaching goal for the YEAR, it requires a huge amount of work. From creating Models, to programming alot of behaviours. But here is our loose plans at the current moment :


 We need to add gameplay to rawbots. This is my personal theory for the direction on which we should go. Let us begin the biggest of all  theorycrafting.....

Do we want rawbots to be “survival” exploration? Where once you’ve pillaged an area you have no reason to return, or “survival” adventure where the player has a base that they can return to such as games like TERRA TECH?
I will assume the TERRA TECH model for the case of this theory crafting.


So for starters, everything uses energy at a rate proportional to its usage and balance factors. I would have VP tiles use energy as to encourage effective coding (why do 5+5+5+5+5 when 5X5 works?). I would have all output devices consume energy (motors, plasma cannons, jets, hovers, ect). This will give us freedom in the future to release “time saving” VP tiles that consume a high energy rate (such as a FIRE vp tile, which generates a firing solution for you, or a GPS tile which returns target XYZ). Of course the energy cost of VP tiles would be very low, and its purpose would be to add a slow drain effect to bots, which justifies ON/OFF mechanics.

I would have the spawning of parts require energy. I would have the repairing of parts require energy (as at some point we will need to create damage states for parts besides just “falling off the bot”)

Now as for Energy Economy itself. I would limit the player to a maximum amount of energy storage. Which could be increased with “energy tanks”. I would then create a system of base building utilities. Such as a storage depot for energy which can be used while within a fixed radius of it. And down the road parts which can “transmit” energy from depot to bot at a cost would be added. The energy sources would contain maximum amount of energy which requires time to harvest and eventually depletes. I would have energy sources spawn and respawn at random locations on the planet, outside of player base structures Hypercubes would make perfect “harvesting/storing” tools. In order to help the player EXPEND that energy, I would have hostile combat bots spawn around the player base at various distances. Easier bots spawning closer, Harder bots spawning further. ACL bots could already perform this function quite well.

Now to encourage the exploration of the planets. I think we should create more then just one resource type, although after the creation of energy, other resources would be easy re-skins. Better parts would require better materials, some of which would not spawn on the starting world. This would allows us to create more content for player base building (Storage Depo, Advanced part spawner, Resource refinery, Turrets, Energy bridge walls, Teleporter, ect) and allow a longer gametime before players reach “end game” status.

Here is the example of my gameplay loop

Start with basic bot → find some energy to harvest → make a depo → improve your bot with some basic parts/weapons → explore the world to find more parts to “unlock”  and more energy → improve your bot with the new parts → repair your bot when it gets damaged → find all parts to unlock on base world → explore other planets → die a few times and respawn with your bot back at your depo → fly back to new world → establish new base → explore new world until all parts are unlocked and your bot is king of the bots → end of upgrade cycle, all gameplay past this point is purely emergent.

Of course since rawbots is a programming game, I would hope we can come up with some way to have player programed bots do basic tasks such as harvest resources and seek and destroy hostiles around a base, or do guard duty around the player.


The creation of this world would also allow stuff like challenge areas, “boss”fights and other such things. But that is a little to deep for my theorycrafting.





I hope this fills you guys in as to the work we are doing, and if anybody wants to lend a hand (we got any blend masters in the crowd?) you can hop on the discord and talk with Marvin, Pressureline, Z26 or Myself.


Keep calm and Build Rawbots!
« Last Edit: March 29, 2019, 12:37:35 am by cupid_the_conqueror »
At the end of the day, love conquerors all.

MarvinMan

  • Automation Expert
  • Experienced Member
  • ***
  • Posts: 249
  • Likes: +4/-0
    • View Profile
Marvins view on the grand plan
« Reply #1 on: March 29, 2019, 09:07:25 pm »
The current state of Rawbots:
The Rawbots we have today is largely stable (remarkably so for something claiming to be pre-alpha), and numerous bugfixes and quality-of-life improvements have been made by the dev team for 0.15/0.16. The bot building and programming system is pretty solid, as evidenced by the creations on display in the various workshop and ACL threads. In other words, you can build nearly anything, but there isn't really any inherent motivation to, which has to be supplied by the players creative urges or community challenges.

The code contains several parts, ranging from the relatively straightforward but tedious to fully implement, through to parts presumably intended to have complex functions but only exist as a name and a model. Making these usable is likely to be part of the first stages of development as a reasonably safe addition of content we've been denied all these years.

Where to next?
The Rawbots universe is fairly dull, populated by a scattering of barren planets or whatever blocky structure the player cares to build suspended in an infinite void. On the structures front, there are plans to re-add the pillars and platforms seen in earlier versions, suitably scaled for compatibility with the smaller terrain hexes found in the current version. Also to be added are an assortment of minerals, resources and asteroids, which will start to bring the world alive and lay the foundations for an energy economy and motivation for exploration. While these would likely be inert statically generated features at first, developments could include random spawning, regeneration of resources, mining/harvesting and increased variety.

Longer term:
Cupid has done a pretty good job of outlining how gameplay driven by an energy/materials economy would work, so I'll just add a few paints here. While getting to this point is unlikely to require a complete overhaul of the game, significant changes will be required, and it would be best for us to understand the ultimate objectives now, rather than starting out without a clear picture and finding we've made some feature far more awkward to add than it otherwise could have been. In my opinion, the end game should provide a reason to build, automate and explore a dynamic universe, while allowing room for creativity for the sake of creativity at all stages of progression. Populating the world with NPC bots could be cool and really help bring the universe to life, but risks changing the character of the game, especially if things get too combat-heavy and it ends up resembling a base-building/tower defence game.

Parallel goals:
In addition to ongoing bugfixes, and the developments listed above, there should be gradual bot-building focused additions. These would include original new parts, new operands, building/programming aids, user friendliness/UI efficiency improvements, etc. As mentioned previously, there are potential changes to the underlying platform/physics engine, but I'll keep this post limited to user-facing changes for now.

cupid_the_conqueror

  • Administrator
  • Experienced Member
  • *****
  • Posts: 101
  • Likes: +1/-0
  • A filthy casual
    • View Profile
    • the truth of rawbots
Re: The Development Road map
« Reply #2 on: March 30, 2019, 02:57:36 am »
Thank you for reminding me marvin! at some point in the far future I would like to have a talk with all the devs about Accessibility within rawbots.  I think that a system of configurable PreConFig-VP tiles would ease new  users into the game. Example:

Turret - VP: Asks for a motor labeled "rotation point" , a elbow labeled "elevation point" , a camera labeled "vision point" , and "left reference" "right reference" as inputs. It also shows an image of an example turret, and then contains a folder VP with pre-generated code for a basic turret would be auto hooked up.  Usage of these Simplified VP's would be inefficient power wise, and wouldn't be the best performing , but could greatly speed up the time it takes to "pick up and play"

another example

Car - Has Left, Right , users just hooks up the motors, pre-made WSAD car code is used.

Another option is to simply have "basic bots" that the player "unlocks" and can spawn in, giving them a plethora of useful bots they don't have to program. New users who want to just hop in, explore and adventure without learning right away will be able to do so. While the inefficiencies of doing so will encourage them to learn code over time.
At the end of the day, love conquerors all.

MarvinMan

  • Automation Expert
  • Experienced Member
  • ***
  • Posts: 249
  • Likes: +4/-0
    • View Profile
Re: The Development Road map
« Reply #3 on: March 30, 2019, 12:18:47 pm »
Once we have the ability to store code in re-usable blocks, it would be relatively simple to include a library of example functions that new players can use and learn from. Combined with a set of blueprints of archetypal bots, this would provide a good platform to get new players started and provide shortcuts for more general use.