Forum:Pikmin Engine by Espyo


 * 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?


 * For the list of updates, go here: Updates.
 * For the list of votes, go here: Votes.
 * For some old details, go here: Details.

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 here. Even though the project has started, I still want to know what you think, so don't hesitate! — {EspyoT} 09:15, 13 July 2013 (EDT)

Pikmin run game
I plan on creating a game were you maneuver a running pikmin through hazards and enemies. However, I want the game to say certain things at certain times. How do I do it?Fanonrun 06:53, 2 May 2014 (EDT)
 * You mean like Temple Run? If so, the engine isn't made to make a game like that, I'm afraid. Otherwise, it will be possible to have the game say certain things at certain times, yes. — {EspyoT} 06:54, 2 May 2014 (EDT)

Editors
I need some feedback. Clear your mind and stop remembering any editor you've seen so far, specially the one present in the engine at the moment, if you managed to access it. Now, please answer me this: how do you see an animation editor working? In your mind, how do you imagine the creation process of a, say, Swooping Snitchbug's animations, using an editor provided with the engine? Anything from the interface, to the steps required, to the complexity of it all. I need your feedback, so I can balance the creation of the animation editor (and maybe others) between what I have, what I should do, and what I can do. — {EspyoT} 10:25, 5 April 2014 (EDT)

Hiding it

 * I just thought about this and was wondering about your opinion: when this game engine is complete, should we maybe "hide" it slightly, ie, no link on the main page? My concern would be that unscrupulous individuals would use it to make games and sell them. Maybe this is an unrealistic concern on my part, I'm not sure.
 * Hehe, there's no reason to worry. This was discussed before, on this same page, and basically, if somebody wants to make a game with this engine and sell it, it's fine. I say this, because if they do it, Nintendo will sue them so hard they won't know where to hide. What we're doing is just fan stuff for free in our spare time. If somebody tries to make profit out of an existing IP, and copyrighted materials, the owners can and will sue them. Specially Nintendo. — {EspyoT} 17:05, 16 March 2014 (EDT)

Cloaking Burrow-nit

 * Sorry it took me so long to finally get back to you. I love the new version! My one question: is the movement, enemy recognition and attack sequences, stuff like that that the Burrow Nit used universal, or will you have to reprogram everything for each creature?
 * It's universal, and every creature is independent! Otherwise it would kinda ruin the whole point. You can easily test this by editing Areas/test.txt. Go to where the Cloaking Burrow-nit is. This is the data for the instance of the lone CBN we see on the test stage. Just copy paste all of its info to create a new CBN on the stage. Oh, but change the coordinates to something like -100 0, or else it'll overlap the existing one. You'll see that both CBNs are completely independent, and there was no need to reprogram anything, rescript anything, reanimate anything, etc. Also, fun fact. I noticed your edit via my IRC Bot; I've just now finished working on a feature to track down recent changes from Pikipedia and Fanon, and I happened to notice your edit when he fetched it before my e-mail notifier notified me about it. — {EspyoT} 14:26, 12 March 2014 (EDT)
 * Would it work if I started going wild, ie: shrinking the CBN or making a monster sized one?
 * It has no reason not to! The only issue would be the clunkiness of playing with a giant CBN, as he'd probably catch presence of a Pikmin with the strangest distances. But other than that, it should and must work! — {EspyoT} 09:16, 13 March 2014 (EDT)

Cuscenes

 * How will cutscenes or special animations work? We can use textboxes, I know, but I mean in terms of perspectives. The engine has a fixed top-down perspective, so will there be special perspectives, or something? Also, how would we animate certain things in said cutscenes?
 * Heh, changes in perspective will certainly be impossible. Changing from top-down to anything else would require a lot of work and be a different graphical output altogether. I detail that a bit down below. Anyway, the most I can do is allow zooming and rotating of the camera. Alternately, it'll be possible to use pre-rendered images per scene. I mean, have the game show an image in the background, that can be whatever the game maker chooses. A lot of older games use this; off the top of my head, the intro to Quackshot, the intro to Sonic Robo Blast 2, ... As for the animation, it mightn't be too complicated. There should be a text file where you say "Olimar moves towards the corner of the room. Afterwards, Louie turns 180 degrees. After a one-second pause, Olimar runs to the opposite end.", except, you know, more technical-like. — {EspyoT} 07:39, 7 February 2014 (EST)

Christmas version

 * Just came back on and the Christmas version was great! I'll compile the github repo when I can. Hipe 16:21, 1 February 2014 (EST)

Invalid link

 * I am not sure the problem is my computer or the link, but every time I click the link, it asks what I want to do, I click save, and then the webpage crashes.
 * How weird... Try this link, though I can't really imagine what the problem might be besides the file name. — {EspyoT} 09:56, 27 December 2013 (EST)
 * I got it working, but in the weirdest way... Anyway, thanks. The new version is awesome! Although I am curious, is there any interface with the rocket?
 * Thanks! At the moment, there is no sort of GUI anywhere. Not in the rocket or Onions. — {EspyoT} 18:06, 27 December 2013 (EST)
 * Um,where is the text file that lets you make pikmin,captains or enemys?
 * On the current version, it doesn't exist. The next version I'll release will have files were you can create your own leaders and such, but it's still incomplete. Like, you can only set the speed at which a captain or Pikmin moves, how fast they rotate, they color, and not much else, really. — {EspyoT} 08:08, 26 January 2014 (EST)

Controls

 * I just played around with it! I was wondering, could you please give me a quick run-down of the controls? I only how to move, throw pikmin, whistle, and take pikmin out of the onion (I can't put them back in, though).
 * Oh crud, I knew I was forgetting something! I'll update the update. As for the Onions, they're really incomplete. It'll have a full menu when it's done, but for now, all you can do is withdraw a Pikmin. — {EspyoT} 06:53, 24 October 2013 (EDT)
 * How do you make menus come up? As I said I'm running it on WINE. --Hipe 16:22, 20 December 2013 (EST)
 * No Onion menus yet. Right now, if you get close to an Onion and left-click, it'll pull out a Pikmin, provided there aren't 100 on the field. — {EspyoT} 16:50, 20 December 2013 (EST)
 * And also, I could write some documentation for you if you want me to.--Hipe 17:41, 20 December 2013 (EST)
 * Documentation? What do you mean exactly? (Also I was on IRC when you joined just now, but I was busy). — {EspyoT} 17:50, 20 December 2013 (EST)
 * Controls and info... that sort of stuff. --Hipe 18:06, 20 December 2013 (EST)
 * Oh, no need, thanks. There's not much about that sort of info, atm, and what exists is not yet final. — {EspyoT} 18:15, 20 December 2013 (EST)
 * And also (note to self: stop using and also), what do the purple boxes do? --Hipe 18:31, 20 December 2013 (EST)
 * Oh, those just provide information when you get close. I wanted to make some rudimentary wooden sign graphics, but I never got around to it. No such thing exists in any Pikmin game, but for some reason I decided to make them. Say, does the game fade out to black when you zoom out (press C or the roll the mouse wheel down)? In addition to that, does the cursor and captain spazz out at random? I really should hurry with a release that fixes the latter glitch... — {EspyoT} 18:37, 20 December 2013 (EST)
 * No, but I'm running WINE which is a Windows emulator, so I really can't say. --18:48, 20 December 2013 (EST)
 * Plus, where did you put the purple box-sign thing's graphics in your github repo? I've forked it to change the sign graphics to something that looks like a sign. -Hipe 19:14, 20 December 2013 (EST)
 * They don't use graphics yet. They're rendered using Allegro's native primitive rendering functions; in this case a rectangle. — {EspyoT} 19:21, 20 December 2013 (EST)

Beta testing and sharing
(1) Will there be beta testing, or will it just be pronounced complete and posted? (2) If it is not already planned, could you add some system so that users can share completed Pikmin games and play them?
 * I have two questions/requests:
 * 1) The engine isn't just going to be a thing that's made and later released and ended forever. It's a project that exists all throughout its development, and it's available for everyone (check the latest update that's included in my edit for more info). But yes, I suppose there will have to be a release where I ultimately say "This is it, you can now start your fangames using this engine!", and any version that's released from there on out will just be bug fixes and extra features. As for beta testing, it's too soon to go into detail, but I'm guessing that when the engine starts to become really complex, I'll compile some versions and have people quickly test them out, to see if they can find glitches. Otherwise, I'll just have like a weekly/monthly release, and people can play around, whether they want to help catch bugs or not (kinda like Minecraft's weekly snapshots).
 * 2) Well, that's the whole point, really. You create your fangame, either by editing the files or using the included editors, and once you have a fangame that has all the Pikmin, areas, music, etc. that you like, you just grab the files on the Game_data folder, throw it on Dropbox, Sendspace, or some other file uploading service, and share it with the world! Whoever wants to play your game can just add your folder onto their installation of the engine, and it'll play the game right away. That's what I've been planning all along. Now, if you meant some feature in which the engine connects to the internet and downloads a game automatically, that's something I've considered for a while, but might be too hard to implement, and not worth the effort. — {EspyoT} 08:24, 14 October 2013 (EDT)

Status update

 * Can we get a status update?
 * Sure. On the IRC channel, I post updates every once in a while. I haven't posted anything here for two reasons: a) I'm gonna start studying for my September finals just tomorrow. I haven't been quite inclined to worry about the engine with that in mind, you see. b) Nintendo's been recently banning more and more things. It made me feel a bit uneasy thinking about talking about the project. But screw it. Here goes an update. — {EspyoT} 21:28, 1 September 2013 (EDT)
 * Looking good. I just have to say, thanks, this is a dream come true!
 * I think all of us here at Pikmin Fanon thank you again and again for undertaking this project. Making real fan games has always been a dream for Pikmin Fanon, something we were always reaching for but never really managed to grasp and hold on to. This is going to revolutionize Pikmin Fanon. Suddenly, many games like Pikmin: Ultimate Doom and Pikmin: Connection of the Worlds will do far more than just tell you about the game. They will give you the game to play and enjoy! Thank you from the bottom of my heart!
 * Thanks for the kind words :) I've got classes now, but they're only during the morning. I'll have the rest of the day to work on the engine. I know I said I'd eventually stop on this (I know I will, it's always how it works), but personally, I'd be more worried about Nintendo shutting me down. On the other hand, I guess they don't care about 0%-profit fangames... Maybe the fangames they shut down from Newgrounds were being paid with ad revenue? This isn't the case for the fangame engine. Either way, the development is going steady. There's a lot to do, it's complex, but somehow, progress keeps going brilliantly. — {EspyoT} 10:43, 15 September 2013 (EDT)
 * I think you should strictly forbid people from trying to make money of off the games they create, because if they start doing that, then you will be in trouble.

It begins

 * Ok, update time. I decided I should go ahead and make it (despite only 5 people showing any real interest), but there are two things to be said...
 * First of all, in order for the engine to really be flexible enough to handle several types of fan content... It'll have to be slightly more complex than I imagined. For instance, what if you want an enemy that shoots a stream of water towards one direction for 1 second, then walks towards the Pikmin for 3 seconds, stomping one of its two massive feet at a time? There is no enemy you could base yourself on. So, you'll have to specify that in the "shooting water" state, there is a hitbox that spans for how long the jet of water is, then after 1 second, it changes to the "stomping" state, where there is a foot here that hurts, but not another one, because it's in the air... Hopefully, it still won't be too confusing, and with minimal guidance, be it from other fan-made enemies or from simple tutorials I'll put up, anyone will be able to add enemies. Simple enemies might still be easy to do, though.
 * Secondly, I know I won't have enough time. I know I won't be able to do everything I want. As a result, and because this will be open-source, I plan on putting it on some repository so that others can contribute with code at any point, and so that if I have to abandon it, someone else can easily take my place. I'll try to make my code easy to read. — {EspyoT} 07:51, 3 August 2013 (EDT)

Pathfinding

 * To make Pikmin move around obstacles, you'd need a decent pathfinding system. What kind of programming/dev kit are you using to make the engine? Because I know some tricks with UDK, that's about the only one I am proficient in, save for Unity. But you need to pay for Unity, so I prefer UDK. UDK has not enough static meshes so I'd have to make structures and models with Maya, which also is a lot of money. So I couldn't help much with that, but I am still interested in the idea. I tried opening the files in Pikmin 2's ISO to find game code but i couldn't figure out the right program to open SZS files, the only program I found is for Mario Kart Wii.
 * To add to that, I had planned to make a mod for Pikmin 2 that converted it into a fan game, with perhaps new Pikmin types, etc, but I can't edit SZS files. As soon as I can open and modify the base code of those files, I am good to go. If only there was a way...
 * Well, because it's not gonna be 3D, just 2D top-down, I'll use Allegro with C++. I've grown to have quite some experience with it. As for the path-finding, for now, a simple set of waypoints would be enough. In the future, something like A* would be better. — {EspyoT} 06:29, 2 August 2013 (EDT)
 * Ah. Also, do you think it's possible to modify Pikmin 2? (Possibly NPC, I've heard Wii games are much easier to modify)
 * It might be. The files in the Wii version might be the same, though, specially because of how a Wii is "just two GameCubes glued together"; I doubt they changed most files for the NPC release. But anyway, to view Pikmin 2 model files, you'll need to extract the szs file with yaz0dec, then use rarcdump, then use bmdview2 to view the final bmd file. I tried with the Bulborb Larva and it worked. Don't know how possible it is to change the models, but keep searching. — {EspyoT} 07:51, 3 August 2013 (EDT)