Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


A 2D platformer editor (kind of...)


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
7 replies to this topic

#1 AFS   Members   -  Reputation: 866

Posted 15 March 2013 - 06:58 PM

Hello everyone.

 

I wrote a little editor to create a platformer level. It's nothing extraordinary in comparison of other projects on this forum that are pure awesomeness, but I still want to ask for feedback about it, as its my first application to actually have a little potential of becoming a finished game and because I'm new to game developing and programming.

 

This was more of an experiment to test collision detection using lines, as I've never implemented anything regarding collision.

 

Anyway, enough talk, here's a video.

 

 

And here's the download link, if you want to create something: http://www.mediafire.com/?5ho3zzi0nknnknp

 

The map is tiled. I'm considering getting rid of the tiles and just use objects (like the player object), as I can place them with pixel-perfect precision, contrary to tiles that are fixed in a grid. But for now, I'll stick to tiles, as my priority was to test collision regardless of the map.

 

Please let me know what you think, and forgive me if this isn't the correct place to post this (I didn't posted it on the beginners forum as I'm not asking for feedback about the code itself).

 

Cheers.


Edited by AFS, 15 March 2013 - 06:59 PM.


Sponsor:

#2 Lightness1024   Members   -  Reputation: 739

Posted 15 March 2013 - 09:17 PM

yes nice. you can keep it like that, only you need to display names rather than numbers in the sprite buttons. you can't give that editor to anybody else than you in this state.

a bit of rebound for the ball ? multiple times I felt that the lack of rebound was disturbing.

what is the plan for the next ?



#3 Servant of the Lord   Crossbones+   -  Reputation: 21159

Posted 15 March 2013 - 09:40 PM

Very nice! What did you use to record the YouTube video?

 

You said: "It's nothing extraordinary in comparison of other projects on this forum that are pure awesomeness"

I fully support giving that video the label "pure awesomeness". Congrats on bringing it this far!

 

You asked for suggestions, so here's a few:

------------------------------

 

It looks like your workflow could be improved somewhat - that editor may prove a bit tedious to use as-is.

My suggestion would be that when holding SHIFT or CTRL or some other key, and placing nodes, it automatically connects them to the last node placed at the same time.

 

This way, you can go:

(holding shift) click, click, click, click, click, click.

 

Instead of:

Switch to node placement, click, click, click, click, click, click

Switch to node connection: (clickity - click), (clickity- click), (clickity- click), (clickity- click), (clickity- click), (clickity- click)

 

For the same reason, I like placing multiple tiles by clicking and moving the mouse, instead of clicking once per tile.

 

Another suggestion would be to add spline support in addition to your existing flat-lines.

 

A third suggestion would be creating placeholders, so you can place a balloon down AND automagically place down the balloon collision lines, so you don't have to make the same collision lines for every single balloon you put down, or the same collision lines for every single tree.

 

------------------------------

 

Overall, very nice work! You should create a GameDev.net Journal so we can see your editor and game progress more into even purer awesomeness.


Edited by Servant of the Lord, 15 March 2013 - 09:41 PM.

It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.
All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.
Of Stranger Flames - [indie turn-based rpg set in a para-historical French colony] | Indie RPG development journal

[Fly with me on Twitter] [Google+] [My broken website]

[Need web hosting? I personally like A Small Orange]


#4 AFS   Members   -  Reputation: 866

Posted 16 March 2013 - 03:49 PM

yes nice. you can keep it like that, only you need to display names rather than numbers in the sprite buttons. you can't give that editor to anybody else than you in this state.

a bit of rebound for the ball ? multiple times I felt that the lack of rebound was disturbing.

what is the plan for the next ?

 

Yeah, using numbers is confusing, but I kept them because the idea is that people modify the images to their liking (the images in the video are just quick drawings I made in MS Paint). But I could add something to let people modify what each button says in a future version or something, because is indeed unconfortable to use numbers.

 

About the rebound, the ball is just a placeholder for the player character. Indeed it looks weird without rebound, but a player character (let's say, a human) will look weird as well if it bounces after touching the ground or something tongue.png . Still, thanks for the observation, I'll keep it in mind.

 

And asuming you meant what's next for a new version, I honestly don't know. I made this during summer break, and I'll go back to college this monday, so I won't have time to keep making it. :/

 

Thanks for your feedback.

 

Very nice! What did you use to record the YouTube video?

 

You said: "It's nothing extraordinary in comparison of other projects on this forum that are pure awesomeness"

I fully support giving that video the label "pure awesomeness". Congrats on bringing it this far!

 

You asked for suggestions, so here's a few:

------------------------------

 

It looks like your workflow could be improved somewhat - that editor may prove a bit tedious to use as-is.

My suggestion would be that when holding SHIFT or CTRL or some other key, and placing nodes, it automatically connects them to the last node placed at the same time.

 

This way, you can go:

(holding shift) click, click, click, click, click, click.

 

Instead of:

Switch to node placement, click, click, click, click, click, click

Switch to node connection: (clickity - click), (clickity- click), (clickity- click), (clickity- click), (clickity- click), (clickity- click)

 

For the same reason, I like placing multiple tiles by clicking and moving the mouse, instead of clicking once per tile.

 

Another suggestion would be to add spline support in addition to your existing flat-lines.

 

A third suggestion would be creating placeholders, so you can place a balloon down AND automagically place down the balloon collision lines, so you don't have to make the same collision lines for every single balloon you put down, or the same collision lines for every single tree.

 

------------------------------

 

Overall, very nice work! You should create a GameDev.net Journal so we can see your editor and game progress more into even purer awesomeness.

 

Thanks for the kind words, I really appreciate them smile.png

 

To record I used Fraps. The resulting video was quite large so I used Virtual Dub to compress it.

 

Thanks for your suggestions as well. I know is tedious to use as-is, but I couldn't work on it more due to, like I said, I'm entering college and I want to rest these two days left. I'll try to implement your suggestions in the mean time.

 

I'm considering getting rid of the tiles for the background and just use sprites, like the player character. That way I can put, let's say, the balloon on any position with pixel-precision instead of being limited to the grid, AND I could make it add the collision line automatically, like you suggested. That would be neat, and would make the editor very flexible and fast.

 

My ultimate goal, however, is to try to create huge maps efficiently, because I want to make an "open world platformer" to see if it works. The map right know is 100x100 tiles, but I can make it to 10000x10000 easily, "only" consuming like 200 MB of Ram for the map. The problem is, using tiles the editor is very optimized, but if I made the switch to normal sprites, I honestly have no idea of how to make it efficient and keep the memory usage low. But I'll figure it out, hopefully.

 

I'll consider keeping a journal, thanks, though I prefer using videos for now. There is nothing more motivating that watching your little baby grow tongue.png

 

Thanks for the feedback and suggestions :)



#5 Servant of the Lord   Crossbones+   -  Reputation: 21159

Posted 16 March 2013 - 07:58 PM

My ultimate goal, however, is to try to create huge maps efficiently, because I want to make an "open world platformer" to see if it works. The map right know is 100x100 tiles, but I can make it to 10000x10000 easily, "only" consuming like 200 MB of Ram for the map. The problem is, using tiles the editor is very optimized, but if I made the switch to normal sprites, I honestly have no idea of how to make it efficient and keep the memory usage low. But I'll figure it out, hopefully.

 

That's a very fun problem to solve! I won't give away the answer and ruin the fun (unless you are requesting solutions), but I'll just point out that it can be solved for tiled-maps just as easily as for freely placed sprites, in 1MB of RAM or less (including multiple layers of tiles and full 24 bit color images - so no sacrificing visual appearance).


It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.
All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.
Of Stranger Flames - [indie turn-based rpg set in a para-historical French colony] | Indie RPG development journal

[Fly with me on Twitter] [Google+] [My broken website]

[Need web hosting? I personally like A Small Orange]


#6 AFS   Members   -  Reputation: 866

Posted 16 March 2013 - 08:56 PM

That's a very fun problem to solve! I won't give away the answer and ruin the fun (unless you are requesting solutions), but I'll just point out that it can be solved for tiled-maps just as easily as for freely placed sprites, in 1MB of RAM or less (including multiple layers of tiles and full 24 bit color images - so no sacrificing visual appearance).

 

Please don't give away the answer, I want to figure it out myself smile.png. The main reason I started developing this thing is to become better at problem solving. In college, we are just making simple console apps, so making the jump from that to this was huge, and I have learned a lot in the process.

 

Still, I'm intrigued, and forgive me but I find it hard to believe that I could show a huge map that is made of thousands of sprites using that little amount of memory (unless it was an hyperbole, but still). The only thing I can think of is to split the map into smaller sections (using quadtrees or something) and loading sections as I aproach them, deleting from memory the previous one, but loading on the fly can result in little freezes when passing through a section (a thing I want to avoid) but I'm probably underestimating the power of a CPU; perhaps the loading will be so fast that it will be unnoticeable. Still, I doubt I can do that with only 1 MB. unsure.png

 

Well, I got 4 full months to think about it before winter break. laugh.png

 

Cheers.



#7 AFS   Members   -  Reputation: 866

Posted 26 April 2013 - 10:05 PM

Hello, I just wanted to show a little update on the editor. No download link because the thing is very unstable, but I made a video (after a lot of tries).

 

 

 

Basically, the differences with the previous video are:

 

- No grid. The objets can be placed freely on the game space. Man, using tiles was so tedious.

 

- I -kinda- got the big maps problem (that I was discussing with SOTL) down. I separated the map into sections: each one is saved in a separated "txt" file (I'm not sure if this is good or not, but it was the only thing that occurred to me). So, the editor only loads one section at a time (well, 9 actually...), so I'm keeping the memory usage low. Not "1 MB" low, but definitely lower that in the previous video. Oh, and now I can make maps of virtually any size biggrin.png

 

- In the previous video, and as SOTL noticed, placing the nodes was very, very tedious. To solve that, I made some changes: the most important one is that now the objects and the nodes are joined together (while in the previous video they were independent), so If I place an object the collision nodes are placed automatically. Also I made a "pattern editor" to modify the nodes of the objects: any change will be updated automatically to all instances of said object. Finally, behold "The Magnet", which is just a little piece of code that conects automatically two objects that are close enough to each other. All those things together save A LOT of time.

 

I'm very happy with the results biggrin.png.

 

Thanks for reading.



#8 Servant of the Lord   Crossbones+   -  Reputation: 21159

Posted 26 April 2013 - 10:24 PM

Excellent job!
It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.
All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.
Of Stranger Flames - [indie turn-based rpg set in a para-historical French colony] | Indie RPG development journal

[Fly with me on Twitter] [Google+] [My broken website]

[Need web hosting? I personally like A Small Orange]





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS