The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > Creative Discussions > Game Development > Scripts & Tutorials
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Scripts & Tutorials This forum is for scripts and code, as well as all kinds of tutorials, software, tools and so forth. Remember to give credit!
The thread revival limit does not apply here.


Advertise here

Reply
 
Thread Tools
  #1    
Old December 22nd, 2012, 07:57 AM
andytu's Avatar
andytu
Ditto engine developer
 
Join Date: Jan 2011
Gender: Male

Advertise here
The Ditto Engine is a project to create a fully functional Pokémon game engine in Python.

Features
-standard map support: multiple layered maps from Tiled, collision detection, connecting maps
-animations: ambient (like flowers) and triggered (like grass and doors)
-scripting: with custom scripting language
-events: warps, dialogs
-NPCs and trainers
-intro screens
-new game scene
-game saving and loading
-sound: map music and sound effects
-menus:
-Party
-Bag
-Trainer card
-map screen
-HMs: cut type HMs (ie Cut, Rock Smash, Whirlpool), Strength, Surf, Waterfall, and Flash
-running
-ledges
-sliding (ice) tiles and directional (like in gyms) tiles
-weather
-basic battle engine
-map metadata editor

Screenshots
Spoiler:




Videos
Spoiler:









How YOU can help
-Any programmers out there who fancy helping this project, let me know. Take look at the code, write new features, whatever you like. The more the merrier.
-If anyone wanted to do a logo etc. for the project, that'd be nice.
-If you can think of another way you could be useful, tell me!

Credits
SooperTrooper - has done some serious graphics work getting all the sprites ready for the engine.
monkeyman192 - has been programming quite a few nice things for the engine.
Essentials - as I've been shamelessly ripping assets from it

Well, there you go! I'll try to keep this updated as I work more on the engine.
__________________
Check out the Ditto Engine!

Last edited by andytu; September 30th, 2013 at 03:22 PM.
Reply With Quote
  #2    
Old December 23rd, 2012, 11:03 AM
Dragonite Ernston's Avatar
Dragonite Ernston
I rival Lance's.
 
Join Date: May 2010
Gender: Male
So what I want to know is, does it support battles yet? It seems that any engine I've seen in development always has either one or the other, but I haven't seen one with both yet.

As for your conversion requirements, consider using ImageMagick. It's a program that massively renames and converts image files as you seem to need.
Reply With Quote
  #3    
Old December 25th, 2012, 03:35 PM
andytu's Avatar
andytu
Ditto engine developer
 
Join Date: Jan 2011
Gender: Male
Quote:
Originally Posted by Dragonite Ernston View Post
So what I want to know is, does it support battles yet? It seems that any engine I've seen in development always has either one or the other, but I haven't seen one with both yet.

As for your conversion requirements, consider using ImageMagick. It's a program that massively renames and converts image files as you seem to need.
No battles as yet I'm afraid (though obviously they're planned). Two reasons, firstly I feel that the world should be as near to complete as possible before I move on, and secondly because I'm considering writing the entire battle engine as a plugin which would allow people to plug in their own completely separate engines if they wanted realtime or some other battle format. I'm not in a position to start yet.

I know what you mean about half-finished engines, and all I can say is I hope this project stays alive long enough to become viable for games...

I've downloaded ImageMagick, it seems like just the tool for the job, so thankyou! Now just to learn to use it.
Reply With Quote
  #4    
Old December 26th, 2012, 10:36 AM
danice123's Avatar
danice123
 
Join Date: Sep 2007
Age: 20
Gender: Male
If you want images, check out veekun.com. He has huge files full of seperate images of every pokemon from every version, sounds and footprints, and stuff like that.
Reply With Quote
  #5    
Old January 17th, 2013, 11:36 AM
andytu's Avatar
andytu
Ditto engine developer
 
Join Date: Jan 2011
Gender: Male
Quote:
Originally Posted by danice123 View Post
If you want images, check out veekun.com. He has huge files full of seperate images of every pokemon from every version, sounds and footprints, and stuff like that.
Cheers for the link!! Looks like he has good resources and also there's a fair bit of code for me to look at.

Almost managed to get the pokemon battlers as required now - it's not a priority but I'd appreciate some help at some point...

Update
Over Christmas i did what any good programmer should and did a full code review, which was painful. But it means everything's a lot more organised, a little quicker, and a lot less embarrassing for me to show you guys. That said, I'm working on getting a demo together so you guys can play around with the engine yourself, so expect that in the next few days.

I've attached some more screenshots, including one using Gen 4 tiles, and one of the XML files which are used to define the game. Take a look!
Attached Thumbnails
scr7.png‎   scr9.png‎   scr10.png‎   scr11.png‎   scr12.png‎  

Reply With Quote
  #6    
Old January 17th, 2013, 06:25 PM
Ayutac's Avatar
Ayutac
Developer who wants your help
 
Join Date: Dec 2011
Location: Germany
Age: 23
Gender: Male
Quote:
Originally Posted by Ayutac View Post
I don't understand, why don't the java developers work together? Much more can accomplished this way!

(Also offering my help)
Pretty much this. Is there something like a flu going around causing programmers to develop indepent Java Engines? For the sake of useability for others, work together damnit! It's not like there aren't things like CVS.
__________________
Reply With Quote
  #7    
Old January 18th, 2013, 07:12 AM
andytu's Avatar
andytu
Ditto engine developer
 
Join Date: Jan 2011
Gender: Male
Quote:
Originally Posted by Ayutac View Post
Pretty much this. Is there something like a flu going around causing programmers to develop indepent Java Engines? For the sake of useability for others, work together damnit! It's not like there aren't things like CVS.
I think this is a very closed-minded comment, but I'll try to respond...

1. Python != Java. It's as simple as that. I'm not nearly good enough at Java to take on this kind of project, and I have no idea whether the others have even heard of Python.
2. People do this stuff as a hobby. There's a lot of satisfaction from seeing what you've managed to do, and from learning to program like this. I'm under no illusions about the likelihood of finishing an engine, but I'm gonna try!
3. Because of how these forums work (and make no mistake I agree with it) you need to have something to show before you make a thread. I did about 4 months work before I posted on here; I assume the others did the same. You can't be expected to scrap all that if someone else posts a few weeks before you.
4. Working together is still possible. You'll notice that danice123 posted a link on this thread, and I would be happy to help anyone else who wanted it.
5. Variety is good. Not bad.

I think that covers a lot of it. I understand what you mean, but really there's nothing to complain about.
Reply With Quote
  #8    
Old January 18th, 2013, 10:13 AM
Ayutac's Avatar
Ayutac
Developer who wants your help
 
Join Date: Dec 2011
Location: Germany
Age: 23
Gender: Male
I'm terrible sorry for assuming you wrote in Java instead of Python! I just... saw two Java Engines and then there's another engine and if I recall correctly there wasn't a hint of not using Java, so I assumed... Again, I'm sorry. My post is kinda irrelevant under these circumstances.
Nevertheless your arguments are good. I'm the kind of guy who simply does not think of certain arguments. So... thanks.

Anyhow, I thought posting such projects would include the intention to finish it?
__________________
Reply With Quote
  #9    
Old January 20th, 2013, 04:14 PM
andytu's Avatar
andytu
Ditto engine developer
 
Join Date: Jan 2011
Gender: Male
Quote:
Originally Posted by Ayutac View Post
I'm terrible sorry for assuming you wrote in Java instead of Python! I just... saw two Java Engines and then there's another engine and if I recall correctly there wasn't a hint of not using Java, so I assumed... Again, I'm sorry. My post is kinda irrelevant under these circumstances.
Nevertheless your arguments are good. I'm the kind of guy who simply does not think of certain arguments. So... thanks.

Anyhow, I thought posting such projects would include the intention to finish it?
Fair enough, you're making a fair point though, and your thread is well worth reading.

I am hoping to finish this engine, but looking at other engines out there I can see that it's very rare for that to happen. But maybe this one will break through and actually become useful for game production, who knows?

With that in mind, I've decided it's worth uploading the engine as is, so it should now be attached to the main post. Hopefully people can start trying it out, and let me know what they think, and any programmers can inspect my code
Reply With Quote
  #10    
Old January 20th, 2013, 05:12 PM
DaSpirit's Avatar
DaSpirit
Mad Programmer
 
Join Date: Jul 2007
Location: New York City
Gender: Male
Nature: Quiet
Quote:
Originally Posted by andytu View Post
I am hoping to finish this engine, but looking at other engines out there I can see that it's very rare for that to happen. But maybe this one will break through and actually become useful for game production, who knows?
It's only as helpful as you make it. If possible, find a project willing to use your engine that way you HAVE to work on your engine. Making an engine alone is boring.

Anyway, I'll install Python later (it's been a year since I've used it and didn't install it on this computer yet). You should look for a way to create an executable.
__________________
My Links:
Reply With Quote
  #11    
Old January 27th, 2013, 06:19 AM
xGeovanni
Unhatched Egg
 
Join Date: Jan 2013
Gender: Male
I'm a coder, I could try to make myself useful. I don't come on this forum very often though and I only just made an account to post this. I'll PM you my email for if you need to reach me for anything. Are we using Python 2 or 3 here?
Reply With Quote
  #12    
Old January 27th, 2013, 10:34 AM
andytu's Avatar
andytu
Ditto engine developer
 
Join Date: Jan 2011
Gender: Male
Quote:
Originally Posted by DaSpirit View Post
It's only as helpful as you make it. If possible, find a project willing to use your engine that way you HAVE to work on your engine. Making an engine alone is boring.

Anyway, I'll install Python later (it's been a year since I've used it and didn't install it on this computer yet). You should look for a way to create an executable.
Great, do let me know if it works I am looking at executables, there are a few possibilities, but unfortunately when you develop in python you trade off very rapid development for a less than ideal distribution...


Quote:
Originally Posted by xGeovanni
I'm a coder, I could try to make myself useful. I don't come on this forum very often though and I only just made an account to post this. I'll PM you my email for if you need to reach me for anything. Are we using Python 2 or 3 here?


OK super, I'll email you soon. I'm just trying to get the source onto GitHub. We're currently using Python 2, because I think pygame struggles a bit with Python 3. That might have been fixed by now though. In the meantime, if you download the demo I put up and have a look at the source, you can at least get familiar with the project.

Great to have you on board!
Reply With Quote
  #13    
Old January 29th, 2013, 01:24 PM
Mortalis's Avatar
Mortalis
ѕĸyвorɴe.
Community Supporter
 
Join Date: May 2010
Location: Canada
Age: 18
Gender: Male
Nature: Relaxed
My Python coding skills are next to nothing, so I probably wouldn't be much help. However, I'm full on support for this project and may be able to help with things such as graphics and file conversion like you stated in your first post.

Whatever I can do to help, besides coding with Python of course, just send me a PM.
Reply With Quote
  #14    
Old January 30th, 2013, 11:46 AM
andytu's Avatar
andytu
Ditto engine developer
 
Join Date: Jan 2011
Gender: Male
Quote:
Originally Posted by SooperTrooper View Post
My Python coding skills are next to nothing, so I probably wouldn't be much help. However, I'm full on support for this project and may be able to help with things such as graphics and file conversion like you stated in your first post.

Whatever I can do to help, besides coding with Python of course, just send me a PM.
Great I'll send you something and you can see if you fancy helping.

@xGeovanni I've sent you an email, hope it's come through.

UPDATE

The engine now has it's own scripting language! So scripts look something like this:
Code:
 
###givepokemon###
lock();
facePlayer();
choiceDialog("Would you like a free pokemon?", "Abra", "Eevee", "Staraptor", "No thanks");
if LASTRESULT == "No thanks"{
    dialog("Oh.$$OK then...", 1);
}
else{ 
    if LASTRESULT == "Abra"{
        p = generatePokemon("ABRA", 10);
    }endif
    if LASTRESULT == "Eevee"{
        p = generatePokemon("EEVEE", 25);
    }endif
    if LASTRESULT == "Staraptor"{
        p = generatePokemon("STARAPTOR", 100);
    }endif
    PLAYER.addToParty(p);
    dialog("Here you go!$$Enjoy...", 1);
}endif
unlock();
So I'm hoping it should be pretty obvious what it does, the idea is that it's easy to start using.
Let me know what you think.
Reply With Quote
  #15    
Old January 30th, 2013, 04:22 PM
Mortalis's Avatar
Mortalis
ѕĸyвorɴe.
Community Supporter
 
Join Date: May 2010
Location: Canada
Age: 18
Gender: Male
Nature: Relaxed
That looks very well done. It's clean, easy to understand, and looks fairly easy to use. Nice work once again.
Reply With Quote
  #16    
Old January 31st, 2013, 06:34 AM
Thecardlunatic
Unhatched Egg
 
Join Date: Jan 2013
Gender: Male
Screenshots look very good Very good work!
Reply With Quote
  #17    
Old February 1st, 2013, 10:40 AM
andytu's Avatar
andytu
Ditto engine developer
 
Join Date: Jan 2011
Gender: Male
Quote:
Originally Posted by SooperTrooper
That looks very well done. It's clean, easy to understand, and looks fairly easy to use. Nice work once again.
Cheers, I'm hoping it'll stay that way as more features get added...
I sent you a pm just now, so let me know what you want to do (if anything )

Quote:
Originally Posted by Thecardlunatic
Screenshots look very good Very good work!
Thanks! I've attached a couple more to this post showing HMs in action.
Attached Thumbnails
scr13.png‎   scr14.png‎   scr15.png‎  
Reply With Quote
  #18    
Old February 3rd, 2013, 08:50 PM
Mortalis's Avatar
Mortalis
ѕĸyвorɴe.
Community Supporter
 
Join Date: May 2010
Location: Canada
Age: 18
Gender: Male
Nature: Relaxed
Hey guys, just a small update on my part:

I've got almost all of the sprites resized (took me a while because Photoshop kept crashing for some reason and deleted all of my progress.) I'll be working on conversion and transparency background this coming week, I'll probably have them all ready for the project soon.

I may even be able to get started on naming them correctly. If there's anything else you need to me to do, send me another PM or two. (:
Reply With Quote
  #19    
Old February 5th, 2013, 09:23 AM
andytu's Avatar
andytu
Ditto engine developer
 
Join Date: Jan 2011
Gender: Male
Quote:
Originally Posted by SooperTrooper View Post
Hey guys, just a small update on my part:

I've got almost all of the sprites resized (took me a while because Photoshop kept crashing for some reason and deleted all of my progress.) I'll be working on conversion and transparency background this coming week, I'll probably have them all ready for the project soon.

I may even be able to get started on naming them correctly. If there's anything else you need to me to do, send me another PM or two. (:
The sprites all inserted perfectly!! Screenshot attached.

Thanks a bunch!
Attached Thumbnails
scr16.png‎  
Reply With Quote
  #20    
Old February 10th, 2013, 10:38 PM
monkeyman192's Avatar
monkeyman192
Unhatched Egg
 
Join Date: Feb 2013
Gender: Male
This looks really cool and I would definately like to help somehow!
I have a moderate amount of experience with python, however I have python 3 (P3 for brevity) installed at the moment...
I have had a go using pygame before to make a game of my own (which atm is only in the "physics engine works... kinda" stage), but there didn't seem to be any issues with it working with P3. I might see if I can change some of the code in the demo to P3 syntax and see if it still runs.
Send me a pm if you would like and hopefully I can help out
Reply With Quote
  #21    
Old February 27th, 2013, 05:21 PM
andytu's Avatar
andytu
Ditto engine developer
 
Join Date: Jan 2011
Gender: Male
UPDATE

It's been a while since I last posted, so I thought I'd make a quick update.

Monkeyman and xGeovanni are both helping out now, so that's pretty good news.

The menus are coming along pretty nicely, but we're trying to get the game world finished in the next few weeks so we can move on to the battle engine!! Very exciting... So, if anyone can think of any major game world features that we seem to have missed, please say something before we get stuck in to the battle engine We just need to put in ledges and I reckon we're pretty much there. I've added a couple of new screenies showing the menu and also sliding ice tiles...

Also I finally got my 15 posts, so I've posted all the screenshots/videos. Take a look if you haven't seen them.
Reply With Quote
  #22    
Old April 4th, 2013, 11:54 AM
andytu's Avatar
andytu
Ditto engine developer
 
Join Date: Jan 2011
Gender: Male
UPDATE

Not much love for this project yet is there? Still, development continues Ledges are in, weather is half in, and we're hopefully starting on the battle engine soon! Hopefully that'll excite a few more people.

Anyway, here's a brand new video for y'all.

Reply With Quote
  #23    
Old April 12th, 2013, 10:29 PM
pokemonBN
Unhatched Egg
 
Join Date: Apr 2013
Gender: Male
This is really amazing! I'm really glad you are using pygame and python, its a really simple language to pick up. Thanks again.
Reply With Quote
  #24    
Old April 16th, 2013, 02:25 PM
andytu's Avatar
andytu
Ditto engine developer
 
Join Date: Jan 2011
Gender: Male
Quote:
Originally Posted by pokemonBN View Post
This is really amazing! I'm really glad you are using pygame and python, its a really simple language to pick up. Thanks again.
Thanks! Yeah it is easy to pick up Python, although with the finished project the idea is that creating a basic game won't require any actual coding, only editing xml files, either by hand or I may build an editor at some point. Although you'll be able to extend the engine with Python if you want new or unsupported features...
__________________
Check out the Ditto Engine!
Reply With Quote
  #25    
Old June 12th, 2013, 08:44 AM
andytu's Avatar
andytu
Ditto engine developer
 
Join Date: Jan 2011
Gender: Male
Hi everyone, it's been two months so I thought I'd post to let you know that the project is still going! There's been a lot of work on the menus, and also the battle system is starting to take shape, so it's all very exciting!

Anyway, here's a new video to show you what's been happening...
__________________
Check out the Ditto Engine!
Reply With Quote
Reply
Quick Reply

Sponsored Links


Advertise here
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 02:54 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.