Forum:Pikmin Engine by Espyo

So, a user from Pikipedia, proposed to me on the chatroom that he'd be willing to make a Pikmin engine for making real fanon games, if we wanted it. He said that it'd be pretty easy to make Pikmin games; instead of just programming it, we could just write stuff on text files. Enemy graphics would be easy, as most fanon enemies are just recolors anyway. And Espyo even suggested that he could create a program to generate areas. So it'd be pretty easy to make an actual Pikmin game! And our ideas, which were just written, could come to life! Comments, questions, and concerns are welcome. Also, here's a poll, right underneath.
 * You can read some details of what I have in mind down below. — {EspyoT} 09:15, 13 July 2013 (EDT)


 * User Espyo from Pikipedia is considering creating a Pikmin fan game engine so that the fanon games can become a reality. Would you be interested in this?

Definitely!

 * Very great concept, could potentially make activity soar in this wiki.
 * Looks amazing!!! I will support you however possible.
 * Whoaaaaaaaaa man. I'm kinda skeptical on how I could possibly bring One Pikmin to life... I'll support this idea anyways since I am a programmer myself...

Details
I am a very busy guy. I have tons of projects, mostly revolving around programming and games. Because of all of these projects, I don't focus enough time on actually programming games, even though I have the skills for it. In order to develop some experience, I want to program on loads of game-related things, and I already have a few in mind. One of the least-priority ones is an engine for Fanon members to make their Pikmin games come to life. But then I realized... Maybe I should ask the fans if they want to have such a thing really badly. If they do, I might move it up on the list, because, after all, it's a project people really want, and it could easily change the community deeply. This is what this poll is for.

Please give your opinion, and comment on anything regarding the project! I really want to know if you're interested in such a thing or not. Now, to answer some questions about it that you might have... — {EspyoT} 09:15, 13 July 2013 (EDT)

Do I need to be a programmer to make my game come true?
Short answer: not at all! You see, my goal is to have an engine upon which a game can be created, using day-to-day knowledge. Of course, that's only for the game's logic; the custom graphics and audio will still have to be done by you!

How would the editing work?
To edit one of the game's images our audio, just change the image file on a folder. Easy as that. To actually add new Pikmin types, new areas, etc., things get a bit more complex, but hopefully, nothing confusing.

To add a Pikmin type, there will probably be a text file, somewhere. Editing the text file should be very straightforward. Here's an example of what it might look like: pikmin{ name = Brown Pikmin color = brown resistance = ground strength = 1 weight = 2 mobility = 1.2 carry = 1 power = 1 size = 1 }

It shouldn't be more complicated than that. That should be more than enough to create a new Pikmin type: some Brown Pikmin that has a resistance to ground based attacks (you'll have to tell the game what a "ground-based attack" is, later on), has average strength and such, but walks faster than normal and is twice as heavy as normal. Simple, right? Now, even though that's easy enough, I plan to also make it possible to have very complex Pikmin types, using nothing but these simple text files. So you can really approach this however you want: make a simple Pikmin by changing some attributes from a normal one, or make a completely wacky Pikmin that changes quite a bit. For an enemy, it'd be pretty much the same thing: enemy{ name = Electric Bulborb body_type = electric can_sleep = yes hp = 4000 weight = 10 pikmin_seeds = 10 pokos = 100 size = 50 }

Pretty simple, right? I mean, come on, this is so self explanatory! Even if you get confused, I plan to have some documentation on this very wiki, so you can always check that if you become overwhelmed.

As for the areas, because of the "minimal work to get a game" theory, if your fangame doesn't have specific areas, you can probably just let the engine draw them out for you. Otherwise, I have a few ideas, involving drawing simple lines to mark walls. That's it, easy.

As for the plot, captain comments on the Piklopedia, day log, etc. you'll probably be able to just edit a text file easily: intro_frame{ name = taking off image = taking off.png text = "All controls are appropriately set. Preparing to take off!", said Olimar as the ship rumbled violently. }

...

note{ enemy = Electric Bulborb captain = Mr. Punny Junior text = Yow! What a shocking experience! Touching one of these can really make your hair stand up! Make sure to use Yellows, or you'll be sent frying out of there! }

What will it look like?
Sorry for all of those that had any idea that the games will be in 3D. But that just cannot be done for mine and for your sake! It would take a LOT of work to program the engine in 3D, and also, if you wanted to create the graphics for your enemy, instead of being a simple sprite, you'd need an entire 3D model with textures!

The games will be 2D, seen from above. The concept of height will still exist, though, but it won't be easy to see from a top-down perspective. In terms of graphics, you can either use the built-in graphics (probably ripped textures from Pikmin and Pikmin 2), or you can just easily add your own!

What about the engine's development?
I'll only be able to work on the engine on my free time. I might not be calculating this right, but, in my head, I can see the project going kinda smoothly. However, knowing game programming, chances are things will take a turn for the complicated all the time. By this I mean that... if I get too too busy, I may have to drop the project at some point... Let's just hope not. But either way, be willing to accept this as a possibility.

Some of your characters, areas, etc. might have something non-standard. For instance, a boss enemy that sometimes clings to the ceiling. No other enemy does that, and adding that bit of logic to the game just can't be easily done using the text file alone. This means that I'll have to include some code so that the game knows what a "ceiling" is, for instance. You can ask me to include such things, if you notice that they're missing and you'd like them, but I might focus on more widely-used mechanics first, naturally.