• 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?".
  • Staff applications for our PokéCommunity Daily and Social Media team are now open! Interested in joining staff? Then click here for more info!
  • 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.

JEPE - Game Engine

Definitely possible to add in custom pokémon and sprites. We're making this with fangames in mind :D

As for customising the battle engine itself...you'd probably need to know java. We'll probably give clients/users the choice between generation mechanics (like RBY, GSC, RSEFRLG and DP) but it depends on how difficult that is. New moves will definitely be included, new abilities probably will. Abilities are harder, because tehy usually effect the battle mechanics themselves.
One thing we had thought of was AI - there will be about 4 or 5 different levels of it. wild pokémon, inexperienced trainers, experienced trainers, E4 member, champion... something like that. The first few will be essentially random with one or two rules, then e4 members will know all type weaknesses and use items, and champion will be pretty tough.
 
Fellow Java users! I downloaded your SVN and compiled it up a few weeks ago. Is the battle demo supposed to crash?
 
I'm glad the video went down so well :D
- It will definitely work in Windows. Windows, Mac, and Linux are our target OSes, and anyone who wants to compile it for another system is free to do so.
- We've discussed zooming in, there's a lot of differing opinions about it. I think we'll make it an option, if we can. Personally I'd rather the pixels were 1:1, but I agree that 640 x 480 is quite a big window size. Right now the window can be resized to whatever size the game maker wants, but we were also thinking of putting like a speed bar around the edge - a quick way to get to your team's info or your bag, for instance.
The goal is to be as flexible as possible of course, so all of the above could be implemented. I'm really glad so many people liked the video :D

The screenshot was taken after the video, so the lower route and city look more filled out now; we recently rewrote a bit to get maps to join one another instead of warping between them, and that stopped part of the object loading working. You can group objects into sets to make it easier to write the map code, which is in XML. Nice and easy for beginner coders, but potentially powerful if you know what you're doing.

Thanks again for the positive feedback :D

Er.. couldn't you just release a JAR file for other platforms? Java doesn't need to be recompiled. I'm also wondering what you'll use to distribute. We're using Java Web Start for now.

Also, you should be able to implement a resizable game (and I don't mean doubling up your pixels) if you're using Swing/AWT. Just make your interface elements reposition when the window resizes. I'm not sure how you're implementing scrolling maps, so I can't comment on it. We have offsets that are added to the map X and Y; they're added and subtracted along with the player position.

We're using the Tiled mapping format, which is XML-wrapped, but uses Base64 for tile data. Nice and space-efficient. It also has an existing map editor, which is a definite plus, as well as the ability to export back into pure XML if needed.
 
Pkmn_knight: Hm... Not sure about an online Java guide. It kind of depends what you're using. There are quite a few good ones if you just type 'java beginner' into Google.

Pivot: What program are you working on?
Yeah the battle engine sucks right now XD I've got some work converted from a text-only engine I was writing while Jepe was getting started, but we're having some fonts issues so it won't display :/
It's being a right bugger to compile at all (to a JAR anyway), so for out demo at least we're using OS-specific scripts.
Resizing is possible but not probable... I mean, for one thing we don't want people cheating and expanding the window to see ways out of mazes. But that's another issue. I'm sure we'll look into it, thanks :D Yes, we're working with x/y offset values for the maps too.
I dunno if you looked at our maps in XML when you got the SVN, but it works pretty well. We want to keep it readable for beginners for now, at least until we add a map-maker to it. I'm not at all familiar with Base64, but it looks like maps written in that would be pretty hard for a beginner at XML to just look down them to see which grass tile is in the wrong place. Exporting back and forward sounds a little tedious. Thanks for mentioning it though, I'll pass it along to the other guys.
 
BonzaiRob, I am developing an engine as well, so kinda like we are competitors now, mine is based on SDL, but i realize that all your game is made in XML which is interpreted, right? Isn't it gonna be so easy to destroy a game by just editing it so easily?

I am interested so please do reply.
 
Working on https://www.pokecommunity.com/threads/105235 .

I suppose we're the 'non-engine' games. There's also POL, obviously, Ekaiyo, and PokeQuest.

EDIT: Well, as for what DrCoolSanta said, there will always be ways to cheat in single-player PC games. I'm doing a multiplayer thing, so we can handle logic at the server side. However, even if you use binary for maps, some technically proficient guy can just bring up a hex editor and go to town. This is just an engine, anyway, so you should be able to edit your own maps.
 
DCS: yeah we're thinking about that. We'll probably have an online repository, and compare between on and offline data whens someone logs in, and flag it for a mod if there's a big difference (depending on time). Anything really unusual will just get banned from the server. Pivot is right though, there's really not much we can do.

Zofride: What would you like to know?
 
This would be awesome as an applet game. You'd be able to play in a web browser, integrate it with game rankings and you're set.

My only question would be, why XML?

I would never use XML for maps, only things like NPCs and shops lists.
 
Last edited:
We're going to integrate with web rankings too, there'll be a new trainer rating system. There's been some starting work on an applet system but nothing major yet.

XML: because it's really easy to work with.
Here's a standard tile (typed from memory, it's easy)
<tile image="grass2.png" x="15" y="14" />
then a fill:
<area fill="grass2.png" x="15" y="14" width="20" height="10" />
Wildgrass is a bit more complicated:
<actiontile class="WildGrass" baseImage="wildgrass1.png" animComingOver="WildgrassComingOverAnim.png:4,1:250:false" imageOnOver="wildgrass1OnOver.png" imageComingUnder="wildgrass1OnUnder.png" x="13" y="20" />
(class is the type of tile, base is what's normally there, then with the rest: either animation or image; coming, on, leaving or off; over or under the player.
You can also fill actiontiles.

And then objects:
<object image="tree.png" x="9" y="-2" recty="1" rectheight="2" />
recty (and rectx) are the offset of the collision rectangle, and the hight and width are obviously the height and width. So for that tree, I've offset the rect down one and made it smaller so it doesn't stick out the bottom.
You can also group objects into sets with relative x and y, fill objects in a linear way like the tiles, or fill objects in a pattern (like offsetting a row of trees).

Maps also set the maps around them (for smooth map movement) and the offset, so maps don't all have to be the same width and height to line up. Our overworld to-do list is currently warps, actions and NPCs, layering, and objects that only work if you walk into them from a certain direction.


To be honest, we were considering something else for NPC scripting at one point.. might have been Ruby. XML is ok for that, but it'd use a lot of if clauses to read a simple plot, and it can't send out instructions (like 'move on to the next plot point').
 
As long as you know what you're doing.
My tiledata looks more like this:
HTML:
[6,,,,,,,,,,,,,,,,,,,8,,8,,,,,,,7,,,,,,,,,,,,,,,4,,,
It doesn't need to be parsed in the same way.

It's just a single dimensional array.
 
Yes. I talk about it in my outdated article here.

The most up to date article can be found at the fangaming wiki.

Perhaps I'll transfer some of my data to your wiki if if it uses the general free documentation license too.
 
Just an FYI dude, the program won't run until it is updated, you should upload the working version and give people details on updating via SVN.

Edit:

I like what I'm seeing man, this is all your own work? Very nice.

One bug I noticed is that when you press Shift and try to run, your Character will be stuck at running speed, I'm sure you're aware of this though.

Good work!
 
It says as much in the Readme, we know :p As for updating it, this is the updated version. So it should run... we've been getting some errors on some Windows PCs though, still working on that.


EDIT We have a new demo up! It's at https://jepe.ptreasures.net/demo.php .
Hopefully this should sort out the problems that were stopping some Windows users from running it, and yu can now warp between maps (the lab in Maplewood and Peachblossom Woods are the two examples we currently have).
Coming next will probably action objects, such as houses, and more actiontiles (signposts, footprints, water). Not to mention a battle engine, which is doing strange things atm.
 
Last edited:
Back
Top