Print Topic - Archive

Darkshade Forum  /  General Discussion  /  RPG Needs a Name
Posted by: Diddly, January 20, 2010, 11:06pm
As usual, not content to limit myself to one (or two, or three) hobby projects, I've started work on an MMORPG you can play in your browser.  What makes this one interesting is two things:
1) Total Character Freedom - You never have to limit your character to "Paladin" skills, or "Rogue" training, or magic.  Whatever experience you gain, whatever attributes you use most, will mold your character accordingly.  As those attributes go up, you can find people to train you new skills in those areas.  So you could be a Necromancing Warrior Assassin Bard if you wanted.
2) Faction Conquest - As you perform tasks and go on missions, you effect the influence your race has on the region.  Each region can shift fealty to one of two factions: The Faelor or The Auran.  Missions change depending on whom controls the region.  If the entire island falls under one side's rule, new missions are unlocked for that faction!

When you start, you choose your faction:
The Auran - Value might and metal (think Conan the Barbarian's world)
The Faelor - Value balance and nature (think Druids)

No levelling!  No XP!
The stats you use go up as you use them.  Trainers will teach you skills appropriate to your stats.  Eg. Shabadu will likely play a rogue-like character, so will spend a lot of time building his agility.  At some point he finds a cutpurse willing to train him the stealth skill.  He still can't fight worth a damn, but he'll be hard to spot.  Conversely, Hawkeye will probably attack anything that moves.  His strength will go up significantly, but until he works his agility, he won't be able to learn to sneak.

The Stats
Each character starts with 1 point in each of these areas:
Observation - finding items, spying, spotting social cues
Strength - inflicting damage, resisting toxins, health
Intelligence - healing, skills you can remember, spells
Agility - sneaking, spying, dodging, speed, avoiding traps
Charm - dealing, currying favour, blending in

It's not all hack and slash
Although there will be plenty of things and people in need of killing, you don't necessarily have to be the one to do it.  Aside from teaming up with other people playing at the same time as you, effort will be made to make the game move forward even if you don't harm a fly.  It will probably be harder, but hopefully there'll be enough incentive to keep the game from being a mass of barbarians running around.

The clincher
You get to make the maps and missions!  No, not all of them.  I'll make a few, so there's something to start with.  But the game will be designed so that it can grow.  Over time, this island should get pretty huge.  I will include instructions on map making once I settle on a format.  I tried going with just a simple text editor (eg, notepad) but it took too long to get the map made, and the missions would get too hairy to follow.  So I'm trying some other things.  Here's my latest attempt at making a map for the Faelor landing.  (Each faction lands immigrants on the island, trying to take it over.. that's how your character arrives).

Comments or Suggestions are totally welcome, especially since this project is still in the design phase.

Posted by: Shabadu_SMH, January 21, 2010, 12:10am; Reply: 1
Looks a little like some of the Ultima games back in the (v-vii range)!

I've got no specific suggestions yet but love this idea - hey if we can't get an actual live game of Warcraft going, this will do!

I think you should call it WoD (World of Diddleycraft) ;)
Posted by: Diddly, January 21, 2010, 8:29pm; Reply: 2
So far we have:
Diddlycraft
ConQuest Island
Ladleland
Wankerland
Land of the Dark Mists
Perpetual Onslaught Island
Isle of Everwar
Evencleft
Posted by: Diddly, February 18, 2010, 7:42pm; Reply: 3
Shabadu and I were talking at lunch today about this game.  Specifically, we were discussing combat, and how it would work.

One of the key requirements I gave myself is to keep gameplay simple.  You want to interact with anything?  Just run into it, and the default action will occur.  It's a door?  You open it.  It's a locked door?  You try to unlock it.  It's a friendly npc?  You talk to it.  And if it's an enemy npc, you attack it.

But what if Shabadu and I are both playing and run into the same monster?  How does that work?  How does combat work even for just one on one?

The latter question is the easier one.  Remember the old BBS game The Pit?  I think when you engage an enemy a "combat window" opens and you face each other in this window.  Able to run around shooting, zapping, punching, whatever.

So how about when another player comes along and wants to join in the fight?  Simple!  They appear in the combat window as well!

I think the combat window might be the first thing I work on for the actual game.
Posted by: Diddly, April 12, 2010, 4:34am; Reply: 4
Progress report on the nameless RPG:

I've built the foundation of the server for the game editor, and have started on the editor itself.  Maps can be drawn at any size, but are made up of tiles 48x48 pixels.  You can upload your own tiles, which are organized into categories.  (Screenshot shows this function).  

Each map comprises of 3 layers:

Once I iron out a few bugs, I'll make the editor available so people can start designing their maps.
Posted by: Diddly, April 14, 2010, 2:39am; Reply: 5
More progress on RPG:

1) I've fixed a DB issue in the back end, so Tiles now save and load correctly.
2) I've fixed a tree rendering issue for the categories, so the tree renders properly.

Now that tile categories and tiles are working as expected, the next step is actual map editing!

Here's another screenshot.
Posted by: Diddly, April 15, 2010, 4:01am; Reply: 6
RPG Editor v0.1 is live.  Here's what you can do so far:
- add tile categories
- add tiles to categories
- load tiles from categories
- create new maps
- load existing maps
- edit all 3 layers of maps
- save maps
- view all or single map layers while you work.  (Be aware, you CAN be viewing a layer different from what you're editing, so wouldn't see any changes!)

You can access the editor here:http://darkshade.homeip.net/rpgeditor

At this point, you could start building the groundwork for your RPG maps.  From this point on I only expect to add more features.



Posted by: Diddly, April 15, 2010, 8:15pm; Reply: 7
Next things to add to rpgeditor:
- "Erase" Tile.  I'll probably put that in the Root category.
- Prevent user from editing one layer while looking exclusively at a different layer
- Edit Tile ability, even if it's just uploading a modified picture.  Some of these tiles already would look better with transparent backgrounds
- a "Cursor", so you can tell where the tile would get placed if you clicked.
Posted by: Diddly, April 16, 2010, 2:09am; Reply: 8
RPG Editor update:
- added _ERASER_ tile.  It appears in every category as a Pink Pearl eraser.  Use to it remove a tile from the current layer
- When viewing a specific layer, you will be editing that layer.  Switching back to viewing all layers leaves you editing the last layer you were viewing.

That should be enough to get started.  I look forward to seeing what people come up with.  There's already been some surprising tiles added.
Posted by: Diddly, April 17, 2010, 12:34am; Reply: 9
RPG Editor update:
- Fixed "Open" bug, where only the first map in the list was being shown.
- Added "Move" option for tiles, so they can be moved between categories
- Added special Trash category.  Yes, Tiles can't be deleted, but you can throw them in trash.  Tiles in the trash category can not be used to draw on maps.
Posted by: Diddly, April 17, 2010, 3:02pm; Reply: 10
RPG Editor update:
- Added Export function, to save an image of your map on your computer
- Added Update Tile function.  Allows you to edit the name and image of the currently selected Tile.  You can save a copy of the tile to your computer and edit it using your favourite image editing software, then upload the edited result back to the server using the same dialog.

An example export:
Posted by: Diddly, April 17, 2010, 6:03pm; Reply: 11
Another RPG Editor update:
- Added Flood Fill capability.  Now you can paint (or repaint, or even erase) large areas with a single click.  
- Added mode buttons for switching between Draw, Fill, and Select

Select Mode will be for selecting the properties of interactive objects.  It is currently just a place holder for later.

Posted by: Diddly, April 21, 2010, 2:24pm; Reply: 12
I've updated how the RPG Editor saves and loads maps, and thus how they get transmitted between server and client.  This has drastically reduced the amount of time spent waiting for a map to load.

No data was lost, but make sure you clear your browser cache so you know you're running the latest editor.
Posted by: Diddly, April 23, 2010, 2:43pm; Reply: 13
One final update to the RPG Editor for a while.  No need to worry about browser caching, I've got it covered.

- Added progress bar to map loads
- Added "cursor" such that if you have a tile selected, it will appear semi-transparently on the map square your mouse is currently pointing at.  This helps tremendously with editing.

Now I'm going to start working on the gaming side of this RPG.  My next goal is to let you log in, create a character, and walk around some of these maps.
Posted by: Diddly, April 26, 2010, 3:19am; Reply: 14
Isle of Everwar game progress:

I've started working on the actual game side of things now.  Using the Union Platform for server communication, in conjunction with the existing Web Services I wrote for the editor, I have been able to log a user in and load a map.

The wiring is in place for multi-user communication, but I got a bit stalled on the graphics.  I was going to use FlashPunk but it got really difficult to get the graphics in a format that library wanted (which is ironic because it's already in the format FlashPunk derives for its own use!)

So instead I've started building my own graphics engine.  Here's a screenshot so far.

Posted by: Diddly, April 26, 2010, 9:50pm; Reply: 15
It's starting to look like a game!  Things I've added:
- A minimap, that highlights the visible area
- An avatar to run around with
- The interactive layer, including blocking the avatar from moving through objects
- Proper chat box, which communicates between players.

Here's a screenshot:
Posted by: Diddly, April 28, 2010, 1:19am; Reply: 16
Here's an idea of how to handle death in Everwar.  Thanks to Chiquita who sparked the concept!  When your character dies, you immediately appear in a graveyard.  The graveyard is actually a randomly generated maze of headstones, of which you must navigate your way out to return to the land of the living.  This will bring you back to where ever you first appeared on the map where you died.

This gives you a little puzzle to solve while adding a delay penalty for dying.  Much more entertaining than simply "running back to your corpse" or simply respawning in a church somewhere and having to start your journey over again.

Also, by reappearing at the "entrance" to the map, hopefully that'll be safer than the exact spot where you died.  Considering whatever killed you is probably still there.
Posted by: Hawkeye, April 28, 2010, 11:59am; Reply: 17
I WANT TO KILL GOBO!  With his uncle Matt's help!
Posted by: Chiquita, April 28, 2010, 2:32pm; Reply: 18
i have a dora gif we can use instead
Posted by: Diddly, April 28, 2010, 11:27pm; Reply: 19
Game Progress:
- I've implemented a login system (shared with the updated Darkshade Chat)
- You can have multiple characters per account
- You can create and load characters
- Characters are started in their faction's starting place

Here are some pictures:
Posted by: Diddly, May 9, 2010, 6:43pm; Reply: 20
Everwar update:
- Rendering problems fixed!  Tree tops now appear over your player (so yes, you can hide in the bushes)
- Player offsets corrected, so you only see each other when you're supposed to see each other and where you're supposed to see each other
- rendering engine improvements.  
        - Rather than keeping track of visible 3 layers, I was able to compress it into 1.  Means less memory usage in your browser.
        - Updates are handled by frame rate, rather than as changes occur.  Prevents clobbering from simultaneous multiple occupant updates
        - Enables potential for tweening (rather than "jumping" 48 pixels every move, your character "slides" smoothing.  Note this hasn't been implemented, just is possible now.

As usual, a screenshot:
Posted by: Diddly, May 9, 2010, 10:42pm; Reply: 21
Everwar update 2 for today:
- Added delete button on character selection screen.  There is no "Are you sure?" prompt, so be sure before you click it!  :)
- Started adding some server smarts.  You may notice random messages appearing in the chat window.  That's just showing the server cycling through NPCs
- Discovered that for some reason, when I restarted the server, all our avatars were gone.  So if you see a skull instead of your character (as seen below) you may as well delete it.

Posted by: Diddly, May 20, 2010, 5:21pm; Reply: 22
RPG Update:
I've overhauled how characters are stored and updated.  This has the following benefits:
- No more silly "Refresh" button on the character selection screen
- Characters persist across server restarts (So no more skull n crossbones avatars)
- Character info (including position and health) is stored every time you exit an area.  This includes logging off/closing the browser!  So you can't cheat by just closing your browser to "undo" a bad decision.  :)

Posted by: Diddly, May 24, 2010, 12:20am; Reply: 23
RPG Update:
Make sure you're using at least version 0.3 of the editor.  
- Added ability to set the types of interactive objects in an area (NPC, Container, Exit)
- Added ability to create new NPCs.  You can reuse NPCs for multiple objects (eg. guards)
- Added client code to handle unique NPCs.  No more Homsars running around!
- Started work on quests, conversations with npcs, and game objects (keys, weapons, etc)

Here's some screenshots:
Posted by: Diddly, June 6, 2010, 6:57pm; Reply: 24
RPG Update:
- Added Interaction with NPCs (and other objects, but not yet implemented in editor).  So far the only option that works is "Leave" when you bump into something, but it's a start.
Posted by: Diddly, June 9, 2010, 2:43am; Reply: 25
RPG Update: *MUSIC!*  :D

I've been reluctant to add music to the RPG before now, simply because it would mean one of two things: a) I would have to embed a pre-selected set of mp3 files into the client (as done in Zombie Slaughter) which would increase download time, or b) I could allow the editor to save mp3 files to the database, which would then get downloaded with the maps, which would increase download time even more.

But now I've found a solution!  Some ingenious person has implemented a music scoring system known as MML.  MML (Music Markup Language) has been around since the 8-bit era, so it can sound a little like a Nintendo or Sega.  But since it's just text, it's easy to edit and save.  And TINY!  A five minute song would take less time to download than this smiley face here:   :o (assuming you're seeing the graphic smiley, and not the code that generated it)

This allows you to add your own background music to any map.  I've included the ability to play a piece in the editor so you can hear it before you commit it.  The music editor is available from the top menu bar.  You can even play around with the music editor without having to load or edit a map, in case you just want to preview some songs.

If you want to try your hand at composing, there is documentation for MML available here: http://mmltalks.appspot.com/document/siopm_mml_ref_05_e.html
A basic tutorial can be found here:http://forums.mapletip.com/index.php?/topic/118306-mabinogi-3ml-editor-tutorial/  Note that this tutorial, while useful for describing how to get started with MML code, is specific to the game Mabinogi.  The MML engine in my game is much more capable.
A good bunch of examples here:http://mmltalks.appspot.com/  Just click the name of the song to hear it play.  Click the right-most button beside the name to get the MML.

Note that MML is significantly more popular in Japan than here, so a LOT of the material you find on the web is going to be in Japanese.

Currently you can save and edit music in the editor, but the game itself ignores map-specific music until the next revision of the client is published.

Posted by: Diddly, June 10, 2010, 1:58am; Reply: 26
RPG Progress:
Probably the most critical aspect to telling a good story is the dialog.  I've been working on a simple to use, but powerful conversation editor.  It's not published to the site yet, but I'll let you know when it's ready.

For each thing an NPC says, the player has up to nine choices of response.  Each of those responses can have a precondition (like needing an item, or being on a quest) and an action (like giving the player money, or taking an item from the player).  The NPC can also respond to each of those choices, and thus spawns potentially nine more choices.. etc.  Why nine?  Because option 0 is always "Leave" and is automatically added by the game.

This gives you HUGE freedom in designing the interactions for your NPCs.  You can also share conversations between NPCs (write once, use many times).  Here's a screenshot so far.

Posted by: Diddly, June 16, 2010, 1:26am; Reply: 27
RPG Update: Conversations are now active!  You can now talk to NPCs.  Currently the prerequisites and actions for individual choices are ignored, but you can still give your people something to say.

How to Edit a Conversation:
While editing an NPC, you'll see a button to Change the conversation.  If you click that button, you'll get a list of existing conversations to choose from.  You can pick one of those, or create a new one.  You can even edit existing conversations, but be careful because any number of NPCs could use the same conversation.

Here's a screenshot of a conversation in game.
Posted by: Diddly, June 17, 2010, 3:31am; Reply: 28
RPG Update: Exits are functioning.  You can now save and edit exits between maps, and use them in the game.
How to Create an Exit
Step 1) Place an Unseen Object (from Object folder) as your exit, or use whatever visible tile makes sense (such as a door), on the interactive layer.
Step 2) Select your exit tile and change the object type to Exit
Step 3) Under the File menu choose Link Exits.  A window will display the available exits in this map.  Choose the one you want to link.  (The little graphics show their relative position, the one you select turns yellow)
Step 4) Choose the target map to link your exit to (can even choose the same map)
Step 5) Choose the target exit location on the target map.  Note, there must be an exit there for you to choose!
Step 6) You can now choose an exit from the target map to link.  This facilitates 2-way exits.

Here's some screenshots of creating an exit:

Print page generated: May 3, 2024, 5:54am