• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

PoketEngine (RPGM Alternative)

namakemono456

PoketEngine Creator
22
Posts
15
Years
    • Seen Aug 28, 2016
    Yes, I gave it a name. :)

    I'm creating a new "engine" for a Pokemon game using C#, and I am debating publicly releasing the engine or not so I'll leave it up to you guys.

    You may wonder "what are the advantages your engine would have over RPGM, to put it simply:
    It would be designed for Pokemon, this means that:

    1. The scripts would all begin as .txt files, I would provide a tool to encrypt all resources so they cannot be tampered with. (Will be implemented last)
    2. The elements could easily be manipulated , renamed, or you can add your own.
    3. It could easily be adapted for newer changes to the Pokemon battle styles (Like how DP added Physical and Special properties to attacks)
    4. Adding moves, etc would be an edited text file away.
    5. Adding custom sounds, tile sets, sprites, images would be and edited text file away as well!
    6. Using the XNA platform I could allow for the distortion of sprites to give a feeling of 3D effect to trees, buildings, and later possibly cliffs.
    7. Multiple people working on a project could easily meld their resources into one since whole projects don't need to be altered if a script is changed in the slightest.
    8. No limit to the exposed screen area, custom screen sizes are possible, custom animation effect for the over world, user specified tile display, any annoyance you might find can easily be changed (the scaling of sprites in DP annoy the heck out of me personally).
    9. Custom stat growth, or more importantly more dynamic (annoys me how they do it in RPGM...)
    If I get enough requests, Ill release the engine, also the more requests the more motivated I'll be. It should be mentioned though that there are a few limitations. You'll need .net Framework 3.5, which means Mac and Linux players will be left out.

    News:

    • I plan to release a demo up to the main menu once I implement a last few things, The tile map is going well but isn't perfect enough to be seen yet.
    • I could still use help on D/P Menu object locations.
    • If anyone is willing to donate wave files of the music in the game that would help a lot. You will be given credit of course. Entering data into the database files will take awhile so don't expect a lot quickly...
    Screen shots:

    I know it doesn't look like much but the effect is similar to LG except the gusts spawn randomly, and in the background all the data is loaded from txt files.
    PoketEngine001.gif

    Just to show this, I changed 3 vars (sprite number, tint color, and cry) and it became this. Though the tint color could use a little work.
    PoketEngine002.gif
     
    Last edited:

    namakemono456

    PoketEngine Creator
    22
    Posts
    15
    Years
    • Seen Aug 28, 2016
    The hard part is distinguishing between an engine and maker. What sort of options should I leave out? Right now its basically an engine with only drawing routines hard coded. Main thing is that its completely dynamic.

    Do you want free movement? add "movement free" to the data.txt file. You want standard tile movement? leave it off.

    Do you want flames in the BG change the png, do you want gusts of wind? change "tseffect fire" to "tseffect wind" or any other effects I implement. (Thinking lightening next but the framerate is limited to 60 so lightning strike might appear and dissapear to fast) Pokemon is changed by "tspokemon venasaur" for example, tint by "tspokemontint 0,186,25" (255,255,255 beign no tint)

    The current scalers support Original (which ill use for SS), 2x, FS fixed, and FS scaled.
    I'm fixing the screen ratio to whatever it is that a DS screen has. The tile maps are composed of 5 to an infinate number of layers depending on what you want (and the tech requirement you want)

    The battle system is layed out in a format similar to a table found on FAQ pages allowing any multiplyer for damage. The effect skills can have are in flags such as those in the starter kit but I'm not limiting the functions to those originally allowed in the game. (Physical attacks can be reflected of a move that reflects physical attacks is used) Also the engine is capable of allowing only certain elements to be nulled or reflected. Stat manipulators can go as high or as low as you want and moves can manipulate stats independently.

    Main note is that all default data is hard coded, If you leave out a default value for a config option it loads a hard coded default. If you leave out a custom movelist or pokedex the original is loaded. All moves and pokemon are loaded into dictionarys which make it easily manipulated. Instead of ID numbers you can just tell what moves you want by name. In the SS you see the description of scratch thats because its called to draw it using "spriteBatch.DrawString(dialogFontBold, moveSet["Scratch"].description, new Vector2(0, 20), Color.White);" loaded into the moveset dictionary from a file with "Scratch---- Normal--- Physical --------- 40--- 100 35 Single ------ 0----- 2------- DSAF Tough-- Scratches the foe with sharp claws." inside. (the "-" are fillers you can add to line up data to the header that I added just to organize the data)

    What would really be helpful if poccil would let me use his data files so any custom moves can easily be imported from Pokemon Essentials.

    About the open source part, I'll think about it. A problem with doing that is that I have a really insane memory and therefore don't add comments to my files other than for the update calls and draw routines so there's very little documentation in the code. Being as I'm not a big fan of comments (lol) I really don't want to hear people whine about how confusing the code is when it almost reads like psudocode because of the variable names. What I'll definately do is take requests for additional controls people would like to have.

    Actually I might so that...because then I can force people to hard code data in and let XNA do the encryption so I don't have to provide a separate code for it...Also then I can keep the pokemon and moveset data in setting objects that come with a Excell like input screen allowing a little less headache with the databases. With base code down it would take off only the time that I used to create the engine leaving all the power in the hands of the people who know C# and not in my own...Very tempting....Also that would distinguish an Editor from an Engine.

    I better start Documenting my code....

    For those who are worried about being able to use the source....I use VS2008 Standard, though you can download VC# 2008 Express for free and edit the project, also XNA is free as well. I should probably add a note that As stated above XNA is restricted to Windows and the XBOX 360. Therefore any project you make for this game can be deployed to an XBOX as well as your computer to full around with (potentially your Zune as well but I'm almost certain the engine will break 16meg compiled by the end). The controls in the game are written to support keyboards, game pads, and the mouse all at the same time.

    You guys can thank Trogdorhump for the new (imo awesome) direction of this project. I apologize for the scatteredness of the post but I don't like to think ahead I like to think as I type (I've edited this post about 8 times).
     
    Last edited:

    namakemono456

    PoketEngine Creator
    22
    Posts
    15
    Years
    • Seen Aug 28, 2016
    I do actually have something you can do to get you name in the team roster, I need some animation frame sheets made. Hopefully I can catch you on AIM again to discuss it.
     
    19
    Posts
    15
    Years
    • Seen May 6, 2011
    Hey this looks awsome i could never get the hang of atchally starting to use rpgmaker! Keep it up!
     

    CHG-Swampert

    Do not make Wigglytuff Laugh
    178
    Posts
    15
    Years
  • <SUPPORTINGMESSAGE>gj. i think this could come in use for SME when we start work on 2.5D projects. Nice idea especially since it could run RPGM out of business lol</SUPPORTINGMESSAGE>
     
    93
    Posts
    16
    Years
    • Seen Jan 14, 2010
    Hey, I like the idea, I'm coding my Pokemon MMORPG in C#.

    XNA is great except... it requires an extra redistributable for those who are not XNA developers. I suggest SlimDX. Its just as powerful but uses normal DirectX. Also XNA is known for precompiling resources for use with the game. While it can be done with XNA, your resources probably won't be precompiled and will just be in folders. SlimDX would be more suited for that kind of resource handling. Lastly, until XNA 3 all sounds had to be part of an XAct Project which is a hassle. I also don't know if XNA supports a .mid or any other tracked music. If you wind up using SlimDX check out IrrKlang for sound support.

    I saw mention of Lua, Yey Lua, Lua doesnt come with a .NET binding so a third party group created a wrapper for us called LuaInterface. It works great, my items and soon attacks, are scripted in Lua using Lua Interface to bind it to the game. WARNING: If you use Lua as your scripting engine, you WILL NOT BE ABLE TO DEPLOY TO XBOX OR ZUNE. Because the DLL's are not managed!

    The 3D effect you see in DP is the fact the buildings ARE 3D. They are really low polygon buildings with a really really cheap rendering effect on them. You could easily write a shader to make it look like that. The sprites that appear 3D are billboards.

    C# makes networking very easy! You should concider multiplayer battles and trading.
     
    Back
    Top