Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411498 Posts in 69373 Topics- by 58428 Members - Latest Member: shelton786

April 25, 2024, 08:23:06 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsRPG Playground - Make your own 2D action RPG
Pages: [1] 2
Print
Author Topic: RPG Playground - Make your own 2D action RPG  (Read 13321 times)
deWiTTERS
Level 1
*


deWiTTERS


View Profile WWW
« on: November 22, 2013, 10:41:34 AM »

Hi everyone,

I'm working on RPG Playground, a web app to create and play 2D action RPG's. Since I already received some great feedback in another topic, I'm going to update my development progress here in the hope that you guys and gals find it useful. Any feedback is welcome of course!


Play in your browser
Use the editor (create login first):
 - http://rpgplayground.com
Play sample games (doesn't require login):
 - http://rpgplayground.com/a-lill-girls-tale/
 - http://rpgplayground.com/forums/topic/the-legend-of-the-3-orbs-made-by-aura/

Vision
I want my users to create the RPG of their dreams, without too much hassle. This means no programming or artistic skills required, just design your own story and game.
The idea behind the editor is that playing and editing is as close to each other as possible. You can play your game, notice something that needs to change, and change that right away to see the impact.

Development process
The end product I have in mind is huge: battle systems, quests, items, multiplayer(?), multiplatform (Nintendo Switch, XBox, iOS, Android, ...), ... . So to keep things realistic, I'm using an iterative approach: Things are added gradually so that my users can already play around and create a simple game. After that more features will be added so that a full-blown RPG can be created, with all bells and whistles included.

Follow me
I'm on Twitter, Facebook.

Thanks for reading this!
« Last Edit: August 11, 2018, 07:49:21 AM by deWiTTERS » Logged

Alex Higgins
Level 2
**


@alchiggins on Twitter


View Profile WWW
« Reply #1 on: November 22, 2013, 01:02:08 PM »

Ambitious, but gnarly. Seems pretty robust so far.
Logged

My Dev Blog! >  Sassy Echidna Software
WIP >  Monsterpunk
Latest Game >  Bloodjak
deWiTTERS
Level 1
*


deWiTTERS


View Profile WWW
« Reply #2 on: November 22, 2013, 09:38:03 PM »

I just finished implementing that NPC's can talk. Each NPC has an associated face that goes along with it, and that one will be shown in the conversation dialog.

When displaying the text, I added a small pause right behind the end of a sentence. Because when you don't do this, it really looks weird that all letters are revealed at the same pace.

Logged

OniWorld
Level 2
**



View Profile WWW
« Reply #3 on: November 22, 2013, 09:42:42 PM »

This is pretty sweet, it might actually do really well if marketed through facebook.

  • X has invited you on a quest
  • X has asked you to play his new game

etc.

People love creating things on there.
Logged

kamac
Level 10
*****


Notoriously edits his posts


View Profile
« Reply #4 on: November 24, 2013, 02:04:21 AM »

I've noticed some stuttering when walking around (aka. the FPS is not still, but drops down once in a while).
This really decreases the end user experience. Do you get it aswell?
Logged

deWiTTERS
Level 1
*


deWiTTERS


View Profile WWW
« Reply #5 on: December 04, 2013, 07:42:26 AM »

I've noticed some stuttering when walking around (aka. the FPS is not still, but drops down once in a while).
This really decreases the end user experience. Do you get it aswell?

I think I know what you mean. It's not a serious drop, but still enough to notice it. I'll see what I can do to smooth things out.
Logged

deWiTTERS
Level 1
*


deWiTTERS


View Profile WWW
« Reply #6 on: December 11, 2013, 12:21:15 PM »

I'm currently storing all data online in a MongoDB. But hosting solutions for that are apparently really expensive per GB. I have some larger files, so I thought of storing those in some "cloud storage" solution, but even that is pretty expensive.

I'm probably going to resolve this by only having login data in the MongoDB, and the real data is going to be stored on a web server using a plain old file system. This last solution is dirt cheap, and probably faster than all the rest.
Logged

deWiTTERS
Level 1
*


deWiTTERS


View Profile WWW
« Reply #7 on: December 21, 2013, 09:11:54 AM »

I just released version 0.11! This release allows you to talk to NPC's, and edit their dialogue. You can try it at http://rpgplayground.com.

If any of you create any cool levels that you want to share, go right ahead Smiley.
Logged

deWiTTERS
Level 1
*


deWiTTERS


View Profile WWW
« Reply #8 on: December 23, 2013, 05:23:55 AM »

One of the hardest things about this project is figuring out what to do next. I'm using an incremental model where I work on the most important features first, to give the most value to my users. But I keep wondering what's the next thing that I need to work on. Currently I have 3 mayor things that can be improved:

1. The tilemap: this means adding more tilesets, animated tiles, multiple levels etc.
2. The game: fighting with monsters, health pickups, ...
3. The editor: more and easier tools to edit the tilemap, better GUI feedback, more things to edit, ...

My current focus is on 2. the game. And for the other ones just provide the most basic functionality that one would expect. But I sometimes doubt if working on 1. the tilemap wouldn't be better. Pfffff....  Undecided.
Logged

deWiTTERS
Level 1
*


deWiTTERS


View Profile WWW
« Reply #9 on: December 24, 2013, 06:48:01 AM »

I've noticed some stuttering when walking around (aka. the FPS is not still, but drops down once in a while).
This really decreases the end user experience. Do you get it aswell?

The latest version should fix this. I'm now running at 50 FPS instead of 30, and I'm doing movement interpolation to smooth things out. It is a lot smoother compared to the previous version, but there still seems to be a tiny delay in there. I'm using the timer to interpolate, so normally this isn't supposed to happen. Maybe a flash thing.

Anyway, what do you think?
Logged

DrSchizo
Level 0
***



View Profile WWW
« Reply #10 on: December 24, 2013, 08:00:00 AM »

Great, it looks nice!

Here are some remarks:
  • it took me some time to realise I could use as well the arrow keys to move around. It would be nice to inform people about such a possibility since for now, the mouse system is still really annoying (because of the lack of an A* pathfinder, but I guess that shouldn't be a problem later).
  • when you roll over an object or a NPC, it would be nice to have an information about whether or not you can interact with it: an arrow if you can walk there (like grass), a speech bubble if you can talk to a NPC and a cross if nothing is possible. Or maybe adding a dummy speech for every voiceless character ("..."). If not, you end up thinking that you can't interact with NPC if the first one you meet is speechless.
  • I use a really nice class for text animation in my own project. Is is called TextAnim and you can see a nice example here. Unfortunately, it only works with TextField and not with image generated text (like in Flixel or Starling)

I have one question for you: which framework do you use, if you use one?
« Last Edit: December 24, 2013, 09:05:42 AM by DrSchizo » Logged

One day, I will live in theory, because in theory, everything is possible!
Devlogs: Wind Fortress (RPG) and Sandbox Adventure (Visual Novels)
deWiTTERS
Level 1
*


deWiTTERS


View Profile WWW
« Reply #11 on: December 24, 2013, 04:27:40 PM »

Thanks for the great feedback!

The mouse system is indeed annoying, and I should fix that as soon as possible.

For the NPC dialogue, I didn't really know what to do with it. Adding 3 dots is easy, and was also already suggested by someone else. So maybe I should go for that.

I use my own "koon" library, which is about 10 years old now, and constantly improving. First started out in embedded C++, then for PC, python, and now ActionScript3. It has a core module that is system dependent, and the rest of the library builds on that (which allows fast porting). It uses a component based entity system together with model-view-controller. And for RPG Playground, it is now data driven, both the game that you create and the editor itself. My wet dream is that one day I can create the editor inside the editor Cool.
Logged

DrSchizo
Level 0
***



View Profile WWW
« Reply #12 on: December 24, 2013, 09:12:03 PM »

That is really interesting. It is nice to have a data driven application.

As for the AS3 core, do you use Stage3D? If not, would it be possible to implement it?

Depending on how your framework is done, it might be possible to display graphics through a libray like Starling. I don't know if you have study such a possibility, but it is easy to use, really powerful and much more CPU efficient (the performance gap is huge since it use the GPU for fast rendering). It is made to work directly with sprite sheets and you will moreover be able to use some really nice effects, such as the particle emitter, flowing lava or river, pixel shader (here as well). It has a complete UI components library called Feather.

As well, it can work with Citrus Engine, a game engine that directly integrate Box2D, Nape, Away3D and soon the really promissing Rave AI.

It might take some time to integrate it, but if it is possible, it might worth it.

You could:
  • create really nice spell effects with the particle emitters like I do at 0'34 in

  • use Nape or Box2D to make your hero to easily interact with objects like crates (pushing or smashing them)
  • manage artificial intelligence with Rave AI

I don't know if using Citrus Engine is possible, but depending on your framework, migrating the core to Starling might not be too complicated. I did it on my game and it is working pretty neat. Here is a tutorial.
Logged

One day, I will live in theory, because in theory, everything is possible!
Devlogs: Wind Fortress (RPG) and Sandbox Adventure (Visual Novels)
deWiTTERS
Level 1
*


deWiTTERS


View Profile WWW
« Reply #13 on: December 24, 2013, 10:18:22 PM »

I didn't know about Starling, but it looks really promising. Definitely going to look into this.
Logged

DrSchizo
Level 0
***



View Profile WWW
« Reply #14 on: December 25, 2013, 01:08:40 PM »

Don't hesitate to ask me questions if you have some.

I've got some suggestion about your editor, I will post them when I will have the chance to write it down!

And merry Christmas!
Logged

One day, I will live in theory, because in theory, everything is possible!
Devlogs: Wind Fortress (RPG) and Sandbox Adventure (Visual Novels)
DrSchizo
Level 0
***



View Profile WWW
« Reply #15 on: December 26, 2013, 10:57:02 AM »

All the following suggestion are based on what I would implement in such an editor. If some suggestions are quiet far from what you did, don't take it like a criticism, it is only my point of view and there is of course nothing bad about having a different one Wink

Objects

Adding object bigger than one tile can be quiet complicated. As in Tiled, there could be two kind of items displayed: tiles and object. Objects like tree and house will be therefore listed in a separate tab and add differently. For instance, instead of selecting all the three tiles to add a tree in a map, you could only select the tree in a list of object and automatically add it.

You could use texture packer to create texture atlases, and its already-made parser on Starling (it can of course works without Starling). It should be easy to integrate.

If objects are managed separately, on different layer than tiles, they could be placed freely, without depending on specific tiles. This will allow pixel perfect positioning.

Export format

For wider options and compatibility, you could use TMX Map Format:

"The TMX (Tile Map XML) map format used by Tiled is a flexible way to describe a tile based map. It can describe maps with any tile size, any amount of layers, any number of tile sets and it allows custom properties to be set on most elements. Beside tile layers, it can also contain groups of objects that can be placed freely."

There is already a Starling plugin that parses TMX Map Format. You can as well find a tutorial on how to make your own parser here.

Using TMX format will allow you to import easily your map in many games and to use some really nice Tiled script, like Import from Image. Moreover, objects could be placed freely, without depending on specific tiles.

Auto-tiling

Instead of selecting every tiles and adding them separately to the stage, you could select one texture - like grass, rock or water - and the tiles displayed will be automaticaly chosen according to the surrounding tiles.

If it not clear, you can find a better explanation here. I made some quick research on the subject and here are some interesting links: auto-tiling standardization, a tile template, a coblestone tileset, a discussion on TIG forum.

Most of auto-tiled template are based on JPG tiles. The more tiling textures you add, the more possible combinaison you have and the more complicate it becomes. And of course, it is exponential. This could be solved with layers and PNG tiles (such as the one you use). You are obviously already using layers since object are over rock that is over grass, no matter in which order you add it, like the statue next to the hero in this map, so it shouldn't be so much trouble.

Other editor

If you speak french, you can check out this other project in HTML5 (Node.js + Typescript) called "Ayolan":


And here some idea that are not directely related to the editor, but more to the game itseft:

Physic Engine

You could detect collision with Box2D or Nape. It is fairly easy to implement: starting from your already-made list of wakable tiles, you can create "boxes" that will be defined as solid object (the hero can't go through it). Box2D will then automaticaly detect collision and add nice features like bouncing on some walls, movable and destroyables crates... Of course, it could be use as well for throwing weapons like fireball or arrows.

Such engine are already implemented in Citrus Engine and there is alreay a script that create boxes from a TMX file. Even if you don't use CE, you can still get a look on the source code to get a better understanding of how to do it.

Artificial Intelligence

You could use

. There is no news on their website, but Citrus Engine main developer recently test it and said it would be released relatively soon.

Dynamic Lighning

Starling as a dynamic lightning plugin that allows you to make some really nice effect like here. Coupled with that plugin to light up torches (example here), you could make a really spooky night mode.

That's all for now, and that's alreay a lot!

I hope it will be hopeful to you.

Take care,
Dr Schizo
« Last Edit: December 29, 2013, 05:48:03 AM by DrSchizo » Logged

One day, I will live in theory, because in theory, everything is possible!
Devlogs: Wind Fortress (RPG) and Sandbox Adventure (Visual Novels)
deWiTTERS
Level 1
*


deWiTTERS


View Profile WWW
« Reply #16 on: December 26, 2013, 02:14:31 PM »

Thanks a lot to take the time to write this all down!

For the objects, this was already in my head to make it like that, although I won't support pixel perfect positioning in the near future. Auto-tiles was also already on my todo list. As matter of fact, RPG Playground had a desktop predecessor that I never released, but it already had auto tiles in there. So the technical part of that was already worked out (at least a part of it).

For the timing, I first want my users to be able to create a basic/minimalistic action RPG (Zelda like), and after that I'm going to improve everything related to the tilemap: more tilesets, objects placement, more tools, autotiles, animated tiles, etc.

I don't think my users are interested in exporting their tilemaps in a standard format, the whole idea is to have a complete integrated package. So I don't plan on spending effort into this.

I really like that dynamic lighting, and haven't really thought of that before. That 3D lighting probably isn't realistic with my kind of 2D tiles, but in the long future this would be cool. By the way, Courier of the Crypts has some nice lighting if you haven't already seen it:

.
Logged

DrSchizo
Level 0
***



View Profile WWW
« Reply #17 on: December 26, 2013, 03:58:09 PM »

Nice effect on CotC!

I recently support a software on Kickstarter called Sprite Lamp that has been made to add dynamic lightning to 2D sprite: http://www.kickstarter.com/projects/finnmorgan/sprite-lamp-dynamic-lighting-for-2d-art

It looks really promissing, though it will be a lot of work for an RPG, since you will have to make four shadows for each sprite in order to generate a "normal map". But I guess that with enough work and all this technics combine, one could make a hell of lightning effect!

Your users will surely not be interested in exporting their tilemaps, but it could be useful for you in long term. Such an editor could be perfectly use for other type of game like a platformer. If you do such a game, you will definetely want to use a framework like Citrus Engine (that already deal with almost everything you need for a platformer). So it could be interesting to make the change now to avoid doing it in the future (and having to deal with two different formats). But with a limited time and/or no willing to use the editor for other things or other frameworks, I surely understand it is not a priority for you!

Anyway, you shouldn't listen to me too much. I guess you have already enough work to do to add more things to your todo list Wink
Logged

One day, I will live in theory, because in theory, everything is possible!
Devlogs: Wind Fortress (RPG) and Sandbox Adventure (Visual Novels)
deWiTTERS
Level 1
*


deWiTTERS


View Profile WWW
« Reply #18 on: January 14, 2014, 04:52:27 AM »

I finally have proper pathfinding up and running. I limited it to a maximum distance, and maximum complexity (going round objects), because I don't want players to rely on smart pathfinding. The hero just needs to walk more or less in a straight line to the point that was clicked.
Logged

deWiTTERS
Level 1
*


deWiTTERS


View Profile WWW
« Reply #19 on: January 16, 2014, 02:36:44 AM »

After reading the replies on whether or not an RPG needs a combat system, I decided to aim for an "adventure" game first.

My initial thought was to aim for a Legend of Zelda type of game, with the focus on simple combat, and not so much on story. But during the process, it became clear that some story functionality can't be skipped. It also became more clear that my users want to create stories, which is probably the main reason why you want to use a tool. Action based RPG's probably need more tweaking that is hard to do in an easy to use tool.

So instead of aiming for an "action-adventure", my aim is now set on the "adventure" part first. But don't worry, after that part is complete, I will move over to an action-adventure, and finally a full-blown RPG.
Logged

Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic