Fantasy World Creations

Fantasy World Creations => General Discussion => Topic started by: Grimston on July 21, 2013, 02:48:08 AM

Title: Legendary Tales - Refresh
Post by: Grimston on July 21, 2013, 02:48:08 AM
Re posting this here, to keep things tidy.

I have been working on updating Legendary Tales, to be more user friendly and improve its abilities.

http://npipes.net/img/LT/LTR01.jpg (http://npipes.net/img/LT/LTR01.jpg)
http://npipes.net/img/LT/LTR02.jpg (http://npipes.net/img/LT/LTR02.jpg)
http://npipes.net/img/LT/LTR03.jpg (http://npipes.net/img/LT/LTR03.jpg)
http://npipes.net/img/LT/LTR04.jpg (http://npipes.net/img/LT/LTR04.jpg)

And a little update on the progress, this is LT-R running on... Ubuntu 12.04 64Bit  :)

http://npipes.net/img/LT/LTR01_Linux.jpg (http://npipes.net/img/LT/LTR01_Linux.jpg)

Only issue I have had with getting it to run on Mono is the Split Container, is not finished in Mono, This has been fixed, with a custom control, which now supports collapsing, to give you more room to edit properties, and scripts.

Next stage is the script editor, which will have syntax highlighting, and auto-suggestions. I will give the highlighter support for Python, JavaScript, XML (Manual edit of the project file if needed). Python will still be the preferred scripting language for the editor.

Suggestions are welcome for this project.
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on July 21, 2013, 04:57:14 PM
Python is a perfect choice, since it is a syntax stickler. I think this is a great move and could actually make LT a viable solution for gaming again :D. On our new site I'll set you up a blog where you can update your changes and the like. Again welcome to the forums :D
Title: Re: Legendary Tales - Refresh
Post by: Grimston on July 21, 2013, 09:30:09 PM
Thanks :)

I'm glad someone else agrees with me about Python.

Hows the new site coming along? If you need some help let me know :)

Edit:
I'm using my site to record changes as create them, it can be viewed here: http://npipes.net/ (http://npipes.net/)
I Will also post here as well.
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on July 22, 2013, 08:32:44 AM
I'm glad someone else agrees with me about Python.
I program in the Unity3D engine so, I'm quite methodical when it comes to code lol. That was one of the main issues with LT was that the on the fly compiler was a poor way to go.

Hows the new site coming along? If you need some help let me know :)
Not at present but in the near future who knows, but thanks for the offer ;D


Title: Re: Legendary Tales - Refresh
Post by: Throndir on July 22, 2013, 11:38:41 AM
Really interested in this project, and I hope this is the thing that will give the dying (or already dead?) LT community some life again!

It would at least boot up the LT projects I had going.
Title: Re: Legendary Tales - Refresh
Post by: Grimston on July 22, 2013, 05:43:48 PM
Mmm interesting point there, I'll see if I can get a converter going to import old projects into it.

I will probably have to support JavaScript then, or find a way to convert all JavaScript to Python.
Title: Re: Legendary Tales - Refresh
Post by: Throndir on July 22, 2013, 06:39:53 PM
Focus on the features first before importing. After running into stability problems with original LT crashing and leaving my project corrupted, I've learned to develop on it by having a ton of text files, so it won't be too hard for me to port it myself eventually.
Title: Re: Legendary Tales - Refresh
Post by: Grimston on July 22, 2013, 06:48:50 PM
Yeah,  getting the program usable is top priority,  importing old projects, can be a update to it.

edit:
I plan to release the editor once the basics are working, it will also have a auto update function.

Basic features
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on July 23, 2013, 08:59:09 AM
I always thought the Location Editor should have been more of a graphic layout rather than the standard format it's in now. I mean a little drag and drop never hurt anyone :D
Title: Re: Legendary Tales - Refresh
Post by: Grimston on July 23, 2013, 09:29:18 AM
I thought the same at one stage, I'll see what I can come up with, will probably be able to create a mini map from it as well, and just connect node to node.

I want to try to make it as easy as possible, one idea I had was to have a simple editor for skills, drag and drop of certain functions like, if statements, damage, kill, recover and so on.

I want to also create a easy to use chat editor.

Update:
The Project file now uses named links to different files instead of being one giant project file.
This allows for much faster loading time, I should have made it that way from the start, but only realised the issue when my test project got to 1000+ lines  ;)

So far only races have been changed to use the separate files. You can also order the races, by dragging and dropping them in the list.
Title: Re: Legendary Tales - Refresh
Post by: Throndir on July 23, 2013, 09:33:31 AM
What are your plans for this by the way? Just a project on your spare time? Any grandiose plans for it? Will it be open source? Closed and commercial?
Title: Re: Legendary Tales - Refresh
Post by: Grimston on July 23, 2013, 09:39:43 AM
I plan to spend as much time as required to finish the project, I can release the source code, if there is a interest in it. I have no problem with that.

There will be no charge for the program either, same as Legendary Tales.
Title: Re: Legendary Tales - Refresh
Post by: Throndir on July 23, 2013, 03:35:34 PM
In my opinion, releasing the source code is always a good way to prolong the lifespan of the project when you decide to slow down on development.

Anyways this is a project I'm keenly looking forward to. Legendarytales was probably what started me off as a Computer Science major. So if there's anything I can do to help out or support let me know! Looking forward to it, and looking forward to boot up my old projects as well once this has lifted off the ground.

It's probably beyond the scope of what you were thinking. But I'll suggest it anyways since it was a feature that sparked a lot of interest back in the original LT (but which never really had any fruition). Once, Humangus had planned for a V2 of Legendarytales, which would have had multiplayer support. It turned out to be a webapp, but multiplayer wasn't very cemented in place. After he moved on to Gemstone Dragon, development on LT v2 was halted, and I believe he took down the multiplayer webapp shortly after as well.

Something to consider when you're developing your version of LT, is to consider multiplayer support. At least in how you architecture your programming so it wouldn't take as many code rewrites to change it from single-player to multiplayer. (Perfectly fine having a single-player version going before thinking of a multiplayer version). There are already a few single-player text-based game makers out there. But a multiplayer text-based game engine is harder to find. There are text-based MUDs out there that are still active, but those don't allow you to make your own world +quests +NPCs and play it with others. I think having this feature alone would differentiate the project from the other text-based game engines out there.

Making a text-based game to enjoy with 1-5 friends sounds like fun! :)

Since it's still early in development, I think it might be feasible to start thinking of heading into that direction, and I'd be willing to put some time in developing something like this myself.
Title: Re: Legendary Tales - Refresh
Post by: Grimston on July 23, 2013, 07:25:00 PM
Multiplayer would be a great feature, it's also something I have thought about.

Nothing much the editor will need for it, maybe a checkbox to allow it.

The client I will probably base around networking, the idea is to on the local machine loopback and use the messages to start events and then handle it from there and send a message back to update info on the screen.

I will use the lidgren library for networking as it supports everything I will need.

Another idea is I could provide a master server, that games can register to, and players can select a game server, download any client side files needed(images,sounds, music) and then play from the servers. Granted I'm probably jumping the gun a little bit, but it's good to have a direction to aim for.

I hope everything above makes sense, using my phone at the moment and it's refusing to scroll up.
Title: Re: Legendary Tales - Refresh
Post by: Throndir on July 26, 2013, 10:20:06 AM
I think the idea of a master server is great. Would bring anyone who uses it together in one place. It would be horrible if something bad ever happens to an official master server, and no one else is around to fix it up anymore or host it though. As long as its configurable to point to any master server, and letting anyone create one, I think that will help its longetivity.

Really looking forward for the first release! Going to start porting over all my projects once I have the means to do so. Good excuse to touch up on Python again.
Title: Re: Legendary Tales - Refresh
Post by: Grimston on July 26, 2013, 07:40:15 PM
A master server would not be required to play, it would just allow you to view open and running games. You would be able to configure the master server in the config file.

I'm thinking more and more about having the editor compile the game into an executable, instead of relying on another application to run the games.

Update on the progress of the editor:
Editing of races - Complete
Editing of classes - Need to finish the skill editor, and then add skills to classes, doing that now

Structure Changes:
One difference so far from the original Legendary Tales, is how "built-in" classes and skills work. Instead of being in a check box list, there is a Shared folder for Races, Classes, Skills, Packages

You can add your own files into these folders, either by hand or by the Tools>Export menu

I decided to go this direction as it will allow you to share your definitions across projects.

Packages, is a collection of all sorts of items, NPCs, Items, Scripts, Sounds, Music and will be compressed to save space


What do you think about the Shared data approach, in place of the set built-in system of LT?
Title: Re: Legendary Tales - Refresh
Post by: Throndir on July 26, 2013, 08:04:02 PM
I like the idea of having an executable created rather than importing a game into the client. I remember there was a time when one of the LT members packaged up both LT and their project into a exe which simply extracts the files... but it wasn't really that elegant. At least distributing people's creations becomes a lot easier, rather than having to rely on the extra step of someone needing to install LT then the game.

The way LT does it has it benefits too, since it's nice having all the LT games in one place. Perhaps to get the best of both worlds, a standalone .exe can be generated when publishing a game. The computer wouldn't need to have LT already installed, but if it is installed have the game open-able in there. The title of the game and perhaps the version number. Small little thing, but helps in making things seem organized.
Title: Re: Legendary Tales - Refresh
Post by: Grimston on July 26, 2013, 08:33:36 PM
Good idea, a sort of launcher/manager for the games, goes well with an idea I had, The games will support auto updating, again they will use a config file so you can point to different servers to check. A launcher will make the process easier, background checks for updates.
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on July 26, 2013, 10:18:13 PM
Well we can always host the "master server" on FWC, since I have tons of webspace for that. Also I like where this is going, you might even consider changing the name as it appears your going to be adding features, that will change how the engine works all together. Just saying. Perhaps doing a complete rewrite of the underlying code or creating a separate project with the same goals would be a good way to go, especially if your seriously considering multiplayer. The original LT is getting a bit up there, perhaps this could be what draws more members to our site. :)
Title: Re: Legendary Tales - Refresh
Post by: Grimston on July 26, 2013, 11:01:28 PM
I was going to host in on my server npipes.net, but we can have more then 1 master server in case one is down.


And you might be right  ;)
I take a look at the online page every now and then and i can see lots of guests looking at this topic then going to make an account.

A name change might be best for it, Its made from scratch, so the only thing that needs to change is the front end items, and a few back end refactors.


I'm thinking about making it only turn based, it would work a lot smoother with multiplayer. and to stop people from ruining the game by going afk, and not making a turn, a time-out would be in place. or maybe some sort of AI to pick-up for the player...


which gives me another idea, AI controlled party members?  :P



Anyway, once I finish the skill and script editor, I will release a copy of the editor, this way you can get a chance to play with it, and create your races, classes and skills.
Title: Re: Legendary Tales - Refresh
Post by: Throndir on July 26, 2013, 11:05:06 PM
Oh that's a genius idea right there. As long as the AI is scriptable of course! :D
Title: Re: Legendary Tales - Refresh
Post by: Grimston on July 26, 2013, 11:11:40 PM
It would have to be, since how else will the AI know which skills to use, can you imagine, in a fight someone goes AFK, and has a spell called Mega Heal. AI comes along, and uses it on the nasty creature which is almost dead and then everyone dies.

mind you that would be funny to see :p
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on July 27, 2013, 07:22:15 AM
That would be hilarious lol. I have something similar in the game I'm working on Hero's Legends, although the AI is kind of dumb, I'm still learning how to do those type of algorithms lol
Title: Re: Legendary Tales - Refresh
Post by: Grimston on July 27, 2013, 10:22:46 AM
That's always the hardest part, I will probably use something similar to fuzzy logic for the AI and would probably need to add extra properties for the AI to work with. This way I can provide an out of the box AI.
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on July 27, 2013, 12:02:06 PM
Hey never though of that, you could also make it to where the AI has "plugins" for different actions, I mean for the end user to use not the coder.
Title: Re: Legendary Tales - Refresh
Post by: Grimston on July 30, 2013, 07:51:39 PM
Well now I have made an account again... since I must have gotten lost :p

I will be continuing working on the program soon, I just need to recover from having being punched 7 times to my skull, and get a MRI done to see if anything has happened, I have either a tumor, growth or cysts on my brain, I have been told each of these, so I know have no idea what's actually up there...

I have been thinking on how the AI will function, to make it easier, skills will need to have extra variables set for the AI to read, such as isHeal, isDamage, isTargetable. It will also see if it needs mana of course.

The AI will then workout what it thinks to be the next skill to use, and then raise a event, which you can hook into with the scripting, and decide otherwise if you wish, or you can choose to leave the event data alone, and the internal AI will continue what it thinks is best.

I think this would be better, as you can spend less time on AI, and this will also mean NPC's have an automatic AI system to make the games more dynamic and interesting.

Another idea was to allow "Roles" such as, Healing, Damage, Protection, so the AI will attempt to play that role for you, so you can then have the game allow 4 starting characters, but the player only uses 1 of them, and the AI plays the rest.

Again all planing and ideas what do you think about it?

(On another note, when I was creating my account again I was asked "How many years between each Olympics?" I had no idea, so a quick Google gave me two different answers.... Winter = 2 or Summer = 4? Ended up being 4, just a guess but still... silly question :p )
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on July 31, 2013, 11:58:24 AM
QuoteWell now I have made an account again... since I must have gotten lost :p

That's very odd, I'm not sure what's causing it though it could be the updated version of FastCGI, although that wouldn't make a whole lot of sense. For some reason the DB keeps gets getting corrupted although the problem is most likely due to all the "hacks" I had to do to get the forums up and running. Won't be a problem with the new ones, so I apologize for any inconvenience up front.

QuoteI will be continuing working on the program soon, I just need to recover from having being punched 7 times to my skull, and get a MRI done to see if anything has happened, I have either a tumor, growth or cysts on my brain, I have been told each of these, so I know have no idea what's actually up there...

...I have no idea how to respond to this, except that I wish you the best in those tests.

QuoteI have been thinking on how the AI will function, to make it easier, skills will need to have extra variables set for the AI to read, such as isHeal, isDamage, isTargetable. It will also see if it needs mana of course.

The AI will then workout what it thinks to be the next skill to use, and then raise a event, which you can hook into with the scripting, and decide otherwise if you wish, or you can choose to leave the event data alone, and the internal AI will continue what it thinks is best.

I think this would be better, as you can spend less time on AI, and this will also mean NPC's have an automatic AI system to make the games more dynamic and interesting.

Another idea was to allow "Roles" such as, Healing, Damage, Protection, so the AI will attempt to play that role for you, so you can then have the game allow 4 starting characters, but the player only uses 1 of them, and the AI plays the rest.

Again all planing and ideas what do you think about it?


Those are some really good ideas, I think having a plugin AI, would allow a designer to conscript their own AI design by just using simple logic (fuzzy logic) to create their own algorithms. Similar to how the game "life" works. for example you could have flags as "in battle", "under curse", "uses spears", "has head protection" and etc. Then as mentioned above you could assign roles such as buffer, healer, tank, ranged and etc. This would allow for some serious hands on AI creations by other game authors, and I think it would be a major draw to newbie game designers as not being super intimidating.

Think of it you could create an AI that runs when it sees a particular animal or monster, or forgets to cast a spell due to fear or intimidation. Possibilities are limitless :D I think this could be accomplished easily with a switch/case statment (or dictionary/result, if/elif/else) equivalent in python. Although the user would only see a flow chart into which they can drag and drop traits, flaws & roles. :D

Quote(On another note, when I was creating my account again I was asked "How many years between each Olympics?" I had no idea, so a quick Google gave me two different answers.... Winter = 2 or Summer = 4? Ended up being 4, just a guess but still... silly question :p )
Yeah that's the super random question captcha lol
Title: Re: Legendary Tales - Refresh
Post by: Grimston on July 31, 2013, 10:17:51 PM
If its a MySQL Database (which I'm almost certain it is), use PhpMyAdmin, Analyse, Repair, Optimize the database tables. Might fix some of the issues. if not it would probably make it faster either way ;D

In other news, Skill Editor is almost finished, I'm going to leave the "Messages" editor for now, and get the script editor up and running, then implement the automatic updater, and then I'll release a copy for testing, and feedback. It will probably error a lot, I have not added much error handling yet. I tend to leave that till last, and then after I cant see any more, I wrap a nice big error handle around the entire app for anything else.

I hope to have it ready for testing this weekend.
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on August 01, 2013, 10:26:18 AM
Yeah I've done all the optimizing but it's not inherit to the database itself but how php uses it.

Looking forward to your  programs debut :D
Title: Re: Legendary Tales - Refresh
Post by: Throndir on August 01, 2013, 11:43:33 AM
Make a loud bang on the official LT forums if you can too. I'm thinking of sending an email to past LT people, and see if they're willing to come back and give it a shot again.

Looking forward for this! Spent yesterday trying to find and recover my old project files. This weekend will be the rebirth of my old projects! Wooo.
Title: Re: Legendary Tales - Refresh
Post by: Grimston on August 02, 2013, 11:38:27 PM
Having a few issues with the script editor.... I will have to delay the release, a little bit.

its not yet possible to get a working game with it. It's just to see how you think it works with its layout. Since I have not started on the client application, I see no point in adding Intellisense hints for script functions, other then a few basic python commands.

I have been playing with the idea of changing the look and feel of the editor by moving the side TreeView into Tabs, so you have a Tab with Properties, Locations, Scripts. inside the TabPage will be a list of items, and the editor control for the item, instead of the current view.

The issue I'm having is the highlighting is not working too well right now. Hoping I can release it tonight, and then based from your feedback, I can make improvements.
Title: Re: Legendary Tales - Refresh
Post by: Grimston on August 03, 2013, 12:26:32 PM
Took a little longer then expected, but here is the current state of the program, in a usable form

http://updates.npipes.net/LTR-Dev.zip (http://updates.npipes.net/LTR-Dev.zip)

My next step is to get location editing going, then I might jump ahead and start on the client application, and start on some of the more basic functions/events.

Intellisense, will be available, it currently pops up with the python keywords, it will also detect definition lines and highlight the function name in your script.

Auto-Update disabled as I have not finished the updater.

I have also included some sample data with the Zip file, some classes and races.

I know the syntax highlighting has problems as well with some things, such as strings and comments. but all up seems fairly reliable.


Let me know how the program feels to you, what could be changed/improved?
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on August 03, 2013, 03:04:36 PM
Will do, downloading now :D
Title: Re: Legendary Tales - Refresh
Post by: Throndir on August 03, 2013, 03:12:17 PM
Ran into an exception upon trying to run the program! :(
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on August 03, 2013, 08:49:32 PM
Same here having issues with .net framework keep getting an exception when I try to load a project or race
Title: Re: Legendary Tales - Refresh
Post by: Grimston on August 04, 2013, 01:32:31 AM
Bah, that's a terrible first impression...  :-[

I guess there is a large difference between a Debug and Release build with certain errors...   :P

Lets try this again:
http://updates.npipes.net/LTR-DEV2.zip (http://updates.npipes.net/LTR-DEV2.zip)

Changes:
Dropped from .Net 4.0 to 3.5
Fixed Creating new Projects, to assign valid data.  ::)
Fixed Importing Classes
Improved the Syntax Highlighter (You can delete script files by having them selected in the list and then press Delete)

I have also included a test Project.

I might raise the project back up to 4.0 at a later stage, as 4.0 has more Dynamic Runtime support.

Either way let me know how it works this time....  ;D
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on August 04, 2013, 11:51:12 AM
1st Impressions:

Very very nice layout.
scripting in python, is a much better choice for this style of editor, have to brush up on my python hehe.

Easy import of races, classes and skills, I'm assuming a package is a combination of the 3?

This is going in a really good direction, I like the whole feel of this. Great for a pre alpha release :D

I personally see this rapidly moving away from its LT roots, if you need a (graphically enchanced) GUI just let me know, I have something in mind already :D
Title: Re: Legendary Tales - Refresh
Post by: Grimston on August 04, 2013, 12:29:45 PM
Yeah Python is my fav scripting language.

I spent awhile planing out the current layout.

What do you mean by GUI? the editors display? or the game client? I'm assuming the editor.

Correct, packages (Not Yet Implemented) are a set of objects, that are more, integrated with each other, sort of like a template. for example "Fantasy" contains the races , Human, Elf and Orc, It also contains the classes, Fighter, Rouge, Priest, Orcish Grunt.

Orcish Grunt, is dependant on having the Orc race to make sense, and as such should be packaged with it to keep them together.

I'm glad you like the layout. was a nightmare to get visual studio to do as it's told.... still complains sometimes...  ::)

On another note, the text editor that's used for the scripting will need to be replaced.... its incompatible with Mono, which ruins part of my aim (Cross Platform) So I will probably end up writing my own. Probably a good thing though... might get the hang of regex finally  :P

And I also agree, the target for this is a lot different from LT... its far enough a new name might be better.... any suggestions? ;D
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on August 04, 2013, 03:39:33 PM
Fantasy World Creator :)

Lol

Nah, I have a few ideas.

World Creation Studio,

Harbinger Engine, (don't know why just like the sound of it)

Open Source Creation Engine (OSCE) (Ozzie)

All I can think of right now :)
Title: Re: Legendary Tales - Refresh
Post by: Throndir on August 04, 2013, 05:57:20 PM
Put something relating to text-based game creation is my suggestion.
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on August 04, 2013, 09:14:42 PM
Harbinger Adventure Text Engine (HATE)

Source RPG Text Engine (SORTE)

Text Based Game Creation Studio

Title: Re: Legendary Tales - Refresh
Post by: Throndir on August 05, 2013, 09:35:03 AM
Quote from: Hasabushi on August 04, 2013, 11:51:12 AM
I personally see this rapidly moving away from its LT roots, if you need a (graphically enchanced) GUI just let me know, I have something in mind already :D

I have yet to try it out. Was planning over the weekends but ended up being busy in the latter half. A suggestion I could make is giving the ability to skin the client. Though that's just flare and isn't really a high priority. It would be a nice touch to give the devs working with your engine to be able to let their players play in a skin the devs make to match their games.

The UI for the original LT was really constrictive in my opinion.
Title: Re: Legendary Tales - Refresh
Post by: Grimston on August 05, 2013, 09:51:24 AM
Quote from: Throndir on August 05, 2013, 09:35:03 AM
I have yet to try it out. Was planning over the weekends but ended up being busy in the latter half. A suggestion I could make is giving the ability to skin the client. Though that's just flare and isn't really a high priority. It would be a nice touch to give the devs working with your engine to be able to let their players play in a skin the devs make to match their games.

The UI for the original LT was really constrictive in my opinion.

Yeah, gives it a more polished feel. When I get to the client, I will need to decide, on whether to create a WinForms Application, or build a application around MonoGame.

WinForms - Simple, using .Net components (Skinning wise, will need to override drawing the controls. In effect recreate all WinForm Controls that are used.)

MonoGame - More complex, everything will be drawn like a normal game would be, advantage is you can then get more complex effects on your game, and gives a opening to more advanced features such as..... 2D view of the world.

I'm thinking more MonoGame for the client. and having the skinning, based from a bunch of texture files. which can be edited before the game will be compiled up.
Title: Re: Legendary Tales - Refresh
Post by: Throndir on August 05, 2013, 10:08:34 AM
So just tried out the engine! It's looking great so far. Saw lots of familiar things.

How similar to LT do you plan to make this go?
Title: Re: Legendary Tales - Refresh
Post by: Grimston on August 05, 2013, 10:24:56 AM
As similar as possible, while adding new features to it.
Title: Re: Legendary Tales - Refresh
Post by: Throndir on August 05, 2013, 10:49:23 AM
Do you mind if I list down the issues I had with LT? You can decide if it's something you'll change or not in yours.
Title: Re: Legendary Tales - Refresh
Post by: Grimston on August 05, 2013, 10:55:47 AM
Yeah, that would be excellent. Would love feedback to push for changes and features.
Title: Re: Legendary Tales - Refresh
Post by: Throndir on August 05, 2013, 02:24:40 PM
Hasabushi is making his list, and I'm still thinking of ideas.

I'll be reiterating through previous suggestions. Here's in my opinion what I wish the original LT had/made easier to do.

Highest Importance
Medium Importance
Lowest Importance
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on August 05, 2013, 03:18:02 PM
Highest Importance

1. Multiplayer (of course) - both single player module/packages download and multiplayer chat and user interface.
2. Map Designer - this needs to be a custom drag and drop interface, with a seperate floating window for location design and layout. I'll explain more on this if you need me too. The more simplified the map is the quicker a draft of a world can be created.(I remember getting frustrated with the engine on this level with my Arena game).
3. Easy to navigate interface that a newbie can pickup really quick, allowing a growing community hopefully hosted on FWC :D

Medium Importance

1. Custom Stats - basically the same thing Throndir wrote about, I hated the fact of not being able to change
stats or create new ones. This means all stats not just the vitals.
2. New Skills - NO MORE HARD CODED SKILLS or SPELLS! I beleive this really hurt the LT community, especially with everyone now wanting to be able to customize.
3. Support of animated 2d Sprites: animated 2d gifs (sprites) for portraits or animated maps.
4. Custom Classes & Races - with a wizard interface for creating classes and races.

Lowest Importance

1. Modding - this is something that should be worked toward for the future growth of this engine, the more that can be modded the further this will grow.
2. Mulitplayer Server Skinning - Basically a player could connect to a server and choose a module or campaign to play, in the process his GUI is skinned to whatever the module creater has chosen.
3. Ageing - this is a function I currently have in my Legend of Hero's game engine. Basically the character ages over playtime, and the option is given to marry and reproduce an heir who continues the quest. In effect I've noticed that this causes the player to care about their character and his/her future.
Title: Re: Legendary Tales - Refresh
Post by: Throndir on August 05, 2013, 03:26:35 PM
Yeah one big thing about LT that became a limitation the more I worked with it was a lot of the hard-coded things.

Being able to configure and control how the mechanics of the game work would let the engine be great if one wanted to make a system similar to d20 or any other system.
Title: Re: Legendary Tales - Refresh
Post by: Grimston on August 05, 2013, 07:07:17 PM
So really you would have liked is the engine more dynamic.

I will change the layout to reflect this, and make it dynamic.


Currently in the background the weapon types are semi dynamic, I will not be difficult to make it fully dynamic.

Wizards, I will create wizards for almost everything possible.

I will also attempt to make it drag and drop.
Title: Re: Legendary Tales - Refresh
Post by: Throndir on August 07, 2013, 07:57:22 AM
I can imagine you can store definitions for everything. Currently you have Skills, Races and Classes, it could be extended to have subfolders of weapon definitions, or any of the other ones I listed like Magic Type definitions, damage and defense definitions, and statistic definitions. Items and weapons could possibly fit too, lol.

Ultimately you're the one developing this, so choose which features are the best to add. If you decide to leave the code open-source, someone else in the future could go in and add in the features they wanted themselves.
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on August 07, 2013, 08:48:19 AM
A possible approach may be to have custom items written to a XML or a CVS file, anything that can be easily opened and read by the modder. It's similar to the approach I'm using with my current project, which when the site is up I'll have a blog on it as well as this :)
Title: Re: Legendary Tales - Refresh
Post by: Grimston on August 07, 2013, 08:58:57 AM
This is true, at the moment I'm just using .net's XML serialisation. I have been thinking of making a module system for the editor. This way instead of a single massive project, If I expose a API to use, then create modules that will then be loaded to produce the bulk of the editor.

Doing it this way would probably mean I will need to rewrite a lot of the code, but the added flexibility would be well worth it. It would also lead to community driven module plugins for it.

Modules would then be able to store data however they choose, be a binary file, TXT, XML, CSV, or even SQLite Database.

Edit:

To expand on how this will actually work, There will be certain events that will make up the game. And plugins can expose the editor to those.

I have started writing the new editor, and I will create a more dynamic set of editor controls in the core plugin.

The plugin system is semi implemented, you can have more then a single plugin per dll in the Plugins Folder.

Plugins can also be created in any CLR compliant language. As long as they reference the Plugin.dll included with the application.

There is also a Set core feature set, that plugins can use to expand on.

I have decided to use MonoGame, this will then allow me to create a basic 2D API, and better skinning systems. While it would be designed to be a Text RPG Game Creator, I hope to make it possible to extend that to 2D games as well... as a start :D

I will also start on the compiled game, and then build the editor API, and Base Plugin at the same time.

I will expand on the plugin system soon.
Title: Re: Legendary Tales - Refresh
Post by: Throndir on August 08, 2013, 06:34:20 PM
This is great news! Willing to support this anyway I can, so if there's anything we can do just let us know.

Looking forward for the next releases of this, and I'll definitely get in touch with past LT members to see if I can bring them back when this is more fully featured.
Title: Re: Legendary Tales - Refresh
Post by: Throndir on August 09, 2013, 10:42:09 AM
Also looking forward for this plugin system of yours. Your engine's going to be a lot more dynamic and because of that, a lot more powerful than the original LT. Opens up a ton of possibilities! :D
Title: Re: Legendary Tales - Refresh
Post by: Grimston on August 10, 2013, 08:31:28 AM
Always good to know there is support  ;)

I have been thinking on what sort of GUI controls I would really need to implement, so far the list includes

I also have a base Control, that can be used to create custom controls. The UI Library also supports skins, and has a very basic built in skin, using just plain colors.

I don't really have the time to put effort into creating a skin with images, but it will also be supported, to add more flair to the resulting game. If someone would like to create a skin for this, I will, once I finish it up, supply the basic structure of the skin file.

What other controls should the library implement?

Also, I have a little challenge!

The project has a new name, the abbreviation is: XGCE

Can anyone guess the name?  ;D
Title: Re: Legendary Tales - Refresh
Post by: Throndir on August 10, 2013, 09:06:46 AM
Xtreme Game Creation Engine!
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on August 10, 2013, 12:20:59 PM
Only things I can think of right off hand is:
The GUI TextArea for descriptive text of the scene
and an AreaInventory perhaps that shows what "mobs" are crurrently in the scene will statics too not just mobiles.
  - Seperate panel with clickable names for more info (hrefs)

Untill I actually see the layout of the GUI can't offer much more :D


Nope, lol.

I just know it's none of my suggestions :D
Title: Re: Legendary Tales - Refresh
Post by: Grimston on August 14, 2013, 05:24:21 AM
EXtendable Game Creation Editor

Due to the time its taking me to create a working GUI system in MonoGame, I will place that side of things on hold, and just use a more simple WinForms approach for now. My original Idea was to port Neoforce Controls, from XNA to MonoGame, but by doing so, I encountered too many uses of key features not yet available in MonoGame. MonoGame is under constant development, So I believe these features will be soon implemented.
Title: Re: Legendary Tales - Refresh
Post by: Throndir on August 16, 2013, 10:37:08 AM
Getting a first working version will be great idea I think. I'm looking forward to start working on it when it's ready. At the very least Hasabushi and I could start giving you more input as we work with it.

Also I'm looking forward to see how plugins and skins will work. I want to try my hand at making some lol.
Title: Re: Legendary Tales - Refresh
Post by: Grimston on August 18, 2013, 07:07:48 PM
My idea with plugins is to allow extension of the default client, since this project is in .net, I will take full advantage of the framework, plugins will need to implement a interface from the framework, and will have access to the scripting engine. Which will be IronPython, IP also has methods to access the .net framework.

Changes so far.
Launcher is finished and will update the program if required.
The current setup will download a zip file and replace old files with new files.
The launcher will also self update, by downloading the new exe.

Setup program for windows. - currently does not check for .net
Linux users will only need to download and unzip the program, I will also add a shell script to download Mono for Linux.

The editor will accept IEditorPlugin interfaces, allowing more game type to used. Default plugin provided will be the TextRPG plug.


I will provide the source code of the text RPG plugin, as well as a plugin to create a 2D/3D game which will show how to implement MonoGame in both the editor and client.
Title: Re: Legendary Tales - Refresh
Post by: Grimston on September 09, 2013, 08:53:25 PM
After lots of talking to my self mostly, I have decided to lower for now, my outrageous high goals for XGCE.

Currently, I have implemented the Python Scripting, That works well
Stopped using the .NET serialization, using my own implementation, so older projects will be able to be converted to new versions.
Added bare bones for encryption of scripts and text files.

I think I will write a more abstract script engine wrapper.

That will allow me to support more scripting languages, the following are more then possible,  they are quite simple to implement,

C# - Yes as a scripting language
Ruby - using IronRuby
JScript - .NET Implementation, Not sure if Mono Supports it... using IronJS
VBScript - again .NET and again not sure about Mono Not Supported On Mono, fully anyway

I would like to know what you think about this.

I have Also started work on the Scripting API, works nicely with IronPython, it acts as a module you can Import and use as a Class.

for example

Code (Python) Select

from TextRPGAPI import Messaging

def OnStartUp(API):
    mAPI = Messaging()
    #Message Box Args (string message, string title)
    mAPI.ShowMessage("This is the on startup method inside the python file","Python Alert")
   
def OnFirstEnter(AreaName):
    echo("This is the start of OnFirstEnter!")
    echo("The Area is called " + AreaName)
   
def Heal(CurrentHealth, MaxHealth):
    echo("Fred: I See you are hurt, Let me help you!")
    #We will heal, 10 HP at a time, Up to the max Health allowed
    pHealth = CurrentHealth
    if pHealth > 0:
        if pHealth + 10 >= MaxHealth:
            echo("Fred: Well you where not quite as bad as I first thought.")
            return MaxHealth
        else:
            pHealth += 10
        echo("Fred: Well you should feel a little better now.")
        return pHealth
    else:
        echo("Your dead buddy!")
   
def echo(msg):
    print msg


Compiles and runs flawlessly
Title: Re: Legendary Tales - Refresh
Post by: Throndir on September 10, 2013, 08:26:19 AM
C# as a scripting language will be interesting. I think the idea is sound, it's not too much work to implement multiple scripting languages?
Title: Re: Legendary Tales - Refresh
Post by: Grimston on September 10, 2013, 08:41:51 AM
In theory, no.

My idea is to use a ScriptController, it will then read the name of the file, pickup the extension, and use the correct run time for that language.

Python - py
Ruby - rb
JScript - js
C# - cs

Python works, and works well, C# should be fairly simple to do, as both .NET and Mono have a C# compiler, and there is always this project here: http://www.csscript.net/ (http://www.csscript.net/)

The main difficult part I foresee is getting them to talk back in a predictable manner.... I will just create a basic ScriptController, for Python for now.

I will be focusing on getting it working with just Python support for now, as others can be added later. I will try to keep updating the progress here as well.
Title: Re: Legendary Tales - Refresh
Post by: Grimston on September 11, 2013, 02:55:17 AM
Holy C***!

Just found a possible nightmare with the DLR...

Code (Python,Ruby) Select

from System import Array

paths = [r'C:\Program Files (x86)\IronRuby 1.1\Lib\ironruby', r'C:\Program Files (x86)\IronRuby 1.1\Lib\ruby\1.9.1']
array = Array[str](paths)

source_code = "require 'date'"

from IronRuby import Ruby
engine = Ruby.CreateEngine()
engine.SetSearchPaths(array)
source = engine.CreateScriptSourceFromString(source_code)
source.Execute()

RubyDate = engine.Runtime.Globals.Date

date = RubyDate(2013, 9, 11)
print date.year()


Debugging nightmare is fairly possible... But... It does raise some rather interesting thoughts, maybe this interoperability will be useful.

Edit:
Whats happening, it starts as a Python script, which then imports Ruby, then it creates a new script engine, imports (requires) a Ruby module (date)

Then it runs the script and then Python is able to use the Ruby object Date, to get the date the way a Ruby script would, inside an executing Python script.

So you can in effect, jump from Ruby to Python at will.
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on September 11, 2013, 05:43:01 AM
Eww looks and sounds messy. I'll comment on this more later.
Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on September 11, 2013, 06:22:54 AM
<Not Regarding the Game>

Okay so Grimston, I'm getting you a section set up on the new FWC.

You'll have the following so far:


Oh also you will have a personal blog that will be used for posting code snippets, screenshots and whatever else you choose.
The downloads can also be hosted on the site, plenty of bandwidth :)

Let me know if there is anything else you will need :)


Title: Re: Legendary Tales - Refresh
Post by: Hasabushi on September 11, 2013, 06:30:43 AM
In regards to the python/ruby issue:

It looks like debugging would be extremely painful, although I do see some strong pro's of using this method. Just curious as to what IDE you are using for coding/debugging? Or are you a command line kind of coder ;P
Title: Re: Legendary Tales - Refresh
Post by: Grimston on September 11, 2013, 06:38:45 AM
That seems to really cover everything. Cant think of anything else I would need at the moment.

I know i should use Source Control, just cant be bothered :p

---------------------------
Visual Studio 2010 2012 (Whoops) Express

And yeah, debugging would be nasty, but that is also if you use that in the scripting.

Script Errors, are picked up when running, and a dialog is displayed, showing where the error occurred in full. Should make it a little easier, then just "Script Error line 27" which the original LT displayed. Painful debugging process..

--------------------------
Edit 2:
I am interested in localizing the editor, by my language system. it looks like this for english, and Google Translated German (For example)

Code (ini) Select

[en]
Title = "Text RPG Game Creator"
New = "New"
Open = "Open"
Exit = "Exit"
OpenProjectTitle = "Select a project to open"
[de]
Title = "Text RPG Game Creator"
New = "neu"
Open = "?ffnen"
Exit = "Ausgang"
OpenProjectTitle = "W?hlen Sie ein Projekt zu ?ffnen"


It looks up the system language and uses the part code for known supported languages (en-US, en-GB are just pushed back to en)

By default if no language is found for your system English will be picked.

There will also be a settings window to change this.

It will also add new sections to the settings window should you add an extra language.

In the event something new is added, or even missed out in the translation process, the Language Code (The Left Most text in the ini file) will be displayed, This will make it easier to catch missing translations

I am hesitant to rely on Google translate, as it never gets it right...
Title: Re: Legendary Tales - Refresh
Post by: Grimston on September 18, 2013, 06:33:54 PM
first off, there is the edit 2 section in the post above.

I have slowed on the development recently due to my nanna passing away 5 days ago now. I will be resuming development soon.

I will also be taking a new approach and will be following the LT style client manager.

the new client will also allow for shortcuts to make it easier to play a certain game.