The Daily Click ::. Forums ::. Klik Coding Help ::. Platform Organization/Optimization Questions
 

Post Reply  Post Oekaki 
 

Posted By Message

Logiq



Registered
  09/04/2007
Points
  120
14th September, 2008 at 17:08:41 -

Before anyone says anything about me wanting somebody to code my game for me. That is not what I am looking for. I feel it's easier to talk things out with people when I am having troubles with something. I am really looking for different ways to think more than actual code. I am willing to do what it takes to make my platform engine as smooth and efficient as possible.

Okay so obviously I have like a million questions to ask. These are a little different. It more about organization with my code. So I am making a platform game. I liked the PMO because it was easy to understand, but I've realized to do what I want to do I going to have to make the movement totally custom. I want to make a more efficient engine that runs smoother than my current one. I am going to list the movements I want my player to have just to give you a better idea of what I am making.

Stand
Crouch
Run
Crawl
Sprint
Roll
Jump
Edge Grab
Wall Slide
Wall Jump
Push
Slide (Angles Larger than 45 Degrees)
(I've made all of these using the PMO except the slide but it seemed a little sloppy.)


1. Should I really scrap my PMO engine and go all custom?
2. Should I make each movement Independent from each other?

i.e.
Group - Run
>>If This group is Activated
-Players Animation is running
>>Player presses Left
-Move player left
>>Player presses Right
-Move player right
Group - Crawl
>>If This group is Activated
-Players Animation is crawling
>>Player presses Left
-Move player left
>>Player presses Right
-Move player right


Or should there be one All encompassing left and right movement with different events dictating whether or not the player is in a certain movement


i.e.
Group - Move
>>Player presses Left
-Move player left
>>Player presses Right
-Move player right
Group - Run
*CHANGE PROPERTIES OF PLAYERS MOVEMENT*
Group - Crawl
*CHANGE PROPERTIES OF PLAYERS MOVEMENT*


The first example I would say is easier to deal with but in the long run you will be creating more repeated events which could slow down the game.

3. Physics. I want to add simple physics to the game (I totally sound like a noob now.) But for the sake of organization should I code each individual object with physics or make one system that uses multiple objects? Right now I have "Muz's Guide to Making a Realistic Physics Engine" open. I was wondering if there another place I should be looking to deal with making the physics.

4. Fast loops. I am familiar with them, but I am not comfortable with them. Are they the "Ultimate Answer" to making a custom platform engine? I want my engine to run smooth as some of the examples I have seen. i.e. Orphanage/Noitu Love/Tormishire. (Before bashing me, remember that I am here more for direction)

5. What is the best why to contain variables? I have used Alterable Values mostly but I want to get familiar with arrays and Global Values. For a platform game with multiple frames per level, Global Values seem to be a no brainer, but how should I go about organizing things?

6. I recently downloaded and played "Kyntt Stories" It has a feature that is going to be in my game so I wanted to ask some questions about it. In KS is the game made up of one big frame with camera focus moving between each scene? Or is the game made up of multiple frames? If the latter is true, then how would I go about transitioning the players coordinates between the frames?

7. Scaling. I see that most Click games utilize smaller screens/resolutions. Why is that? I have not seen many games that use 640x480 or larger. I am going to upload a copy of my current engine. I want to know whether or not you feel like the character is too large compared to the world.

8. Programming. I have seen extensions and objects such as: E++/If,Else/etc. that remind me of actually typing out code. Are the better click games using things like that to make their games? Should I be looking into all those objects and extensions to make my platformer?

9. Extensions. For my platform engine, what extensions do you feel are necessary/nice to have/stay away from?

10. HWA. Is it worth it at this point. Or should I not even deal with that until release?

I think that is all of the questions I have for now. I would like to thank anyone for even reading it. And like always, any advice would be helpful and appreciated.

[url]http://www.sendspace.com/file/lfnbuu [/url]

Image Edited by the Author.

 
Hello guys! I'm New! -- I've been new for a year now...haha

Eternal Man [EE]

Pitied the FOO

Registered
  18/01/2007
Points
  2955

Game of the Week WinnerHero of TimeLOL SignI am an April Fool
14th September, 2008 at 18:14:59 -

1. It all depends on if you think you have the knowledge of making such a complex engine from scratch. It would be a really complex engine seeing that you have so many moves, but it really is your choich.

2. Having them as you stated below could create many animation bugs in my opinion, but if it doesn't, great, since events don't really cause a slowdown at all. You would need VERY MUCH code to make it lag because of that.

3. I would code each object independently, but ifyou manage to make a system that covers all objects, that would be more efficient.

4. If you are going to make a custom engine from scratch you can't make it good without fastloops. But on the bright side there are many excellent articles on fastloops here on TDC.

5. I use the datastore 2 object, don't know if it's been ported to MMF2 yet though. It can hold 100 flags and 1000 variables + it's global and it can save all variables to file.

6. I don't know how KS is done, but I think it uses external level data, the game is on one frame and loads each level from file. That would need a level editor though, and they can be tricky if you are new to them.

7. If you have a lower resolution you can get a console feel to the gfx + it lessens the workload for you and keeps the filesize to a minimum.

8. You shouldn't overcomplicate your engine if it's not absolutely neccesary. The key to being a great game developer is simplicity.

9. As I said, the Datastore 2 object is great in my opinion, but as I said, only use what you need, nothing more.

10. I think you should only use HWA if you need it, it's unstable at the moment and could in worst case mess up your game.

Could you compile an exe of your game? I can't help you with the size issue yet since I don't have MMF2.

Hope I helped a bit, never be afraid of asking for help and just ignore the morons, they don't know what they're talking about if they hassle you because you ask for help. I've said it before and I will say it again, in this forum you are suppossed to ask for help, that's why it was made.
//EE

 
Eternal Entertainment's Code'n'Art Man

E_E = All Indie


...actually Ell Endie, but whatever.
Image
Image

Logiq



Registered
  09/04/2007
Points
  120
14th September, 2008 at 18:25:42 -


Originally Posted by Eternal Entertainment
1. It all depends on if you think you have the knowledge of making such a complex engine from scratch. It would be a really complex engine seeing that you have so many moves, but it really is your choich.

2. Having them as you stated below could create many animation bugs in my opinion, but if it doesn't, great, since events don't really cause a slowdown at all. You would need VERY MUCH code to make it lag because of that.

3. I would code each object independently, but if you manage to make a system that covers all objects, that would be more efficient.

4. If you are going to make a custom engine from scratch you can't make it good without fastloops. But on the bright side there are many excellent articles on fastloops here on TDC.

5. I use the datastore 2 object, don't know if it's been ported to MMF2 yet though. It can hold 100 flags and 1000 variables + it's global and it can save all variables to file.

6. I don't know how KS is done, but I think it uses external level data, the game is on one frame and loads each level from file. That would need a level editor though, and they can be tricky if you are new to them.

7. If you have a lower resolution you can get a console feel to the gfx + it lessens the workload for you and keeps the filesize to a minimum.

8. You shouldn't overcomplicate your engine if it's not absolutely neccesary. The key to being a great game developer is simplicity.

9. As I said, the Datastore 2 object is great in my opinion, but as I said, only use what you need, nothing more.

10. I think you should only use HWA if you need it, it's unstable at the moment and could in worst case mess up your game.

Could you compile an exe of your game? I can't help you with the size issue yet since I don't have MMF2.



Here is another link with a compiled exe: http://www.sendspace.com/file/76rx4r

2. That is the biggest problem I am having with my engine. How would solve my animation issues?



 
Hello guys! I'm New! -- I've been new for a year now...haha

Eternal Man [EE]

Pitied the FOO

Registered
  18/01/2007
Points
  2955

Game of the Week WinnerHero of TimeLOL SignI am an April Fool
14th September, 2008 at 21:39:11 -

For the animation issues I usually use flags to indicate which animation should be playing, i.e If player is on the ground and his speed is greater than 0 -> set flag 0 on. Flag 0 is on -> change animation to walk. Something like that. But You have to make sure that you code it in a manner so that you don't get to many conflicting flags on at once, and if you do, have the game prioritize which one to show.

Example, flag 1 is when the player is stopped, flag 2 is when player is standing still and punching. In that case you would have it; if flag 1 is on and flag 2 is off--> show Stopped.

 
Eternal Entertainment's Code'n'Art Man

E_E = All Indie


...actually Ell Endie, but whatever.
Image
Image

Logiq



Registered
  09/04/2007
Points
  120
16th September, 2008 at 19:16:59 -

So instead of scrapping my whole engine I decided to clean it up. So I'm still working with the PMO. I started using the Chipmunk - Phizix Engine. It seems to work well, though I am having one problem. I would like to attach a body to the player to that when he moves around the screen he will affect the other physics objects. Any Ideas?

 
Hello guys! I'm New! -- I've been new for a year now...haha

Del Duio

Born in a Bowling Alley

Registered
  29/07/2005
Points
  1078

GOTW WINNER CUP 1!GOTW WINNER CUP 2!GOTW WINNER CUP 3!GOTW WINNER CUP 4!Evil klikerHasslevania 2!The OutlawSanta Boot
16th September, 2008 at 19:56:39 -

One way of organizing your variables is to store them in your hero's sprite and make that sprite a global object. That way you'll have 25 alt variables instead of taking up your global variables. When it comes time to save the game just take those 25 variables and save them to an array. When it's time to load, take those values from the array and put them back into your hero sprite's alt variables.

Since the hero is now a global object you can use him in every frame and have him retain his alt variables throughout. Sorry if this is old news to you but I thought it might be helpful.

As far as moves are concerned I would have them separate too. You could link a few together like standing -> crouching down -> staying down. Stuff that makes sense like that. The crouching down animation would be mostly for show but it'd look a lot better than just a cold jump to the guy on the ground.

 
--

"Del Duio has received 0 trophies. Click here to see them all."

"To be a true ninja you must first pick the most stealthy of our assorted combat suits. Might I suggest the bright neon orange?"

DXF Games, coming next: Hasslevania 2- This Space for Rent!

Logiq



Registered
  09/04/2007
Points
  120
17th September, 2008 at 20:27:32 -

for my variables I created a couple placeholder actives in my frame that gives me access to Alt values.

I was able to get every action in my game other than the slide. I have no clue on how to do that. Any ideas on where to start?


 
Hello guys! I'm New! -- I've been new for a year now...haha
   

Post Reply



 



Advertisement

Worth A Click