Babylon aRPG - Work in progress

Hi guys, well, i just started to work on this “thing” again, i hope i will finish this “thing”, sometime…
We can see here how the game will evolve, and i hope i won’t stop the development again!
Don’t wanna fill this topic with screenshots, so i am gonna post YT videos.

Part3: YouTube
Part4: YouTube
Part5: YouTube
Part6: YouTube
Part7: YouTube

14 Likes

It’s done well so far. Keep up the good work, it has potential and it change of RPG 2d made from ‘RPG Maker’.
An editor on your project would be great. This would be a new generation RPG Maker in 3D on browser :relaxed:

Good continuation

2 Likes

This is REALLY good! congrats! Can’t wait to try it honestly

2 Likes

Thanks for the kind words guys.
Started working on “gathering” 2d thumbnails and 3d models.
Inventory seems to be functional now. I need one item of each type (armor, helm, bow, sword e.t.c.) then gonna add one more map and some monsters.

2 Likes

@Nevergrind hey there, good job. Keep up, the browser needs such games. On a side note, check opengameart.org as a source for 2D / 3D assets

2 Likes

Again, thanks for the kind words. Was kinda busy these days.

Made the “stats” for characters:

{
	// Misc stats
	level: 1,
	experience: 0,

	// Points
	strength: 35,
	dexterity: 35,
	intelligence: 35,

	// Damage related
	physicalDamageMin: 50,
	physicalDamageMax: 100,
	physicalDamagePercent: 0,
	physicalDamagePen: 0,
	
	spellDamageMin: 30,
	spellDamageMax: 60,
	spellDamagePercent: 0,
	
	fireDamageMin: 0,
	fireDamageMax: 0,
	fireDamagePercent: 0,
	fireDamagePen: 0,
	fireDamageAilment: 0,
	
	coldDamageMin: 0,
	coldDamageMax: 0,
	coldDamagePercent: 0,
	coldDamagePen: 0,
	coldDamageAilment: 0,
	
	lightDamageMin: 0,
	lightDamageMax: 0,
	lightDamagePercent: 0,
	lightDamagePen: 0,
	lightDamageAilment: 0,
	
	projectileDamagePercent: 0,
	projectileCount: 0,
	projectileFork: 0,
	projectileChain: 0,
	
	chaosDamageMin: 0,
	chaosDamageMax: 0,
	chaosDamagePercent: 0,
	chaosDamagePen: 0,
	
	attackSpeed: 1,
	attackSpeedPercent: 0,
	castSpeed: 1,
	castSpeedPercent: 0,
	accuracy: 50,
	accuracyPercent: 0,
	
	ciriticalChance: 0,
	criticalChancePercent: 0,
	criticalMultyplier: 100,
	
	areaOfEffect: 0,
	areaOfEffectPercent: 0,
	
	damageOverTime: 0,
	damageOverTimePercent: 0,
	
	bleedingDamage: 0,
	bleedingPercent: 0,
	bleedingChance: 0,
	bleedingMultyplier: 0,
	
	poisonDamage: 0,
	poisonDamagePercent: 0,
	poisonChance: 0,
	poisonMultyplier: 0,
	
	// Life related
	life: 150,
	lifeMax: 150,
	lifeMaxPercent: 0,
	lifeRegen: 10,
	lifeRegenPercent: 0,
	lifeOnHit: 30,
	lifeOnHitPercent: 0,
	lifeDegen: 0,
	lifeDegenPercent: 0,
	lifeOnKill: 0,
	lifeOnKillPercent: 0,
	lifeWhenHit: 0,
	lifeWhenHitPercent: 0,
	lifeProtectMana: 0,
	lifeReserved: 0,
	lifeReservedPercent: 0,
	lifeReservedReduce: 0,
	
	// Mana related
	mana: 200,
	manaMax: 200,
	manaMaxPercent: 0,
	manaRegen: 10,
	manaRegenPercent: 0,
	manaOnHit: 0,
	manaOnHitPercent: 0,
	manaDegen: 0,
	manaDegenPercent: 0,
	manaOnKill: 0,
	manaOnKillPercent: 0,
	manaWhenHit: 0,
	manaWhenHitPercent: 0,
	manaProtectLifePercent: 0,
	manaProtectEnergyShield: 0,
	manaReserved: 0,
	manaReservedPercent: 0,
	manaReservedReduce: 0,
	
	// Energy shield related
	energyShield: 0,
	energyShieldMax: 0,
	energyShieldPercent: 0,
	energyShieldRegent: 0,
	energyShieldRegenPercent: 0,
	energyShieldOnHit: 0,
	energyShieldOnHitPercent: 0,
	energyShieldDegen: 0,
	energyShieldDegenPercent: 0,
	energyShieldOnKill: 0,
	energyShieldOnKillPercent: 0,
	energyShieldWhenHit: 0,
	energyShieldWhenHitPercent: 0,
	energyShieldProtectLife: 100,
	energyShieldProtectMana: 0,
	
	// Armor related
	armour: 0,
	armourPercent: 0,
	blockChance: 0,

	// Evasion related
	evasion: 0,
	evasionPercent: 0,
	evasionChance: 0,
	
	// Dodge Related
	dodgeChance: 0,
	dodgeTimes: 0,
	
	// Resistances
	fireRes: 0,
	fireResMax: 75,
	coldRes: 0,
	coldResMax: 75,
	lightRes: 0,
	lightResMax: 75,

	// DamageConversion
	physicalToFire: 0,
	physicalToCold: 0,
	physicalTosLight: 0,
	physicalToChaos: 0,
	
	fireToPhysical: 0,
	fireToCold: 0,
	fireToLight: 0,
	fireToChaos: 0,
	
	coldToPhysical: 0,
	coldToFire: 0,
	coldToLight: 0,
	coldToChaos: 0,
	
	lightToPhysical: 0,
	lightToFire: 0,
	lightToCold: 0,
	lightToChaos: 0,
	
	physicalDamageTakenasFire: 0,
	physicalDamageTakenAsCold: 0,
	physicalDamageTakenAsLight: 0,
	
	fireDamageTakenAsPhysical: 0,
	fireDamageTakenAsCold: 0,
	fireDamageTakenAsLight: 0,
	
	coldDamageTakenAsPhysical: 0,
	coldDamageTakenAsFire: 0,
	coldDamageTakenAsLight: 0,
	
	lightDamageTakenAsPhysical: 0,
	lightDamageTakenAsFire: 0,
	lightDamageTakenAsCold: 0,
	
	// Other miscs
	movementSpeed: 100,
	itemRarity: 0,
	itemQuantity: 0,
	
}

I made the options list (kinda similar to another game, guess it)

Items will have 0-2 implicits, 0-3 prefixes, 0-3 suffixes.
Finished the grid system (used for inventory and stash/bank).
Added some monsters, gonna start to write the AI.
Have 3 maps, one for each type (generated heightmap, generated tiles and static like town)
Rewrote the collision system, we have navMesh now, in Babylon 4.1.0 alpha 14.

1 Like
Items = {
	"rarity": {
		"0": "Normal",
		"1": "Magic",
		"2": "Rare",
		"3": "Unique"
	},
	"types": {
		"0": {	name: "Amulet", 			size: {		width:1, 	height: 1	}},
		"1": {	name: "Ring", 				size: {		width:1, 	height: 1	}},
		"2": {	name: "Belt", 				size: {		width:2, 	height: 1	}},
		"3": {	name: "Quiver", 			size: {		width:2, 	height: 3	}},
		"4": {	name: "Armour", 			size: {		width:2, 	height: 3	}},
		"5": {	name: "Boots", 				size: {		width:2, 	height: 2	}},
		"6": {	name: "Gloves", 			size: {		width:2, 	height: 2	}},
		"7": {	name: "Helmet", 			size: {		width:2, 	height: 2	}},
		"8": {	name: "Small Shield", 		size: {		width:2, 	height: 2	}},
		"9": {	name: "Medium Shield", 		size: {		width:2, 	height: 3	}},
		"10": {	name: "Big Shield", 		size: {		width:2, 	height: 4	}},
		"11": {	name: "One handed axe", 	size: {		width:2, 	height: 3	}},
		"12": {	name: "Two handed axe", 	size: {		width:2, 	height: 4	}},
		"13": {	name: "Small Bow", 			size: {		width:2, 	height: 3	}},
		"14": {	name: "Big Bow", 			size: {		width:2, 	height: 4	}},
		"15": {	name: "Claw", 				size: {		width:2, 	height: 2	}},
		"16": {	name: "Dagger", 			size: {		width:2, 	height: 2	}},
		"17": {	name: "One handed mace", 	size: {		width:2, 	height: 3	}},
		"18": {	name: "Two handed mace", 	size: {		width:2, 	height: 4	}},
		"19": {	name: "Stave", 				size: {		width:2, 	height: 4	}},
		"20": {	name: "One handed sword 1", size: {		width:1, 	height: 3	}},
		"21": {	name: "One handed sword 2", size: {		width:2, 	height: 3	}},
		"22": {	name: "One handed sword 3", size: {		width:1, 	height: 4	}},
		"23": {	name: "Two handed sword", 	size: {		width:2, 	height: 4	}},
		"24": {	name: "Wand", 				size: {		width:1, 	height: 3	}},
		"25": {	name: "Flask", 				size: {		width:1, 	height: 2	}},
		"26": {	name: "Jewel", 				size: {		width:1, 	height: 1	}}
	},
	"default": {
		"0": { "name": "Quality: %s", "min": "0", "max": "20"},
		"1": { "name": "Physical damage: %s", "min": "5", "max": "150"},
		"2": { "name": "Critical strice chance: %s", "min": "5", "max": "15"},
		"3": { "name": "Attack Speed: %s", "min": ".5", "max": "2"},
		"4": { "name": "Range: %s", "min": "7", "max": "400"}
	},
	"implicit": {
		"0": 	{ "name": "%s Life Regenerated per second", "min": "5", "max": "300"},
		"1": 	{ "name": "%s% increased mana regeneration rate", "min": "5", "max": "10"},
		"2": 	{ "name": "%s to strength", "min": "5", "max": "50"},
		"3": 	{ "name": "%s to dexterity", "min": "5", "max": "50"},
		"4": 	{ "name": "%s to intelligence", "min": "5", "max": "50"},
		"5": 	{ "name": "%s% increased rarity of items found", "min": "5", "max": "30"},
		"6": 	{ "name": "%s% increased quantity of items found", "min": "5", "max": "30"},
		"7": 	{ "name": "%s to strength and dexterity", "min": "5", "max": "25"},
		"8": 	{ "name": "%s to dexterity and intelligence", "min": "5", "max": "25"},
		"9": 	{ "name": "%s to intelligence and strength", "min": "5", "max": "25"},
		"10": { "name": "%s to all attributes", "min": "15", "max": "15"},
		"11": { "name": "%s% increased physical damage", "min": "15", "max": "150"},
		"12": { "name": "%s% increased projectile damage", "min": "5", "max": "150"},
		"13": { "name": "%s% increased spell damage", "min": "5", "max": "140"},
		"14": { "name": "%s% increased attack speed", "min": "5", "max": "45"},
		"15": { "name": "%s% increased elemental damage", "min": "5", "max": "45"},
		"16": { "name": "%s% increased critical strike chance", "min": "5", "max": "75"},
		"17": { "name": "%s% critical strike multiplier", "min": "5", "max": "75"},
		"18": { "name": "%s to maximum life", "min": "25", "max": "90"},
		"19": { "name": "%s to armour", "min": "15", "max": "300"},
		"20": { "name": "%s to evasion", "min": "15", "max": "300"},
		"21": { "name": "%s to energy shield", "min": "45", "max": "300"},
		"22": { "name": "%s% increased armour", "min": "15", "max": "150"},
		"23": { "name": "%s% increased evasion", "min": "15", "max": "150"},
		"24": { "name": "%s% increased energy shield", "min": "45", "max": "150"},
		"25": { "name": "%s% increased armour and evasion", "min": "15", "max": "100"},
		"26": { "name": "%s% increased evasion and energy shield", "min": "15", "max": "100"},
		"27": { "name": "%s% increased energy shield and armour", "min": "15", "max": "100"},
		"28": { "name": "%s% to movement speed", "min": "5", "max": "30"},
		"29": { "name": "%s life gained on hit", "min": "15", "max": "45"},
		"30": { "name": "%s mana gained on hit", "min": "5", "max": "20"},
		"31": { "name": "%s% of physical damage leeches as life", "min": "5", "max": "10"},
		"32": { "name": "%s% of physical damage leeches as mana", "min": "2", "max": "5"},
		"33": { "name": "%s% chance to block", "min": "1", "max": "5"},
		"34": { "name": "%s% chance to dodge", "min": "1", "max": "5"},
		"35": { "name": "%s% chance to evade", "min": "1", "max": "5"},
		"36": { "name": "%s% armour penetration", "min": "5", "max": "30"},
		"37": { "name": "%s% fire penetration", "min": "5", "max": "40"},
		"38": { "name": "%s% cold penetration", "min": "5", "max": "40"},
		"39": { "name": "%s% light penetration", "min": "5", "max": "40"},
		"40": { "name": "%s% chaos penetration", "min": "5", "max": "40"},
		"41": { "name": "%s% increased area of effect", "min": "15", "max": "40"},
		"42": { "name": "%s fire resistance", "min": "5", "max": "45"},
		"43": { "name": "%s cold resistance", "min": "5", "max": "45"},
		"44": { "name": "%s light resistance", "min": "5", "max": "45"},
		"45": { "name": "%s chaos resistance", "min": "5", "max": "30"},
		"46": { "name": "%s to accuracy", "min": "50", "max": "300"},
		"47": { "name": "%s% increased accuracy", "min": "10", "max": "30"},
		"48": { "name": "%s% chance to cause bleeding", "min": "15", "max": "40"}
	},
	"prefix": {
		"0": 	{ "name": "Adds %s physical damage to attacks", "min": "20", "max": "30"},
		"1": 	{ "name": "Adds %s fire damage to attacks", "min": "", "max": ""},
		"2": 	{ "name": "Adds %s cold damage to attacks", "min": "", "max": ""},
		"3": 	{ "name": "Adds %s light damage to attacks", "min": "", "max": ""},
		"4": 	{ "name": "%s% increased elemental damage with attack skills", "min": "", "max": ""},
		"5": 	{ "name": "%s to maximum energy shield", "min": "", "max": ""},
		"6": 	{ "name": "%s% increased energy shied", "min": "", "max": ""},
		"7": 	{ "name": "%s% increased evasion", "min": "", "max": ""},
		"8": 	{ "name": "%s% increased armor", "min": "", "max": ""},
		"9": 	{ "name": "%s to maximum life", "min": "", "max": ""},
		"10": { "name": "%s% of physical damage leeches as life", "min": "", "max": ""},
		"11": { "name": "%s% of physical damage leeches as mana", "min": "", "max": ""},
		"12": { "name": "%s to maximum mana", "min": "", "max": ""},
		"13": { "name": "%s% increased spell damage", "min": "", "max": ""},
		"14": { "name": "%s to min/max damage", "min": "", "max": ""},
		"15": { "name": "%s% increased physical damage", "min": "", "max": ""},
		"16": { "name": "%s to min/max armour", "min": "", "max": ""},
		"17": { "name": "%s% increased armour", "min": "", "max": ""},
		"18": { "name": "%s to min/max evasion", "min": "", "max": ""},
		"19": { "name": "%s% increased evasion", "min": "", "max": ""},
		"20": { "name": "%s to min/max energy shield", "min": "", "max": ""},
		"21": { "name": "%s% increased energy shield", "min": "", "max": ""},
		"22": { "name": "%s% of physical damage converted to fire damage", "min": "", "max": ""},
		"23": { "name": "%s% of physical damage converted to cold damage", "min": "", "max": ""},
		"24": { "name": "%s% of physical damage converted to lightning damage", "min": "", "max": ""}
	},
	"suffix": {
		"0": 	{ "name": "%s to accuracy", "min": "40", "max": "150"},
		"1": 	{ "name": "%s to all attributes", "min": "", "max": ""},
		"2": 	{ "name": "%s to strength", "min": "", "max": ""},
		"3": 	{ "name": "%s to dexterity", "min": "", "max": ""},
		"4": 	{ "name": "%s to intelligence", "min": "", "max": ""},
		"5": 	{ "name": "%s% increased cast speed", "min": "", "max": ""},
		"6": 	{ "name": "%s% increased critical strike chance", "min": "", "max": ""},
		"7": 	{ "name": "%s% critical strike multiplier", "min": "", "max": ""},
		"8": 	{ "name": "%s life gain on kill", "min": "", "max": ""},
		"9": 	{ "name": "%s life gain on hit", "min": "", "max": ""},
		"10": { "name": "%s% increased fire damage", "min": "", "max": ""},
		"11": { "name": "%s% increased cold damage", "min": "", "max": ""},
		"12": { "name": "%s% increased light damage", "min": "", "max": ""},
		"13": { "name": "%s% increased elemental damage", "min": "", "max": ""},
		"14": { "name": "%s to fire resistance", "min": "", "max": ""},
		"15": { "name": "%s to cold resistance", "min": "", "max": ""},
		"16": { "name": "%s to light resistance", "min": "", "max": ""},
		"17": { "name": "%s to chaos resistance", "min": "", "max": ""},
		"18": { "name": "%s to all resistances", "min": "", "max": ""},
		"19": { "name": "%s% increased mana regeneration", "min": "", "max": ""},
		"20": { "name": "%s life regeneration/second", "min": "", "max": ""},
		"21": { "name": "%s% increased rarity of items found", "min": "", "max": ""},
		"22": { "name": "%s% increased quantity of items found", "min": "", "max": ""},
		"23": { "name": "%s increased fire damage", "min": "", "max": ""},
		"24": { "name": "%s increased cold damage", "min": "", "max": ""},
		"25": { "name": "%s increased light damage", "min": "", "max": ""},
		"26": { "name": "%s increased chaos damage", "min": "", "max": ""},
		"27": { "name": "%s chance to cause bleeding", "min": "", "max": ""},
		"28": { "name": "%s% increased bleeding damage", "min": "", "max": ""},
		"29": { "name": "%s chance to poison", "min": "", "max": ""},
		"30": { "name": "%s% increased poison damage", "min": "", "max": ""},
		"31": { "name": "%s chance to ignite", "min": "", "max": ""},
		"32": { "name": "%s chance to chill", "min": "", "max": ""},
		"33": { "name": "%s chance to shock", "min": "", "max": ""},
		"34": { "name": "%s% chance to block", "min": "", "max": ""},
		"35": { "name": "%s% chance to dodge", "min": "", "max": ""},
		"36": { "name": "%s% chance to evade", "min": "", "max": ""}
	},
	"unique": {
		"0": "1% increased damage per 8 strength",
		"1": "1% increased armour per 16 strength"
	},
	"craft": {
		"0": 	{ "name": "%s% increased damage", "min": "", "max": ""},
		"1": 	{ "name": "%s mana cost of skills", "min": "", "max": ""},
		"2": 	{ "name": "%s% aura mana reservation", "min": "", "max": ""},
		"3": 	{ "name": "%s% increased life leech/s", "min": "", "max": ""},
		"4": 	{ "name": "%s fire and cold resistances", "min": "", "max": ""},
		"5": 	{ "name": "%s cold and light resistances", "min": "", "max": ""},
		"6": 	{ "name": "%s light and fire resistances", "min": "", "max": ""},
		"7": 	{ "name": "%s% increased attack speed", "min": "", "max": ""},
		"8": 	{ "name": "%s% increased chaos damage", "min": "", "max": ""},
		"9": 	{ "name": "%s% of chaos damage leeches as life", "min": "", "max": ""},
		"10": { "name": "%s% chance to recover 10% hp when hit", "min": "", "max": ""},
		"11": { "name": "Hits cannot be evaded", "min": "", "max": ""}
	},
	"requirements": {
		"0": "level: %s",
		"1": "%s str",
		"2": "%s dex",
		"3": "%s int"
	},
	"base": {
		/*======================================================================================*/
		/* 0 - 999 			- Amulets															*/
		/*======================================================================================*/
		"0": {
			"name:": "Dream Ammulet",
			"type": "0",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 1000 - 1999 		- Rings 															*/
		/*======================================================================================*/
		"1000": {
			"name:": "Dream Ring",
			"type": "1",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		"1001": {
			"name:": "Dream Ring",
			"type": "1",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 2000 - 2999 		- Belts																*/
		/*======================================================================================*/
		"2000": {
			"name:": "Dream Belt",
			"type": "2",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 3000 - 3999 		- Quivers 															*/
		/*======================================================================================*/
		"3000": {
			"name:": "Dream Quiver",
			"type": "3",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 4000 - 4999 		- Armours															*/
		/*======================================================================================*/
		"4000": {
			"name:": "Dream Armor",
			"type": "4",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 5000 - 5999 		- Boots																*/
		/*======================================================================================*/
		"5000": {
			"name:": "Dream Boots",
			"type": "5",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		
		/*======================================================================================*/
		/* 6000 - 6999 		- Gloves															*/
		/*======================================================================================*/
		"6000": {
			"name:": "Dream Gloves",
			"type": "6",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 7000 - 7999 		- Helmets															*/
		/*======================================================================================*/
		"7000": {
			"name:": "Dream Helmet",
			"type": "7",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 8000 - 8999 		- Small Shields 													*/
		/*======================================================================================*/
		"8000": {
			"name:": "Dream Shield",
			"type": "8",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 9000 - 9999 		- Medium Shields													*/
		/*======================================================================================*/
		"9000": {
			"name:": "Dream Shield",
			"type": "9",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 10000 - 10999 	- Big Shields 														*/
		/*======================================================================================*/
		"10000": {
			"name:": "Dream Shield",
			"type": "10",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		
		/*======================================================================================*/
		/* 11000 - 11999 	- One Handed Axes 													*/
		/*======================================================================================*/
		/*======================================================================================*/
		"11000": {
			"name:": "Dream One Handed Axe",
			"type": "11",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 12000 - 12999 	- Two Handed Axes 													*/
		/*======================================================================================*/
		/*======================================================================================*/
		"12000": {
			"name:": "Dream Two Handed Axe",
			"type": "12",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 13000 - 13999 	- Small Bows 														*/
		/*======================================================================================*/
		"13000": {
			"name:": "Dream Bow",
			"type": "13",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 14000 - 14999 	- Big Bows															*/
		/*======================================================================================*/
		"14000": {
			"name:": "Dream Bow",
			"type": "14",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 15000 - 15999 	- Claws																*/
		/*======================================================================================*/
		"15000": {
			"name:": "Dream Claw",
			"type": "15",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 16000 - 16999 	- Daggers 															*/
		/*======================================================================================*/
		"16000": {
			"name:": "Dream Dagger",
			"type": "16",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 17000 - 17999 	- One Handed Maces 													*/
		/*======================================================================================*/
		"17000": {
			"name:": "Dream One Handed Mace",
			"type": "17",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 18000 - 18999 	- Two Handed Maces 													*/
		/*======================================================================================*/
		"18000": {
			"name:": "Dream Two Handed Mace",
			"type": "18",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		"18000": {
			"name:": "Dream Mace",
			"type": "18",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 19000 - 19999 	- Staves 															*/
		/*======================================================================================*/
		"19000": {
			"name:": "Dream Staff",
			"type": "19",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 20000 - 20999 	- One Handed Swords 1	1x3											*/
		/*======================================================================================*/
		"20000": {
			"name:": "Dream One Handed Sword 1",
			"type": "20",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 21000 - 21999 	- One Handed Swords 2	2x3											*/
		/*======================================================================================*/
		"21000": {
			"name:": "Dream One Handed Sword 2",
			"type": "21",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 22000 - 22999 	- One Handed Swords 3	1x4											*/
		/*======================================================================================*/
		"22000": {
			"name:": "Dream One Handed Sword 3",
			"type": "22",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 23000 - 23999 	- Two Handed Swords 												*/
		/*======================================================================================*/
		"23000": {
			"name:": "Dream Two Handed Sword",
			"type": "23",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 24000 - 24999 	- Wands																*/
		/*======================================================================================*/
		"24000": {
			"name:": "Dream Wands",
			"type": "24",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 25000 - 25999 	- Flasks 	 														*/
		/*======================================================================================*/
		"25000": {
			"name:": "Dream Flask",
			"type": "25",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
		/*======================================================================================*/
		/* 26000 - 26999 	- Jewels 															*/
		/*======================================================================================*/
		"26000": {
			"name:": "Dream Jewel",
			"type": "26",
			"default": {
				"0": { "id": "1", "value": "30, 40"},
				"1": { "id": "2", "value": "5"},
				"2": { "id": "3", "value": "1.4"},
				"3": { "id": "4", "value": "9"}
			},
			"requiremets": { "0": {"id": "0", "value": "20"} }
		},
	},
	"item": {
		"0": {
			"name": "Brain Rattler",
			"base": "0",
			"requiremets": { "0": {"id": "0", "value": "80"} },
			"implicit": {
				"0": { "id": "35", "min": "10", "max": "15" }
			},
			"prefix": {
				"0": { "id": "0", "min": "250", "max": "380" },
				"1": { "id": "22", "min": "50", "max": "50" },
				"2": { "id": "29", "min": "80", "max": "150" }
			},
			"suffix": {
				"0": { "id": "13", "min": "5", "max": "15" },
				"1": { "id": "31", "min": "10", "max": "30" }
			},
			"text": {
				"0": "The painful memories are",
				"1": "the easiest to recall.",
				"2": "''Lavianga, Advisor to Kaom''"
			}
		}
	}
}

This is definitely promising!

1 Like

Added another video on YouTube
Now gonna start writing a simple AI for monsters, so i can test random items and if stats are added correctly.

3 Likes

Your last video looks amazing! Keep it up! I am also working on a top down game similar to yours in many ways. I might be able to help if you get stuck with anything :slight_smile:

1 Like

You are a huge inspiration my friend.

Keep it up , you got this !

1 Like

Finally managed to get crowd and agents working, and got a striking 20-30 fps with 300 agents… Good start i guess

3 Likes

This loooks awesome cannot wait to try it :slight_smile:

Do you know what is the slow part ? rendering vs CPU computation ?

@Cedric for the crowd simu

Wow, were all the 300 all in screen? I have previously computed over 1000 AI NPC’s in the same map but I did remove the mesh from the scene when it was out of frustrum, got 30-50 fps with this technique, a lifesaver. I would suggest you do the same, that way it does not get calculated. Also, don’t animate if not in frustrum, animations are quite expensive.

Still working on this guys. A friend of mine is doing some 3d models (like boxes, barrels, rocks, he is a beginner), another one is writing a story, until that is ready i am doing small improvements to the existing code and adding things like friends list, party e.t.c., things that are not related to the story. Maybe improve the UI and things, idk.

Well, added rings/amulets/armors/boots/belts/quivers, after i finish adding the other items gonna start with the unique ones (normal, magic, rares for now), monsters now drop items (and you can kill them lol). Lots of changes in code, small optimisations and shits.
Someday this will be a game!

1 Like

Reminds me of MU Online :slight_smile:

Is the UI done with BJS also? BJS for the networking also?

@ constantinos

Reminds me of MU Online

Yea, i don’t have 3d models so…

Is the UI done with BJS also? BJS for the networking also?

Yep the UI is with BJS , no external libs, the networking is smth custom (websockets with node js on backend), babylon it’s just a 3d engine

2 Likes

Hello mate GOOD JOB !! I am working on RPG too at the moment. Several years ago I have successfully ran 2D browser-based MMO (well if we can tell 10 - 20 ppl online a success :smiley: ). Right now I am working on 3D “remake”. I would like too stay in touch and sometimes share some ideas because I believe that we will run into similar problems here and there.

I am only beginner with Babylon JS and 3D as a whole, but I have some real experience with runing multiplayer RPG that I would happily share with you.

2 Likes

Been pretty busy and had to take care of my shits in life. But i am still working on this! <3

  • ignore the “wraeclast” background from Path Of Exile. Trying to paint my own images. I am working completely solo right now.

.

Edit: Not bad for 20 minutes of work

3 Likes