HeroEngine Forums
Welcome, Guest. Please login or Register for HeroCloud Account.

Author Topic: [Resolved] Database question  (Read 4873 times)

Mdaniel27

  • World Owners
  • ****
  • Posts: 13
    • View Profile
[Resolved] Database question
« on: Dec 21, 12, 11:58:48 AM »

We want to setup some SQL tables for our game to hold Loot, weapons, Armor, Spells, NPCs ect tables.
How can we go about doing this?  I have not found an area that talks about setting this up.

MD
« Last Edit: Jan 03, 13, 10:40:11 AM by HE-Cooper »
Logged

Dragorth

  • General Accounts
  • *
  • Posts: 25
    • View Profile
Re: Database question
« Reply #1 on: Dec 21, 12, 12:47:57 PM »

The HeroEngine Cloud does not allow you direct access to the database using SQL. It does have everything you would need database wise.

Here is an overview of the Database system in HE, and some thoughts on ways to use it.

http://hewiki.heroengine.com/wiki/Data_storage
Logged

Mdaniel27

  • World Owners
  • ****
  • Posts: 13
    • View Profile
Re: Database question
« Reply #2 on: Dec 21, 12, 01:07:27 PM »

Ok If that is what we have to work with is there something that explains things in a way of how to set up
the tables we need? It would be nice also if there were some examples similar to what we are in need of.

thnx

MD
Logged

HE-Cooper

  • *****
  • Posts: 2221
    • View Profile
Re: Database question
« Reply #3 on: Dec 21, 12, 01:23:18 PM »

Hi Mdaniel27,

There's a whole lot to learn here, and that link that dagorth pointed to pretty much covers all of the architectural questions. As he points out, you wouldn't want your game designers directly accessing the game's persistence database. I've yet to work on a project where that would be helpful. Instead you want to create systems for your designers to input and manipulate data. Like the spec oracle system, which is linked to on that data storage page. For massive data import, there's the HeroEngine Extension Interface, or the Repository Browser.
Logged

Mdaniel27

  • World Owners
  • ****
  • Posts: 13
    • View Profile
Re: Database question
« Reply #4 on: Dec 21, 12, 02:58:39 PM »

Hi Mdaniel27,

There's a whole lot to learn here, and that link that dagorth pointed to pretty much covers all of the architectural questions. As he points out, you wouldn't want your game designers directly accessing the game's persistence database. I've yet to work on a project where that would be helpful. Instead you want to create systems for your designers to input and manipulate data. Like the spec oracle system, which is linked to on that data storage page. For massive data import, there's the HeroEngine Extension Interface, or the Repository Browser.

How would I get all my existing tables of data intergrated for use for our game?
Logged

Dragorth

  • General Accounts
  • *
  • Posts: 25
    • View Profile
Re: Database question
« Reply #5 on: Dec 21, 12, 03:20:06 PM »

As  brute force method, use the HeroEngine Extension Interface to create a .csv import plugin for the Spec Oracle System.

http://hewiki.heroengine.com/wiki/HeroEngine_Extension_Interface

http://hewiki.heroengine.com/wiki/Category:Spec_Oracle_system
Logged

Mdaniel27

  • World Owners
  • ****
  • Posts: 13
    • View Profile
Re: Database question
« Reply #6 on: Dec 21, 12, 03:40:34 PM »

Thank you Dargorth for your assistance.
Logged

JoshHalls

  • Founding Professional
  • *****
  • Posts: 335
    • View Profile
    • The Repopulation
Re: Database question
« Reply #7 on: Dec 21, 12, 04:27:33 PM »

We use both the oracle system and chat commands for manipulation of spec data (had to build a custom command window to do multiple commands).  It works fairly well as you can easily set most common field types and we build custom handlers for lists and class fields.  Sometimes it is easy to pop in and modify it via the GUI, but changing 100 different values is a giant PITA.

We do something similar with data dumps as well and that can all be done without the HEI system, even though you can go a bit further there if you wanted.
Logged
Co-Owner/Programmer - The Repopulation

Mdaniel27

  • World Owners
  • ****
  • Posts: 13
    • View Profile
Re: Database question
« Reply #8 on: Dec 21, 12, 04:48:38 PM »

I see, well as it seems that what we are seeking and what the HE, has available are 2 different things.

We were hoping to not have to jump thru so many hoops just to do some simple database work.

But I guess you learn these things as you go.

Thanks for the info.
MD
Logged

HE-HERB

  • HeroEngine
  • *****
  • Posts: 530
    • View Profile
    • HeroEngine
Re: Database question
« Reply #9 on: Dec 21, 12, 05:19:44 PM »

There are a number of reasons the datastore access is abstract through HSL and the DOM.

Chief among them is in order to be able to support data replication, consistency, and performance in production.

Yes, it can seem like overkill if you're used to working on a single player or small game.  However, in an MMO those are usually some of the main issues which will kill you when you get to beta and production

Cheers
Logged
herb marselas
graphics guy

Mdaniel27

  • World Owners
  • ****
  • Posts: 13
    • View Profile
Re: Database question
« Reply #10 on: Dec 21, 12, 05:37:12 PM »

Yes I'm sure it would if set up improperly, but many MMO's use SQL back-end servers that are still in use today.

All of which run MTPS(Millions of Transactions Per Sec), But even if Hero does not support this method which is fine by me and many others. I guess I still do not see why there isn't something in place to assist those with such needs other than having to code a complete new front in to be able to setup something that should be very basic and simple to do.

There should be tools that help get the ball running in Hero's environment using the setup you have in place.
So that builders can import what they need and or setup new DB's or tables as needed without having to recode things.
« Last Edit: Dec 21, 12, 05:38:43 PM by Mdaniel27 »
Logged

Dragorth

  • General Accounts
  • *
  • Posts: 25
    • View Profile
Re: Database question
« Reply #11 on: Dec 21, 12, 06:50:59 PM »

The thing that HE makes better is not having to worry about the setup, so you can just worry about your game, and worry less about the logistics of how many worlds do you need, how many servers, and al the other stuff that comes with it. You may lose some control, but you receive a huge gain in simply getting your game fleshed out.
Logged

Mdaniel27

  • World Owners
  • ****
  • Posts: 13
    • View Profile
Re: Database question
« Reply #12 on: Dec 21, 12, 07:19:40 PM »

But how do you get thousands of asset records, and several tables setup and imported ready for use by the world builders?
Logged

JoshHalls

  • Founding Professional
  • *****
  • Posts: 335
    • View Profile
    • The Repopulation
Re: Database question
« Reply #13 on: Dec 21, 12, 07:32:32 PM »

You probably are jumping a step or 3 ahead of yourself.  You will want to look at the DOM wiki articles.

http://hewiki.heroengine.com/wiki/DOM

And also the Data Storage wiki

http://hewiki.heroengine.com/wiki/Data_storage

You will most likely want to use the Spec Oracle system to hold your data for items, npcs, etc.  As far as batch entering that data, you can script most of it out, as mentioned that is what we do for a lot of information.  We create it outside of HeroEngine in a spreadsheet or simply a notepad application and then bulk enter them.  Can create specs, modify them, etc.  It is normal to what to fight wanting to do this versus straight importing it into a database, but there are many things going on behind the scenes that is taken care of with the data model and I can only imagine the support headaches they would have if they allowed people to raw enter data.
Logged
Co-Owner/Programmer - The Repopulation

HE-ANDY

  • World Owner
  • ****
  • Posts: 169
    • View Profile
Re: Database question
« Reply #14 on: Dec 21, 12, 11:23:36 PM »

As to HOW to load thousands of items' worth of data, upload them to a file in the repository that the script running on the server can access, parse, and load into said Spec Oracles.

--Andy
Logged