• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Multiplayer Content Creator - A new language and looking to improve it further

7
Posts
9
Years
  • Age 34
  • Seen Aug 14, 2015
Hi guys, I'm probably an unknown to most in the community here but I run an online pokemon project providing a multiplayer experience and community built game world called Pokémon: Dawn of Darkness. I've spent a fair bit of time over the last few months improving our development tools and this is the latest version of our NPC/Game World Editor. We would like to make the creative process available to everyone who's got a passion for making content, removing as much of the complexities of what's going on from the authors as possible ensuring content creation remains easy and fun :P

A humble goal huh {XD} It's certainly not an easy one. The more we want the system to do, the more complex some areas grow and as a result we would like to expand the number of users of the editing software, both from those who are seeking an audience for their creativity and also those who simply enjoy coding/scripting/tool creation which can offer their ideas/experience to help us improve. I'm the developer of the game engine and editing tools so don't hesitate to enquire about any missing details.

Quick Info:

Game Engine: Custom, PDoD.
Scripting Language: Also a custom in house creation, outside of condition checking the language very closely resembles plain English.
Editor Download 7.5MB (Requires installation): Editor Download
Game Download 150MB (Requires installation): Web Download Torrent Magnet URI
Game Media: Screenshots and Videos available
Credits: Click Here

Game Features:

- Free for everyone. An environment where you're encouraged to share your creative opinions and get involved with shaping the games development.
- One click access to PvP & player trading. Frequent tournaments and other competitive challenges available.
- Based around the 3rd generation of games graphically, although gen 1-4 Pokémon, TMs and moves are available.
- 200 in game items, 400 NPC Sprites, 100 player sprites, 390/450 moves working correctly.
- Roughly 400 maps available to the public, a further 300 available to the scripting team for development of our second region. All map content is unique to the PDoD universe and no two interiors are the same.
- Music and sound effects only available in our game.
- Low bandwidth and session reconnection to enable even those on the worst of connections and computers to have a fair and fun experience.
- Legendary encounters providing a unique twist, legendary perks and shadow Pokémon encounters.
- Nuzlocke game mode will be enabled this month, the feature provides a solid set of enforced rules and enables you unlock your lost companions once you fail or complete the challenge.

Scripting/Editor Features:

- Sprite/Face artwork galleries to make it easy to explore all of your options.
- The inbuilt script editor will highlight your issues as you type and provide useful insight in to fixing the problem.
- Function editor which as the name suggests works with a single command at a time. This is more of a learning tool than anything else as creating content this way is very slow, but it provides information about every parameter a function expects and tips to help you use it within your scripts too.
- Graphical interface to enable easy placement and property changes for NPCs and event triggers.
- We can create events triggered from entering a map, walking on a tile, speaking to a NPC or the end result of a battle.
- Scripting language during general use very closely resembles English. MOVEPLAYER UP 10\SAY Hello stranger\CHARSAY it's me again!\GIVEITEM UltraBall 5\WAITPLAYERMOVE
- Ability to create NPCs both globally and on a per client basis (Instanced NPCs), these can be provided with multiple behaviours
- Condition checking and access to insert values in to the scripts from the players account, or update the players saved data.
- The system does not allow for variable creation although allows for some basic arithmetic, as this is difficult to build in to the system while adhering to our main goals. This does not mean that complex processing cannot occur! But this is one of the key areas I would like to see improved.
- The Editor doesn't have a means to play your scripts locally, although for any which do take a real interest in the software we have a testing server which can be used to mess around with scripts.
- Holding the mouse over most controls will explain what the feature provides.
- Basic tools to help ease the process of cutscene creation, by being able to click and drag a path on the map which will be given back to you in script output.
- Both players and NPCs can produce dialogue with facial artwork, also involving multiple characters in a discussion or cutscene to create the perfect setting for your quests.
- Multiple shortcuts providing further features.
- The NPC Editor now provides a script preview mode, which essentially provides a stripped down single player client which you're able to play your scripts on. This makes the whole learning process much simpler and checking your scripts fun.

My main goal is to improve the toolset and scripting system itself, making them easier to understand and manipulate for as many people as possible. As the developer I tend to look at the system in a very different way from the end users as I spend the bulk of my time with the project with my head in the game engine. This makes it difficult to take a step back and understand where our problems lay in making the interface more intuitive for those alien to content creation or just new to PDoD. I first began the process of creating a text editor with error checking a few months back and I think it's been a great success but I'm no less eager to improve it further, please use the download links above and give me your thoughts for improvement.

I've provided some example maps and scripts within the installation and using the help menu within the editor will provide access to more references. Anything else just ask :)
 
Last edited:

Zeak6464

Zeak #3205 - Discord
1,101
Posts
11
Years
  • Age 31
  • USA
  • Seen Oct 9, 2023
Not sure of this , it feels like you want people to use ur tools on ur game.... but what is this going to do for someone who doesn't want to put stuff on ur game?
Could you release a LAN version of your game "Yes this would consider posting Server with Tools" that way you can call this an official engine for pokemmo games. Right now it's just tools for your game...
 
7
Posts
9
Years
  • Age 34
  • Seen Aug 14, 2015
Not sure of this , it feels like you want people to use ur tools on ur game.... but what is this going to do for someone who doesn't want to put stuff on ur game?
Could you release a LAN version of your game "Yes this would consider posting Server with Tools" that way you can call this an official engine for pokemmo games. Right now it's just tools for your game...

I'm quite happy for this to remain purely a discussion about the design of the language itself, its shortfalls and how to expand what we can do while keeping in line with the easy to read style we have already. At the same time my intention with this platform as a whole is a single unified gameworld to bring that creativity together where people can make use of an already established audience. Is enabling those who can't create content by existing means something to be snuffed at? Perhaps if you can't see the value in this, you may at least see some in having the discussion of the language itself as a basis for further understanding for people creating similar projects with goals closer to a fully downloadable pokemmo engine.

Even if this tool only caters to one online community, no one is denied entry except those which abuse our services or player base. Therefore you can enjoy your work with anyone of your choosing and thousands of other players which already visit the project. I don't see releasing a LAN server download as a viable object to fit in line with the project, the most prominent reason for this is its ability to lead to the compromise of our existing systems, as this wouldn't only land in the hands of content creators but trouble makers too. While we may not have the most sophisticated environment available, we do pride ourselves on a fair playing field free from hackers and abuse. I do understand that this poses a problem for those unable to meet the requirements for content to land on our live server because of quality control, easing the learning process in other ways is the best compromise we have available to us at the moment.


If I need to make the clarification, I'm not here just to try and get people to build the game as there's a game available already. I am here to understand how to make the process we have available easier and if people would like to use the software, they may do so. I find it quite difficult to know how to lay these kinds of topics out with the right information to attract the right audience, I previously targeted the rom section of this website to try and appeal to people already working on their own projects just looking to discuss the language. This topic was locked and I was sent here so I've chosen a different way to approach the discussion.
 
Last edited:

Zeak6464

Zeak #3205 - Discord
1,101
Posts
11
Years
  • Age 31
  • USA
  • Seen Oct 9, 2023
Well... you should of posted this thread in "Progress" not scripts/tutorial , but i do see were your coming from and to me it seems very easy to use for new people.

"Scripting Language: Also a custom in house creation, outside of condition checking the language very closely resembles plain English."
this confuses me , what Lang is it ? C++ , C# , Ruby ?
 
7
Posts
9
Years
  • Age 34
  • Seen Aug 14, 2015
I've copied and pasted a snippet of a basic scene after defeating one of the games gym leaders, as you'll be able to see it's the condition checking where things go a little wonky for us. It would take a little understanding of our scripting system to fully understand everything going on in this script, but I think it's easy enough to follow.

This is how game scripts are written, they are later compiled to something very similar to byte code on my side before they're fed in to the game server. That's why the purpose of the discussion is language design with an emphasis on downloading the editor to see the available interfaces and scripting commands, I haven't even named the scripting system and there's nowhere else it exists. The link to the game download enables you to see the scripting system in use rather than in the development environment.

Note: // at the start of a line marks a comment line intended only to explain the nearby scripts. Using the text editor within the npc editor provided will format these scripts in a way to make them much easier to digest.

Spoiler:
 
Last edited:
7
Posts
9
Years
  • Age 34
  • Seen Aug 14, 2015
Hopefully this is able to get a little more positive attention now that I can post clear links and we have a fairly large patch made available for the npc editor which I'm happy to get people using, it's a prebuild so it's not quite finished but it's stable and the autosave features will ensure no scripts are lost.

The main new feature is the script preview mode, which can be accessed by pressing Ctrl + F5 after loading up a game map. This will allow you to setup your characters saved data and then you may begin playing in the map to see the scripts in action, as commands are issued and events are queried you will see them logged on screen as they occur.

While this doesn't address what I feel are the main issues with our scripting language itself, it really does smooth the learning curve quite a bit :) it's very new and still needs to be polished up a little bit, but it does enable you to make the most of the scripting platform. You can load up the included maps and play through the scripting examples to get a fresh look.

I'm still really keen on feedback about the scripting language itself, the way we design the tools too, anything helpful and constructive which can help us to have an easier time making content and the language more intuitive :)
 

Zeak6464

Zeak #3205 - Discord
1,101
Posts
11
Years
  • Age 31
  • USA
  • Seen Oct 9, 2023
Hopefully this is able to get a little more positive attention now that I can post clear links and we have a fairly large patch made available for the npc editor which I'm happy to get people using, it's a prebuild so it's not quite finished but it's stable and the autosave features will ensure no scripts are lost.

The main new feature is the script preview mode, which can be accessed by pressing Ctrl + F5 after loading up a game map. This will allow you to setup your characters saved data and then you may begin playing in the map to see the scripts in action, as commands are issued and events are queried you will see them logged on screen as they occur.

While this doesn't address what I feel are the main issues with our scripting language itself, it really does smooth the learning curve quite a bit :) it's very new and still needs to be polished up a little bit, but it does enable you to make the most of the scripting platform. You can load up the included maps and play through the scripting examples to get a fresh look.

I'm still really keen on feedback about the scripting language itself, the way we design the tools too, anything helpful and constructive which can help us to have an easier time making content and the language more intuitive :)

Again this is kinda advertising your game that is hosted on another site...
I understand you want people to give you feedback on the coding it self, but the way i see it is how can we help you if we don't really know how everything is ran. Server --> Client , stuff like that.

I personally think you should release the server & client to open source , this would bring a lot more attention & maybe even be the 1st pokemon mmorpg engine to use. This would also give others the feeling of your software and could give you a lot more feedback on what the engine is all about.
 
7
Posts
9
Years
  • Age 34
  • Seen Aug 14, 2015
what relevance does the client<>server relationship have to scripting language design? Client<>Server relationship is game engine design, processing scripts would also be game engine design, where as this is an abstract layer well away from any of that kind of thinking, which is the whole purpose behind the creation of this project. (I did lead with this in my first post). I don't feel that open source here is really beneficial to my goals, which lay purely around discussion of the scripting language and behaviours we can generate from it - producing the code isn't so much an issue as the raw ideas and a mixture of experience. The NPC Editor alone is some 30k lines of code, I don't see people taking the time to read this in depth to sustain this conversation when most won't even take the plunge to download the editor itself - the script preview mechanism I note in my previous post gives a fairly clear overview of what's going on with the scripting system. Ideally we want to remove as many complexities as we can from the scripter.

As the player triggers an event/script/conversation the scripts are logged in an on screen display as they are run, so you're able to receive instant feedback from your input. There are script examples provided within the editor download.

As I said previously, this language comes down to near English in it's use outside of events and queries, the syntax falls apart a little and it's this which I'm looking to address. Here's a couple of basic examples of the scripting language where it works well and shouldn't need explaining of what's going on.

Code:
SAY Welcome to the game
CHARSAY What's there to do around here?
MOVENPC (npcMax) UP 2
MOVENPC (npcMax) DOWN 2
// This is a noteline. (npcMax) is created as the map is loaded.

Code:
SAY Welcome to the game
CHARSAY What's there to do around here?
MOVENPC (npcMax) UP 2
MOVENPC (npcMax) DOWN 2
SAY Mostly I walk around and spend my days like this, there's gyms and other things to get involved with if you wish.

Code:
CHARSAY I came to battle!
STARTASK Are you ready?|Yes#STARTBATTLE 10|No#CHARSAY On second thoughts, I left a few of my Pokémon in the PC... I'll be right back...

I feel that all of these above enable us to write conversations fluidly, creating battles, loading shops and other game menus is extremely simple.
Code:
CHARSAY I saw a masterball on the sign outside, you don't have any do you?
SAY We've got plenty, take a look around and see what you like
LOADSHOP 5

With a reasonable understanding of English almost anyone can decipher these scripts, it tends to take people a little longer to be able to write them usually but this is a hugely simplified process for being able to start creating NPCs and getting the ball rolling. The editor itself enables easy drag and drop functionality for placing the NPCs and setting them up to your preferences.

Code:
// A query in its most basic form.
IF {hasBadge} {1} {} {SAY I think you've got the makings of a champion!} {SAY You can't tell me what to do kid, you haven't even earned a badge}

My basic understanding of roms is that they also enable bit flags for storing data, we have the same thing but accessed in our own way.

Code:
SETFLAG 10 TRUE
IF {isFlag} {10} {} {SAY You've got the flag set to true!} {SAY The flag is false}


If I was on this forums looking for a player base I wouldn't be posting in this section :) It's people creating all kinds of other content, ROMs, their own software and/or other tools and the experience they'd had with those which will help to shape what we're doing with this. I bet this looks like a welcomed change to having to edit hex values and all sorts for a lot of rom hackers, although it may not immediately provide the flexibility they're used to there's a lot of options and they could share a lot of ideas for improvement.

If it's not a conversation you want to get involved with, you don't want to get involved it's as simple as that :P As you seem to make your games using RPG maker I would have thought a tool like this could be quite interesting for you, regardless of whether you want to build games out of it or not. It's effectively a stripped down RPG maker that we're building ourselves but its a long journey.
 
Back
Top