Coding Task List - Before IB2 Initial Release

Discuss anything in general about the IceBlink Engine + Toolset project (or anything else) here.

Re: Coding Task List - Before IB2 Initial Release

Postby slowdive » Sun Mar 24, 2019 12:38 am

Having a timer (number of turns) to reset the puzzle sounds like a great idea of it works out with the code. Would definitely make puzzle more challenging.
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 3116
Joined: Wed Nov 21, 2012 11:58 pm

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Tue Mar 26, 2019 7:10 am

[double post, sorry]
User avatar
youngneil1
Backer
Backer
 
Posts: 4942
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Tue Mar 26, 2019 7:16 am

Timer is up and running :) .

Next up is mining terrain/destroying objects:

1. Bumping into destructible prop (even on different hieght level) brings terrain height of target square to party square's height, use script function to recalculate shadows

2. Prop grapic is replaced with alternative graphic (optional)

3. Tile layer 1 grpahic is replaced with alternative graphic (optional)

4. Skill test whther destroying/mining is possible (as usual)

5. Add item to inventory (think ore found), optional

6. System for several bumps requied before destruction?

7. Different graphic for props, depending on state of destruction

WIP
User avatar
youngneil1
Backer
Backer
 
Posts: 4942
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Tue Mar 26, 2019 7:56 am

I think this mining stuff will have quite the level design potential in the end. Think eg mining too deep, hehe :mrgreen: , and opening up a small cavern that has hidden a moving and chasing prop called Balrog :lol: .
User avatar
youngneil1
Backer
Backer
 
Posts: 4942
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby Dorateen » Tue Mar 26, 2019 5:02 pm

Sounds fantastic. Keep up the good work!
User avatar
Dorateen
Backer
Backer
 
Posts: 956
Joined: Mon Nov 26, 2012 2:08 pm

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Tue Mar 26, 2019 6:13 pm

Thank you for the encouragement, Dorateen - I will do my very best to keep the good stuff coming (albeit at a leisurely pace :) ). It's great fun to see it all come together as time passes :) .
User avatar
youngneil1
Backer
Backer
 
Posts: 4942
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Thu Mar 28, 2019 7:15 am

Alright, here's my battle plan :P :

Code: Select all
 //A. Concept

        //I.minable tile/digging (eg some ore vein or collapsed tunnels):

        //mining/digging is simply done by bumping (walking) into a minable/diggable prop
        //preparation in toolset: tile layer 1 is ground floor, tile layer 2 is material on top
        //when minning/digging layer 2 is turned blank, revealing layer 1
        //this way authors can inspect their tunnel network simply by setting show layer to 2 to off in toolset
        //place the tile with rock to mine/dig one level higher than ground level (for shadow play in the to be revealed tunnels)
        //when mining/digging the height level of the mined square is lowered to party height level
        //prop default graphic is likely some mostly transparent green indicator for breakability/mining (customizable, might also be a very subtle crack overlay if authors want players to spot the breakbales actively)
        //this prop graphic is (as all props) drawn on top the layer 2 for the top material (see above)
        //(optional) stages 1 to 3 graphics could be intensifying cracked lines, drawn on top the tile
        //(optional) debris graphic could be some stone rubble
        //(optional) sound file to play when bumping into the prop
        //(optional) sound file to play when the object breaks

        //II.pure breakbale objects (eg a statue, a crate):

        //height and tile layer 2 graphic are not affcted when bumping into a pure breakable object
        //the rest (stage graphcis, debris) work the same as for minable tiles/digging above (though they will likely be individualized by authors for the affected objects)

        //B.Mechanics in code:

        //I.Toolset

        //stage counter is set to number of stages upon placement of the prop in toolset
        //design as decribed above (using layer one as ground floor, hidden by layer 2 to 5 above)
        //new properties added into new section of prop's properties

        //II.Engine

        //1.minable tile/digging (eg some ore vein or collapsed tunnels):

        //a. upon success (all requirements met: skill level, required item):

        //if stage counter number higher than 0
        //exchange prop graphic to stage graphic with the same number as stage counter number
        //reduce stage counter number by 1
        //play sound file for bumping into prop
        //messaging only to log

        //if stage counter number 0
        //exchange prop graphic against debris graphic (if existent) or blank out prop
        //adjust height of target tile to height level of tile the party is on right now
        //set all tile layer graphics higher than 1 to blank (revealing the ground floor)
        //play sound file for breaking the object
        //set isDiggableIndicatorProp to false for this prop
        //give out item connected if existent (eg ore)
        //messaging only to log

        //b. upon failure
        //messaging to log and as floaty

        public bool isPureBreakableProp = false;
        public bool isDiggableIndicatorProp = false;
        public string requiredItemInInventory = "none"; //like eg pick axes of varying qualities
        public string breakableTraitTag = "none";
        public int breakableDC = 10;
        public int numberOfStages = 0;
        public string debrisGraphic = "none";
        public string stageGraphic1 = "none";
        public string stageGraphic2 = "none";
        public string stageGraphic3 = "none";
        public string tagOfItemGained = "none";
        public string nameOfSoundFileBump = "none";
        public string nameOfSoundFileBreak = "break";

        public int counterStages = 0;
User avatar
youngneil1
Backer
Backer
 
Posts: 4942
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby slowdive » Sun Mar 31, 2019 1:53 pm

My kids will love the mining feature (they love Minecraft and I play with them, but I just like exploring random caves :D ). Sounds like a great plan! No rush of course... We like our pace :D
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 3116
Joined: Wed Nov 21, 2012 11:58 pm

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Wed Apr 03, 2019 5:59 am

I was a bit knocked out by harmless illlness in the last days (and by geeting back into No Mans's Sky :lol: ), but nonetheless: the first mining prototype is up and running. I already dug a little tunnel network into a mountain flank ingame :D .

There's much debugging and polishing to do still, but I am very optimistic that this will be a fun new gamplay element.

Once done, I think that vessels (eg sailing ships or space ships in a scifi scenario) will be my next project. Oceans, lakes and broad rivers add a lot to a campaign. And having some kind of solar system/galactic map is almost mandatory for a scifi rpg. I think it will be quite straightforward with:
1. Enter vessel by stepping into it (check traits optionally for allowing so)
2. Switch party graphic to vessel graphic, turn off party tail
3. Squares can have attributes like sea, land, space (ports are eg land and sea)
4. Vessels can only move on squares with attributes fitting the vessel type
5. Party can only walk on land (land will be default attribute)
7. Leaving a vessel only works by stepping from a port square (land and sea attribute) onto a land type square. Vessel prop remains in port in this case, party appears on land next to it
6. There might be stuff like deep seas, ionized nebula, etc requiring advanced vessels and/or higher piloting traits

Big question will be what is the easiest way to assign the new attributes in toolset, mmmhh...
User avatar
youngneil1
Backer
Backer
 
Posts: 4942
Joined: Sat Dec 08, 2012 7:51 am

Re: Coding Task List - Before IB2 Initial Release

Postby youngneil1 » Wed Apr 03, 2019 6:21 am

It might work out by using layer 5 tile graphics to indicate terrain types in toolset. There might graphics showing the words land, sea, space, port, etc. as their tile graphic(transparent otherwise). These special tile graphics will have corresponding unique names. In toolset they will work as normal graphic (blend in and out via layer 5).

In engine, tiles with these names will be excluded from the draw routines. The engine will look for tiles in layer 5 withese names in order to determine whether party or vessel can enter a square.

Multiple tile attributes will be a bit more complicated this way, but might not be needed when making port an attribute of its own.

The whole system is not caterd to vessels also moving over land (like balloons or horses, mmmhhhh... but these would need many other adjustments anyway (ports for horses feel wrong, balloon would have to ignore height and most prop collision). Must think about this.
User avatar
youngneil1
Backer
Backer
 
Posts: 4942
Joined: Sat Dec 08, 2012 7:51 am

PreviousNext

Return to General IceBlink Project Discussions

Who is online

Users browsing this forum: No registered users and 2 guests

cron