|
Post by BonzaiRob on Nov 26, 2005 19:30:35 GMT
Since not everyone can see into the Scripting forum, I'll put your minds at ease and tell you we basically have bugger all.
For now, we're trying a code called Python, with a GUI library called Pygame (there's some online packs too - online is possible here).
Python is very customisable, and it's a pretty simple language (simple compared to C or C++, which means not very simple at all). So, anyone with any knowledge of Python, or other codes, or anyone seriously willing to learn (this will be long and hard) please let us know, since we'll need all the coders we can get.
---THE FOLLOWING IS FOR CODERS AND MAY MAKE YOUR BRAIN HURT IF YOU ARE NOT EXPERIENCED--- The first thing we need to do is sort out calls to images, next it's keyboard inputs (other than raw_input, which isn't very helpful game-wise). Another thing is to get it outside the raw output window and into its own, specific window. It would be a good idea to split the code up into bits, so you have the main application part along with the code defining images, physics (if any), and lastly some big files with the pokémon info, move info, etc. Preferably not XML, otherwise people can change all their favourite moves to be learned at level 0, and we get that perennial favourite, the lv.100 Hyper-Beam Magikarp. We still need to decide whether we're going with Engine + Game or combining the two for a PT only thing and making the engine afterwards. This can't happen until we get more coders, otherwise it's just me and FMY making all the decisions.
|
|
|
Post by FMY on Nov 27, 2005 0:21:16 GMT
OF course it will be divided in multiple files. I'd say one for every function and object, or at least one file for all similar funstions and objects. Also, I think we should compile the game, you don't have to do that with python, but if you do, your program will be faster and can be played without having python installed. The pokémon classes wouldn't be changable either then, eventhough XML would be great for compatibility between different games.
However, since I think this project should be an open source project, I think we should also distribute a code version.
I'd also say: first PT, then engine. We're no python masters yet, so let's go the easy way.
|
|
|
Post by Fluo on Nov 27, 2005 22:45:07 GMT
Python is very customisable, and it's a pretty simple language What do you mean by customizable? Python's design philosophy is that there is (preferably) only one way to do a given task, so it's not easy to customize the language itself. Languages like Ruby have a much more open design, while languages like Lisp or Scheme allow you to create your own control structures. Pygame is supposed to do all that for you. Read the tutorials to get acquainted with the methods to use. www.pygame.org/wiki/tutorialsThe cPickle module can dump python objects in a file and retrieve them. You have to retrieve them in the order they were dumped, however. The shelve module allows you to store a dictionary in a file. Also, in case you didn't know, in the interactive python prompt, you can use "help(x)" to get help about a module you loaded or a method. It also features useful tab completion. I don't see how that is a problem. If the game is standalone, it doesn't really matter if people modify things for their own version - in fact, it's part of the fun. If it is online, then the information should not be on their computer in the first place, unless for caching purposes. I'm not sure I understand what you mean by engine. How do you expect to make PT work if you don't have any engine to support it? I've been thinking about making a general purpose battle engine for a while but I don't feel like using Python. I'm pondering Scheme.
|
|
|
Post by FMY on Nov 28, 2005 18:13:31 GMT
I don't see how that is a problem. If the game is standalone, it doesn't really matter if people modify things for their own version - in fact, it's part of the fun. If it is online, then the information should not be on their computer in the first place, unless for caching purposes. Yeah, you're quite right about that. However, I thought it would be partly an offline game, partly an online game, which means that at least some data should be saved offline. Now that I think about it however, maybe we should make it completely online or offline with just a trade function. It's a little strange to do it both. Of course, even if it's online, it would be possible to make personal areas, but we'd need to have a server then. Maybe we should start with an offline game with peer to peer trading. I thought he made an engine to make pokémon games, like RPG maker for RPG games. Well, it's not that we completely decided to use python. It's a language I know a little, that's cross platform, not too hard and you advised us to use it, so that's what we wanted to do. I know C++ better however, and I'm ready to learn any language, so if we could use your battle engine (or it's source code), we could make our game in the same language.
|
|
|
Post by BonzaiRob on Nov 28, 2005 20:44:38 GMT
By cutomisable I mean we can do whatever we like within it. The code itself is not, the programs we create are.
I cannot use Pygame until I upgrade my OS.
By engine I mean a platform with the basic coding for a pokémon game programmed in so that coders can customise it to their own needs.
I could learn C++ bu i can't do that until I upgrade my OS either. It woulkd me much simpler for me to make the whole lot on Flash (and I could too) but we're using Python because of a situation called compromise, where we use what is best for the most people, and until Fluo posted I though me and FMY were the only coders who had posted - Linux and Mac users. I've learned what I know of Python very quickly, so to me it seems like a good option.
Since we have the online option (go to uselesspython.com , there's an IM client and some socket codes, all open source, no problemo) It makes more sense that users download the whole lot and we release upgrades rather than having to dowload a list of, what, 400 pokémon with all their stats, EVs, moves, egg times and groups etc every time you want to play. Buildings and plot points would be client-side, routes would be server side. (If jerks try to block paths there could be toggle for hit-detection, and if they want to prey on low-level noobs you would be able to decline challenges...)
|
|
|
Post by BonzaiRob on Sept 6, 2006 16:01:05 GMT
ALL CHANGE Well, MY was having some speed issues with Python, and it wasn't the most compatible of languages. So, we've decided to change to Java, using the SDLJava game library system, and XML for non-engine information (for now, just maps).
We made some progress with Python in the end, but it's not being difficult to port to Java. While FMY is working on that, we have also hired Antarctros, who as been working dilligently on pokémon and battle classes. Myself, I've been making maps in XML - so far we have Maplewood Town, Route 56, Edgegrove City, and Hillside Town. Those are the only maps that had been put together previously (by Shadolf).
We're aiming to have the game itself complete for version 1.0. Version 1.5 will bring you online, global trades, with other people on other games using the Treasures engine. Finally, version 2.0 will give you full online MMO capabilities (that would mean seeing the other players who are online, and being able to talk, battle, trade and all sorts of other cool features). There'll be other releases periodically, including gifts and new items; perhaps even new regions!
So where does that leave us? Well, now we're bringing everything together ready to be coded. Pokémon, towns, berries, trainers, NPCs, music, storyline, EVERYTHING. So watch this space; I'll post more about what we need every so often (when we need it).
|
|
|
Post by newc254 on Sept 15, 2006 17:00:41 GMT
As you're switching over to Java, a language i can program in, i should be able to help out a bit. I had the same speed problems in Python. Anyway I have a little Java demo of a GUI thing ive been working on DS style (I figure this project will take well over a year so might as well do it dp style, sans 3d overworlds for now). Anyway I dont know how much i can help out but im willing to try. Also, i've been using the GTGE engine for a while - goldenstudios.or.id Its pretty good for somethings though there are bugs and the owner wont open up the source/allow other programmers to help and isnt working on it much, so im gonna switch to something else eventually. For now though having something with a lot of work already done for 2d games helps to work more on the game programming and less on the library programming. Ive got prototypes of various things at various stages of development - most of a pokedex, a dude walking around a map, various menus, though they're all prototypes and rather disorganised.
|
|