Jump to content

Dev Blog 11/8/2018 - Beta 5 Wrap-up

Message added by jcsnider

Warning! .Net Framework 4.6.1+ is required to run this version of Intersect.  If you have trouble running the engine please try updating your .Net Framework version. (Or Mono if you're on Mac/Linux!)

Recommended Posts


Beta 5 Wrap-Up Dev Blog

Nov. 8th 2018



News and Updates

We're all but finished with the creation of B5 which will arguably be the largest update this engine has ever seen!  I'm gonna quickly touch on some of the changes you all can expect to see and what you all should test as soon as you have your hands on this incredible update!



Weather Effects

Use a mixture of animations and map properties to create crazy awesome weather effects:



The weather is configurable per-map in the map properties box:




Equipment Vital Buffs and Animations

Worn equipment can now buff your vitals along with your stats! You will be able to give equipment animations as well, so you can create cool effects like glowing boots, or torches, or whatever you want!




Spell Updates

Lots of bug fixes here but Kibz also added 2 new spell effects which include cleansing (removing all other effects, to escape from stuns and blinds and such), and invulnerability.




NPC Combat Conditions

We've removed the basic npc types (Attack on Sight, Attack when Attacked, Guard, Friendly) and added far more customization for NPC combat behaviors.  You can make NPCs defend your players and attack your players based on conditions such as level, quests statuses, variables, switches, and more!   The uses here are limitless but these conditions would be great for having guards of specific towns attacking or defending the players based on factions, or player actions in that town.  It wouldn't be hard to make a bounty system like in Skyrim where the player could get in trouble and then pay off their bounty so they wouldn't be attacked on sight moving forward.


New NPC Behavior Options:



Using event switches to alter NPC Behavior/Aggression on the fly:




NPCs that use switches/variables and decide to defend players:




NPC Fleeing & Swarm Mechanics

This was asked for a lot.. you can now make npcs run away when their health falls below certain thresholds.  This is configurable on a npc by npc basis which is really cool. Furthermore swarming is where npcs come to the aid of their friends when they're in trouble.  Super easy to setup now and really effective!




NPC & Resource Common Events

You can now make common events run when a npc or resource is killed both for the killer and for everyone in the killers' party :)




NPC & Resource Dynamic Drops

You are no longer limited to only having 10 item drop chances for NPCs and Resources.. you can create however many drops that you want!




Resources from Tilesets

Don't want to rip trees and stuff out of your tilesets for resources? You don't have to anymore! Resource graphics can be selected directly from tilesets now!




General Combat Upgrades

Targeting is easier now when trying to click on moving entities. Kibbelz even added in a hotkey for "auto targeting" which will target the nearest enemy when you hit the hotkey (tab by default).


Lifesteal and Cooldown reduction on equipment items now work!


Items/weapons can now have static attack speeds when wielded, or increase the players default attack speed by a certain percentage.

0576abcc137d7d05890325989f45e01e.png   cd9ada4263e160ec19dbca40837a4b91.png  1c63db903e2820886122d7e6be73b9f9.png



Hotbar Rework

The hotbar used to forget items/spells when you no longer had them in your inventory/spellbook.  This isn't the case anymore, and the same items don't have to be drug to the hotbar over and over again each time your players go to the store!



Class Balancing Updates

This is a big one and requested often. Starting in B5 when you make changes to a class your players' stats will auto-update to reflect those changes! This even works with adding/removing the points your players allocate into their stats individually.



Event Upgrades

You can now use event conditions to compare player switches with other player switches, and compare player switches to global switches - same thing for variables too!

Furthermore you can set the value of switches and variables to the values of other switches/variables in the game! 

Finally, you can set variables to the value of the current real world time expressed in milliseconds. With these values you can keep track of when players accomplish tasks, create real-time farming systems, daily events, and more!


Setting a variable to the value of another variable, or the system time:



Comparing variable values with other variables:




New Escape Menu

Tap escape to reach the options window, you also have buttons that will allow your players to logout, go back to character select, or quit directly to the desktop!



Better Disconnect Handling

Has your server ever crashed on you while you were play testing your game? What happened? In Beta 4 the client crashed too! In Beta 5 the client returns to the main menu and informs the player that the server connection has been lost! This is minor, but also a nice polish update for our engine.



Beware: Updates below are targeted towards our developer crowd and technical speak lies ahead!



We've already been over this once, so I'll link back to that dev blog and just leave it at this; all of the Client, Editor, and Server language, ui, formula, and configuation files use the json format. This simplifies our code, and is arguably easier to work with.


Database Overhaul

The entire database system for B5 has been redesigned from the ground-up.  We are using Entity Framework now to handle a lot of the database communications for us. This new system properly stores your game data in either a Sqlite or Mysql database using proper database columns and values instead of our previous design which used impossible to read binary data dumps. 


If you don't know what any of this means, don't worry, it's a good thing!   Once you're game is running on B5 you won't have to use the migration tool anymore, the server will handle database upgrades for you automatically.


The player database is now separated from the game database... so they can be stored in different locations, or you can store player data in a networked Mysql server and game data locally in a Sqlite database or vice versa.


We highly recommend that you continue to use Sqlite for the game data.. but it is really up to you.  The server has a 'migrate' command built in now so you can switch to the different database formats whenever you want!



Use web services and other applications to communicate, query, and control your server!  In Beta 5 this is just proof of concept.  We will release documentation soon on how to authenticate with the API and how to start grabbing player data. In Beta 6 we will have more options so you can alter player inventories, change switch/variable values, and more! This will be the de-facto method to integrate your game with your websites/forums, handle microtransactions, and much more!




Stay Tuned!

The next big post will be outlining our Beta 5 release plans.   Our goal to is to get Beta 5 out to everyone as quickly as possible.  We really appreciate your patience, and hopefully you are as excited as we are!


Link to comment
Share on other sites

17 minutes ago, Garlic said:

Is this going to be more friendly towards low-end PCs? I have players who can play League of Legends and Maplestory 2 at a reasonable FPS but when they try to play my game the FPS is dreadful. 


Not sure. It shouldn't get worse though.


As a counterpoint I have a decent laptop that suffers playing league but handles Intersect games like a champ.  Hardware configurations, drivers, and how games are rendered matter a lot.. under the hood we are updating MonoGame to the official 3.7 release which might help, but none of our rendering code for the engine itself has changed.

Link to comment
Share on other sites

Great to see. Out of these "types" of game engines, this is definitely the most stable and usable, even at this point. The core tech improvements here are what was stopping me from seriously getting into it yet - Glad to see it's almost here so I can give it a shot!


Question, after this goes open source obviously, how possible do you think it would be to integrate something like Steamworks? I'm sure I'm not the only one already selling in that market, and that would boost its eligibility as a serious commercial engine by a ton.


Super excited and wishing you all luck!

Link to comment
Share on other sites

3 hours ago, Rockoria said:

Question, after this goes open source obviously, how possible do you think it would be to integrate something like Steamworks?


There's a C# library for Steamworks, so a lot of the work is already done.  As far as integrating Intersect with that library I think it'd be somewhat trivial for an experienced developer.. probably just take awhile.

Link to comment
Share on other sites

22 hours ago, jcsnider said:


There's a C# library for Steamworks, so a lot of the work is already done.  As far as integrating Intersect with that library I think it'd be somewhat trivial for an experienced developer.. probably just take awhile.

Figured about as much! Yeah, I'm sure actually rigging all the features to the engine code would take a bit, but as long as there isn't some huge roadblock in the way, definitely gonna give that a go :) Thanks for the response!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...