Flameguru
Pokemon: Metallic Silver
- 517
- Posts
- 18
- Years
- Seen Apr 26, 2024
Pokemon Engine in Java
By: Flameguru
Info:
I am currently in the process of developing a Pokemon Engine in Java. I am posting here to see if anyone here is interested in contributing to this project. If anyone here has knowledge of the Java language, it would be deeply appreciated if you could contribute to this project.
Some people may wonder why I would ever want to create an engine in Java while there is a perfectly good engine for RMXP. Many would argue that the RMXP engine is a million times easier to use, and they would all be correct. So whats the point? Well, I'm just in the mood for something different.
Doesn't it seem like more of an accomplishment to create a game based on a community driven game engine in Java than RMXP? I think this has a lot of potential so I am releasing the source along with the javadoc summary of the class files.
Videos of the Engine (OLD):
http://www.youtube.com/watch?v=0oBJYkn1ArM
http://www.youtube.com/watch?v=oDnssgVMahM
Pictures of the Engine:
Progress so far includes:
Title Screen - Pretty simple, but none-the-less, authentic feeling.
Continue Screen - Once again, simple, but it works and feels authentic.
Map System - Supports creation of Maps in a Map Editor that is included. It can have up to 3 layers but 2 is the optimal amount for slower computers. This is currently a semi-hard coded process. Maps are a large one-dimensional array that gets filled with values from a text file in the Data Folder. So the maps are part of the class, but are filled with values externally.
Overworld System - The player can walk around on a grid composed of 32x32 tiles. Walking animation is done and interaction with NPC's is functional.
Basic Menu System - Basic functions are done such as selections of menu items and the trainer card option is fully done. Other options are image placeholders with little or no code.
Battle System - Functional but all actions are outputted via the console instead of being displayed on screen. Status conditions and checks are performed. There are a variety of different moves and their powers are all different. The enemy AI is still proof of concept, but functional. If the player's pokemon faints, you will be teleported to a Pokemon Center. If you win, you will get EXP and eventually level up (stats are also increased). If you run, no EXP is earned.
Map Transfer - The player can be transferred to any map on any tile. This is achieved by using two strings and four integers. Its simple and works.
Wild Encounters - A random integer is created every 32 milliseconds and a integer is incremented every time the player steps on wild encounter tiles (known to the game as tile 17 in the tileset) Once this integer is greater than or equal to the randomly generated integer, a wild battle will be created.
Save System - Simple, outputs certain variables values to Data/profile.sav
Load System - Simple, sets certain variable values from Data/profile.sav
Download:
Source Code, Jar, and JavaDoc - Initial Public Release
Map Editor - by Judd - Put this in the Graphics Folder
Final Notes:
Currently, impassible tiles, event tiles, and NPC's are hard coded into an array. I am hoping to save this data into the map files themselves (similar to RMXP), but I'm not sure how to go about it.
Pokemon stats are also hardcoded into the Monsters class. I have started work on a method to load their data from Data/pokemon.txt but it does not work.
There is still much work to be done and this is in no way shape or form considered even remotely complete. This is simply a proof of concept, so please don't complain if a lot of things don't work or there are missing features (and there are).
If you are interested in contributing your skills to this project, leave a post here or PM me.
Thanks for reading.
By: Flameguru
Info:
I am currently in the process of developing a Pokemon Engine in Java. I am posting here to see if anyone here is interested in contributing to this project. If anyone here has knowledge of the Java language, it would be deeply appreciated if you could contribute to this project.
Some people may wonder why I would ever want to create an engine in Java while there is a perfectly good engine for RMXP. Many would argue that the RMXP engine is a million times easier to use, and they would all be correct. So whats the point? Well, I'm just in the mood for something different.
Doesn't it seem like more of an accomplishment to create a game based on a community driven game engine in Java than RMXP? I think this has a lot of potential so I am releasing the source along with the javadoc summary of the class files.
Videos of the Engine (OLD):
http://www.youtube.com/watch?v=0oBJYkn1ArM
http://www.youtube.com/watch?v=oDnssgVMahM
Spoiler:
Pictures of the Engine:
Spoiler:
Progress so far includes:
Title Screen - Pretty simple, but none-the-less, authentic feeling.
Continue Screen - Once again, simple, but it works and feels authentic.
Map System - Supports creation of Maps in a Map Editor that is included. It can have up to 3 layers but 2 is the optimal amount for slower computers. This is currently a semi-hard coded process. Maps are a large one-dimensional array that gets filled with values from a text file in the Data Folder. So the maps are part of the class, but are filled with values externally.
Overworld System - The player can walk around on a grid composed of 32x32 tiles. Walking animation is done and interaction with NPC's is functional.
Basic Menu System - Basic functions are done such as selections of menu items and the trainer card option is fully done. Other options are image placeholders with little or no code.
Battle System - Functional but all actions are outputted via the console instead of being displayed on screen. Status conditions and checks are performed. There are a variety of different moves and their powers are all different. The enemy AI is still proof of concept, but functional. If the player's pokemon faints, you will be teleported to a Pokemon Center. If you win, you will get EXP and eventually level up (stats are also increased). If you run, no EXP is earned.
Map Transfer - The player can be transferred to any map on any tile. This is achieved by using two strings and four integers. Its simple and works.
Wild Encounters - A random integer is created every 32 milliseconds and a integer is incremented every time the player steps on wild encounter tiles (known to the game as tile 17 in the tileset) Once this integer is greater than or equal to the randomly generated integer, a wild battle will be created.
Save System - Simple, outputs certain variables values to Data/profile.sav
Load System - Simple, sets certain variable values from Data/profile.sav
Download:
Source Code, Jar, and JavaDoc - Initial Public Release
Map Editor - by Judd - Put this in the Graphics Folder
Final Notes:
Currently, impassible tiles, event tiles, and NPC's are hard coded into an array. I am hoping to save this data into the map files themselves (similar to RMXP), but I'm not sure how to go about it.
Pokemon stats are also hardcoded into the Monsters class. I have started work on a method to load their data from Data/pokemon.txt but it does not work.
There is still much work to be done and this is in no way shape or form considered even remotely complete. This is simply a proof of concept, so please don't complain if a lot of things don't work or there are missing features (and there are).
If you are interested in contributing your skills to this project, leave a post here or PM me.
Thanks for reading.
Last edited: