- 18
- Posts
- 14
- Years
- Seen Jun 18, 2020
Introduction:
Hello PokeCommunity!
I am writing a Pokemon MORPG (Multiplayer online role-playing game), this game will be written 100% in java and will be released for public playing as soon as the basics are done.
This game is being written with scratch, the only things used from Pokemon is resources such as sprites.
I also decided to work on a Pokemon MORPG ;).
Features:
Server:
- xSocket connection handling, packets etc etc.
- Multiplayer
- Player updating
- Map updating and route finding
- FULL update server, written to allow quicker transfer of small files accross the server.
Client:
- Quick graphics drawing, hasn't gone under set FPS at this point (50 fps).
- Decent caching system and cache fetching system.
- Group cache system, where files of a certain type can be grouped and loaded, such as sprites for a certain pokemon would be contained in a single file which could be exploded to get all of them.
- Packet handling, player updating, multiplayer, login etc etc.
- Basic animation (will be rewritten soon as it's not very accurate).
- Map updating/loading based on regions.
- "HTML Text engine", basically allows <col>, <shad>, etc tags to be implemented in strings.
- Scaling of client (zoom in).
List of implemented features:
- Interfaces, full support of text, images and java's graphic api, such as drawing and filling polygons to create backgrounds and images, this also includes variable content stuff such as client changed variables, including getting the users name etc, also has image scaling and other attributes.
- Update server, full CRC checksum system which checks every file is upto date when requested, if not then it grabs the file and packs it into the cache. Also includes handling of the recieved file instantly on transfer, so music or images can be loaded and returned to their original instance.
- Efficient memory storing, every class which has to store information does it using maps, these maps have limits based on the memory allocated to the game client.
- WorldController, full world map system, controls when to load a map based on your location, has support for multiple layers of tiles and objects which also supports multiple height levels. All data is stored in a smart way meaning that not every single tile has to have multiple bytes of data added, which would cause alot of extra space for empty tiles etc. Each map also has a sound file index attached to it so that regions can have set music aswell as variable music.
- Midi sound engine, the core sound class runs a constant sound, this would be the map/background music, and when a new sound is requested the engine creates a new player, when the sound has finished the player is removed, this means that there can be as many sounds going on at once as you like.
- Object, Entity and Item handling, full support of the forementioned.
- Animation, basic but working animation which supports variable frame times.
- HTML Text engine, allows the java graphics api to have attributed text drawn, such as "<col=ffffff>Hello there<col=ff0000>user" would draw "Hello there" in white and "user" in red. Also supports shadows, transparency, underline, bold, and many other attributes.
Tools:
Map editor - Very basic and not very pretty, but does the job.
Interface creator - Work in progress, at the moment it supports a few of the types the engine has.
Media:
Login screen (not finished):
Map rendering (note, only had 1 map, not the left, left-top or above, else they would have loaded):
Multiplayer:
Scaling:
VIDEO: Uploading at the moment, will provide link tomorrow.
Hello PokeCommunity!
I am writing a Pokemon MORPG (Multiplayer online role-playing game), this game will be written 100% in java and will be released for public playing as soon as the basics are done.
This game is being written with scratch, the only things used from Pokemon is resources such as sprites.
I also decided to work on a Pokemon MORPG ;).
Features:
Server:
- xSocket connection handling, packets etc etc.
- Multiplayer
- Player updating
- Map updating and route finding
- FULL update server, written to allow quicker transfer of small files accross the server.
Client:
- Quick graphics drawing, hasn't gone under set FPS at this point (50 fps).
- Decent caching system and cache fetching system.
- Group cache system, where files of a certain type can be grouped and loaded, such as sprites for a certain pokemon would be contained in a single file which could be exploded to get all of them.
- Packet handling, player updating, multiplayer, login etc etc.
- Basic animation (will be rewritten soon as it's not very accurate).
- Map updating/loading based on regions.
- "HTML Text engine", basically allows <col>, <shad>, etc tags to be implemented in strings.
- Scaling of client (zoom in).
List of implemented features:
- Interfaces, full support of text, images and java's graphic api, such as drawing and filling polygons to create backgrounds and images, this also includes variable content stuff such as client changed variables, including getting the users name etc, also has image scaling and other attributes.
- Update server, full CRC checksum system which checks every file is upto date when requested, if not then it grabs the file and packs it into the cache. Also includes handling of the recieved file instantly on transfer, so music or images can be loaded and returned to their original instance.
- Efficient memory storing, every class which has to store information does it using maps, these maps have limits based on the memory allocated to the game client.
- WorldController, full world map system, controls when to load a map based on your location, has support for multiple layers of tiles and objects which also supports multiple height levels. All data is stored in a smart way meaning that not every single tile has to have multiple bytes of data added, which would cause alot of extra space for empty tiles etc. Each map also has a sound file index attached to it so that regions can have set music aswell as variable music.
- Midi sound engine, the core sound class runs a constant sound, this would be the map/background music, and when a new sound is requested the engine creates a new player, when the sound has finished the player is removed, this means that there can be as many sounds going on at once as you like.
- Object, Entity and Item handling, full support of the forementioned.
- Animation, basic but working animation which supports variable frame times.
- HTML Text engine, allows the java graphics api to have attributed text drawn, such as "<col=ffffff>Hello there<col=ff0000>user" would draw "Hello there" in white and "user" in red. Also supports shadows, transparency, underline, bold, and many other attributes.
Tools:
Map editor - Very basic and not very pretty, but does the job.
Interface creator - Work in progress, at the moment it supports a few of the types the engine has.
Media:
Login screen (not finished):
![[PokeCommunity.com] [JAVA] PoKéMoN MORPG [PokeCommunity.com] [JAVA] PoKéMoN MORPG](https://img839.imageshack.us/img839/9505/loginscreeng.png)
Map rendering (note, only had 1 map, not the left, left-top or above, else they would have loaded):
![[PokeCommunity.com] [JAVA] PoKéMoN MORPG [PokeCommunity.com] [JAVA] PoKéMoN MORPG](https://img15.imageshack.us/img15/8650/maprendering.png)
Multiplayer:
![[PokeCommunity.com] [JAVA] PoKéMoN MORPG [PokeCommunity.com] [JAVA] PoKéMoN MORPG](https://img14.imageshack.us/img14/3141/multiplayer.png)
Scaling:
![[PokeCommunity.com] [JAVA] PoKéMoN MORPG [PokeCommunity.com] [JAVA] PoKéMoN MORPG](https://img18.imageshack.us/img18/3519/scalingc.png)
VIDEO: Uploading at the moment, will provide link tomorrow.