Single Player Maplestory?

Chat about anything not covered in these forums, but keep it civil!

Post » Mon Jan 13, 2014 10:04 pm

Is construct capable of creating a game like maple story (large-scale sidescroller adventure game) and add character classes, drop tables (rare, uncommon, etc). A few friends and I have some good ideas and want to start working on it soon. We just don't want to get in over our heads.

Thanks!
B
2
Posts: 1
Reputation: 152

Post » Sat Jan 18, 2014 10:36 pm

Yes, definitely!
I spent many months making a clone of MapleStory in which it is single player and has more fast-paced gameplay. It was my first project ever in Construct 2, although I did use MMF2 and other software for a few years before I found C2. I spent so much time working on it on my own, using the Scirra forum to ask questions I needed to ask here and there, and came out with this!
I'll upload a video so you can see what I managed to make.
Here is vid:
[TUBE]http://www.youtube.com/watch?v=eRywKLbrF7M&feature=youtu.be[/TUBE]


But anyway, to answer the specific details,

Large-scale sidescroller
Yes, definately, as long as you design the level appropriately (Not one massive 10000x1000 image, but instead, lots of small repeated tiles/scenery.) You should check out Remember not to waste your memory and also take a peek at the Tilemap object for level designing efficiency! (I personally didn't use the Tilemap object, it didn't exist at the time I made the game!)

Character Classes
Yes! Depending on how you plan to implement the logic behind this, this could be a breeze. It would tie in with other things like if you planned to "Only warriors can equip 2H swords", then that would tie in to the inventory logic, where upon attempting to equip something, detect the class that the item allows, and detect the players class, and if they match, then equip. If not, then popup message saying "No" :P
All items could be in one "Family" called "Items", which would allow you to assign Instance Variables to that family, such as "Name", "Description", "Str", "RequiredStr", which will make it super easy to implement things later on like inventory/equip stuff! Making "Class specific" items (like, how to assign the property to items so that they can only be worn by 1 or 2 classes) could be done in several ways but my mind is currently blank on that right now, very tired indeed lol.

Drop tables
Yep :P See, here is where I should probably say "Use Arrays/Dictionaries/XML" or something, but when I made my game, I didn't use anything except pure Construct 2 events. I do recommend you learn about those things if you don't already, I reckon they'll allow you to handle drop tables really well. You can have all the properties you desire, like rare/uncommon (You could do it like Maplestory with the % chance, I think I made the Blue snail shell in the video have 90% chance of dropping or something), you just need to prepare the correct logic to make that sort of system!

You're not in over your heads at all, it's totally possible to do it, I've done what I've done single-handedly, I can imagine you and your friends working together as a group would end up creating something way more cooler (and neater)!

If you have any other questions, I'm more than happy to answer them :)
B
51
S
20
G
10
Posts: 571
Reputation: 9,819

Post » Sun Jan 19, 2014 3:48 am

@Jase00 Great work! That maple story fan game looks awesome,Where can i play it?
GMO FOOD = DEATH
B
23
S
9
G
5
Posts: 567
Reputation: 6,368

Post » Sun Jan 19, 2014 4:52 am

@Wolvyrne:

As you can see, people have built some impressively large and complicated games in C2 already; like Jase00 says, Arrays (and also Dictionary's) are a good bet for managing a complex game like an RPG.

With the last few iterations of C2 it's capabilities have greatly increased. Tilemaps are a massive optimization for tile based games, the new asm physics have made that behavior viable even on mobile platforms, and the recent collision engiene optimizations offer improvement on the scale of magnitudes in certain cases.

And keep in mind that most of the games that have been completed at this point haven't even been able to take advantage of ANY of these improvements.

C2 has a bright future ahead of it.

@Jase00

I don't know a lot about maple story, but your game looks good! Would probably run like butter with tilemaps. Why did you decide to shelve it?   
Don't lose your work. Backup your game with Dropbox.
B
44
S
10
G
10
Posts: 1,106
Reputation: 9,187

Post » Sun Jan 19, 2014 6:17 pm

@RookieDev
Thanks! I never actually released it or put it up anywhere due to nobody really being interested in the project. I guess if there was more demand to play it, I could spend some time cleaning it up and put it up on the Arcade or something :P

@TiAm
Hey thanks! I have a few reasons why I stopped working on it, mainly because I was enthused by the Tizen Challenge which meant I had to make a game with my own content (not MapleStory images lol), as well as how messy I designed the game.
MapleStory has literally hundreds of clothing items, each with their own Origin points and frames (there's probably around 50 frames per clothing piece, not to mention certain items were in two's (One shirt would be the "Shirt" and the "ShirtOverArm" pieces, so that's 100 frames to import and align!). There's already lots of tools out there to generate XML files for the origin points, but I didn't know and didn't want to risk trying to load XML's and whatnot in Construct 2, so I would just look at the XML file of an item and align it manually in C2's animation editor. Could take 30 minutes to do 1 item, an hour if it's a top or gloves!

Also, I didn't design it to be very modular (I believe that's the correct word), whereby if I change a small piece of one thing in the events, it would break 100 other things, such as in the video at 5:16 onwards, you see the window popup with a glitched character; I had designed that menu perfectly: you'd see a clone of your character within that window which you can change the hair and haircolour (same with eyes and eyecolour), but because I tried adding something new (I think I tried adding different body skin tones or tried making it possible to import animation frames externally from a folder, I forget lol), it made characters break in those windows. So in the end, it'd be better to just start fresh

Another point is that nobody noticed the game, and I fail at marketing/advertising, never really felt good about going to forums to flood them with my game, I think I did it once and it got me nowhere lol.

The most main reason is, I'd be damned if I put all this time and effort into the game, just to get sued for copyright infringement because I used images/sound that's owned by Nexon (MapleStory company). I'm now making a project which uses things I had made/planned to make in my MapleStory game, except it's better designed, and is no longer a copyright claim waiting to happen
B
51
S
20
G
10
Posts: 571
Reputation: 9,819

Post » Sun Jan 19, 2014 10:31 pm

for the layouts do you load from the file or load using C2 Project?
Do you put your variables on sprites or used them on a dictionary object?
for sprites do you load them from file or it is made from the c2 Project?
thanks :D
B
14
S
2
G
1
Posts: 46
Reputation: 1,144

Post » Mon Jan 20, 2014 12:47 am

@blackstr
You can decide whether to load from files or directly within C2's layout editor! I personally choose C2's editor rather than external files :P

With variables, most of the time I put them in the sprites. Every single character + monster is the same underlying sprite called "Player", which has many instance variables (I think I managed to rack it up to 60 variables per player! Not sure if that's bad design in the long run but works for me :P) It's good to put variables into the sprites that you know you will have multiple instances of, as you would want to handle individual instances' variables like HP and speeds and other stats.

As for sprites, I personally loaded them into C2, which was extremely time-consuming and it's definitely not the best way if you are planning to have a lot of different images/frames (like in MapleStory, there's 1000's of monsters with several animations and frames, there's tonnes of clothing items, so these things would probably be better to load externally IF you plan to use a lot of them.)
Loading external sprites is the most "eh" thing about all of this. Let me explain (and I'm explaining this unaware if there is a plugin that would greatly help this situation):
IF you wanted to only have 1 character that gets the ability of having external files as images, then sure, you can do that, but only 1 character. Why?
Well, Construct 2 can indeed load external images into a sprite, it loads over the current frame, so you could load in lots of separate frames into a sprite and load in some origin points into instance variables (you can't specify origin values when loading an external image file, so you have to store the origin point coordinates in another separate file and load them in), then yes, that's basically how to load external images into the game. However, if you had more than 1 instance of this object, it will always share the same images, therefore you can't load some other files in the same sprite, because ALL sprites will change to the new file.
I guess one work around (Which I'm having the feeling is not the best workaround), would be to clone a sprite several times so that you can load different animations in each blank sprite and then throw all those sprites into a Family so you can handle them all at once, but then you're limited to the amount of times you clone the sprite, and also if you needed to add a new frame or animation or something into the sprites, you'd need to edit every single sprite you cloned to add in the new animation frame. Not a sensible idea! But I think it's best not to worry about it so much, there's probably speedy ways to load things in but I'm not sure at this moment.
B
51
S
20
G
10
Posts: 571
Reputation: 9,819


Return to Open Topic

Who is online

Users browsing this forum: Dodge Charger, Michnu and 1 guest