PDA

View Full Version : [Engine] Pokemon C# Engine


oxysoft
February 16th, 2013, 05:39 PM
Last thread update: 2013, July 3rd

PokeSharp (for lack of a better name)

PokeSharp is a Pokemon engine written in C# using the XNA framework for rendering. The engine has been in development for quite some time however no in-game related things have been programmed yet, only the Map Editor has been worked on so far. However, Alot of the stuff written for the Map Editor will be reused for the Engine itself.

Purpose

The engine is being made to replace Pokemon Essentials. It will allow for a much better experience. Whenever I play a RPG maker based pokemon game, it alway feels weird and not like the original games and this is what I am trying to change in my Engine. The Map Editor is built for fast development and has only a small learning curve.

Cost

The engine will be absolutely free. I am 15 years old and doing this alone and completely out of free will, donations are greatly appreciated. Those who donate 5$ and up will have some sort of honorable mentions, I don't know yet. Perhaps a special rank on the forum when we have one or access to new builds of the engine and upcoming features.

Features

Engine Features:
- Day Night cycles with customizable colors
- C# Game component scripting
- Dynamically generated shadows for entities
- User-friendly easy to make events with all flow control statements
- Striving to make the engine feels EXACTLY like you were playing the real games, unlike with RPG Maker XP

Game Editor Features:
- All-in-one game editor, edit everything in it from maps to items to moves
- Import your own tilesets and entities
- Logic tile C# scripts
- Definable default project to load when the editor is opened
- 16 Layers of tiles
- Built-In script editor with syntax highlighting

FAQ

Q: What language is it written in? Does it use any framework?
A: C#, XNA framework

Q: What will it cost?
A: Free, will take donations

Q: How long have you been programming for?
A: Almost 2 years now. Started with Java and moved to C# about 2 months ago. C# is much more powerful. Screw Java. Java sucks. (for games at least...)

Q: What are your plans with regards to functions the future game developers will have once this engine is released? Rudimentary functions such as adding NPC's, giving Pokemon, giving items, etc. are expected but to which detail are you looking to giving default functions and actions for the developer to use?
A: Everything that has been done in Pokemon games from Pokemon Red to Pokemon Black and White 2 should be hopefully doable, whether it be an actual integrated feature of the engine or something you will have to code yourself with a LUA script.

Q: Will it be ported to the Xbox 360 seeing as it uses the XNA framework?
A: I don't think so. If yes, you will not be able to create projects on it, you will have to make them on the computer then submit them to a marketplace or something like that then it will be downloadable on the Xbox.

Medias

Engine

https://www.youtube.com/watch?v=wPkDUCsacio
https://www.youtube.com/watch?v=m7ZdS1g1Wvo
http://www.youtube.com/watch?v=kO9rSbEZMyQ


Map Editor

http://www.youtube.com/watch?feature=player_embedded&v=s09VA4pO0VQ


Credits
Pokemon Dawn / Krissel095 - same programming design patterns hierarchy reused + map editor design inspiration + some code from Dawn

Rayquaza.
February 21st, 2013, 12:38 PM
Looks pretty good so far. Don't think there have ever been any successful Pokémon Engines yet so if this makes the cut that would be great, keep up the good work and good luck.

oxysoft
February 22nd, 2013, 08:11 AM
Almost done coding map connections

http://puu.sh/26D39

Satoshi Ookami
February 22nd, 2013, 10:29 AM
Looks interesting.
I'm glad you chose to do it in C# instead of Java. ;)
It's surely gonna be much better and more user friendly =) (Opinion as someone who pretty much hates Java xD)

kudoms
March 1st, 2013, 09:59 AM
I really like your map editor, I might edit mine by removing the grid and just making the last tile pos purple as you did.

Team Fail
March 1st, 2013, 06:57 PM
I really like what you have going here, and I'd look forward to a preliminary release, especially because it's in XNA. Best of luck to you on this project c:

oxysoft
March 2nd, 2013, 07:33 AM
Here's a preview of the map editor (no map viewing yet)

http://puu.sh/2aOQP
http://puu.sh/2aOSy

Rayquaza.
March 2nd, 2013, 09:12 AM
Wow, if you pull this off then RMXP will be almost completely dead.

oxysoft
March 2nd, 2013, 07:41 PM
I started working on the map rendering in the map viewer
http://puu.sh/2baWH

I also added a fill type of brush, as it can be nice sometime
http://puu.sh/2baZu

Serene Grace
March 4th, 2013, 11:50 AM
This looks incredibly promising, and from somebody who has witnessed a friend try to re-create a map editor from scratch in XNA I bet there's a lot of work that has been put into this already. I really like the fact that this works through C#. I've only just recently learnt C# language and even more recently familiarised myself with XNA - therefore I know how powerful it can be!

I do have a question, however: what are your plans with regards to functions the future game developers will have once this engine is released? Rudimentary functions such as adding NPC's, giving Pokemon, giving items, etc. are expected but to which detail are you looking to giving default functions and actions for the developer to use? A planned list will be nice, and some people who are prominent at XNA could even help you to write them up, allowing for a quicker build overall. I do believe that the more functions you add, the merrier!

P.S. That map editor looks beautiful!

oxysoft
March 23rd, 2013, 06:23 AM
After almost 3 weeks of not giving any update, here is what I have been doing!

http://puu.sh/2muyf

http://puu.sh/2muyG

In response to Serene Grace above, I will give enough options to make a full game that mimics for example Fire Red or Emerald but i'm not sure about custom scripts that are ran on runtime and add full new functionalities and I have no idea how I would implement them.

Rayquaza.
March 26th, 2013, 08:12 AM
This thing gets better with every screenshot. I really can't wait to see this dominating the whole of Game Dev.

balaam
March 27th, 2013, 06:00 PM
Your editor looks great! I usually use Tiled, the opensource tilemap editor but you cant beat one you've made for really fitting your needs. C# is hard to beat for making tools fast!

Lord Varion
March 28th, 2013, 03:13 PM
Damn.
How have I been missing this, it's looking good.
How to see more, if it turns out good, as seen, I'll be using. <3

oxysoft
March 29th, 2013, 08:26 AM
I uploaded a video yesterday and I forgot to post it here, so here it is !

s09VA4pO0VQ

Team Fail
March 29th, 2013, 08:32 AM
Seeing your preview of a map editor is making me rather excited haha.

Will this be compatible with the Xbox XNA as well, or just the PC version? Seeing as I have an indie license, I wouldn't mind trying it on the Xbox once you have an initial release.

oxysoft
March 29th, 2013, 08:43 AM
Seeing your preview of a map editor is making me rather excited haha.

Will this be compatible with the Xbox XNA as well, or just the PC version? Seeing as I have an indie license, I wouldn't mind trying it on the Xbox once you have an initial release.

I doubt it will but who knows. You could download games from a marketplace i would make or something I assume. I doubt I would port the map editor to xbox though.

DaSpirit
March 29th, 2013, 08:57 AM
Will this be compatible with the Xbox XNA as well, or just the PC version? Seeing as I have an indie license, I wouldn't mind trying it on the Xbox once you have an initial release.
I think the question should be whether it would be allowed. I don't think it would be allowed.

oxysoft
March 29th, 2013, 09:07 AM
I think the question should be whether it would be allowed. I don't think it would be allowed.

That's what I was thinking too since the sprites don't belong to me (not even the name)

When I finish this project though, I plan on making it free and taking donations.

Whitney's Shaymin
March 29th, 2013, 09:10 AM
I think the question should be whether it would be allowed. I don't think it would be allowed.

If it would be free, there would most likely be no problem. If you were to sell it...

Team Fail
March 29th, 2013, 11:48 AM
You necessarily don't have to make a Pokémon game out of a Pokémon engine. Since it's all open-source (I think), you can always adapt it in various ways. But I think it's feasible, because from what I'm seeing, the map editor is part of windows and not part of the actual game executable, am I correct?

oxysoft
March 29th, 2013, 11:56 AM
You necessarily don't have to make a Pokémon game out of a Pokémon engine. Since it's all open-source (I think), you can always adapt it in various ways. But I think it's feasible, because from what I'm seeing, the map editor is part of windows and not part of the actual game executable, am I correct?

You are correct, it is a windows form.

Team Fail
March 29th, 2013, 11:59 AM
You are correct, it is a windows form.

Shouldn't be too hard to port over to the Xbox. All that'd need to be adjusted is the actual game engine to utilise Xbox hardware (Like the game controller as opposed to a keyboard) and whatnot. If I had time on my hands, and a laptop, I'd try porting it, but lack of time would get to me.

DaSpirit
March 29th, 2013, 12:03 PM
If it would be free, there would most likely be no problem. If you were to sell it...
Well, if you put it on the Xbox store, it would be in a commercial environment even if you don't sell it so I don't think it would be allowed.

guitargodd97
March 29th, 2013, 03:34 PM
This looks really sick! I'm going to watch this really closely. The map editor is amazing! I can't wait to see what you come up with when you get around to creating the battle system!

Team Fail
March 29th, 2013, 09:32 PM
Well, if you put it on the Xbox store, it would be in a commercial environment even if you don't sell it so I don't think it would be allowed.

Not necessarily. If someone has an indie license, they can run it on their Xbox. Of course, if I did an Xbox version, I'd also make a version for Windows in which all that's different is how it runs so that it's optimized for the system it's on.

Rayziken 2
April 3rd, 2013, 03:50 AM
This looks amazing! I can't wait to see how it turns out. The second a download is available I'll be downloading it.

Also, will custom tiles be able to be imported? That would make this even better than it already looks.

oxysoft
April 9th, 2013, 06:44 PM
This looks amazing! I can't wait to see how it turns out. The second a download is available I'll be downloading it.

Also, will custom tiles be able to be imported? That would make this even better than it already looks.

Yes, tilesets and entities will be completely modifiable however you want it.

oxysoft
April 12th, 2013, 03:42 AM
added tile logic scripting and layers

http://puu.sh/2yAVo

this patch of grass was created using only the grass script

http://puu.sh/2yAWB

http://puu.sh/2yAWY

This is the instant path tool using tile logic, you can draw sort of like paths with it, kinda useful when you quickly and accurately want to make good looking paths

Lord Varion
April 12th, 2013, 05:09 AM
added tile logic scripting and layers

http://puu.sh/2yAVo

this patch of grass was created using only the grass script

http://puu.sh/2yAWB

http://puu.sh/2yAWY

This is the instant path tool using tile logic, you can draw sort of like paths with it, kinda useful when you quickly and accurately want to make good looking paths

Will it always ,make the paths 3x3 tiles or can you shorten or lengthen it?

oxysoft
April 12th, 2013, 11:25 AM
Will it always ,make the paths 3x3 tiles or can you shorten or lengthen it?

currently no but i could add an option for that if that's something people want

Lord Varion
April 12th, 2013, 03:56 PM
currently no but i could add an option for that if that's something people want

Well, you can put my vote in the tin.

Maruno
April 13th, 2013, 03:30 AM
You really should only draw paths on the tiles the user draws them on. It's not that much harder than what you've already done, in terms of choosing the right path graphic for each tile, and it's definitely what people expect to happen and may well want to happen.

oxysoft
April 13th, 2013, 04:26 AM
You really should only draw paths on the tiles the user draws them on. It's not that much harder than what you've already done, in terms of choosing the right path graphic for each tile, and it's definitely what people expect to happen and may well want to happen.

Well, at first, I only wanted to facilitate the making of paths so I made this brush but if I add some sort of width option for the path, set at 0 or 1, it would be what you want.

Anyway,
Here is a simple route map I have made in about 10 minutes yesterday to test the usability of the editor engine. I might have to add copy and pasting of entities and tiles.

http://puu.sh/2zdzN

You can see it's kind of lacking toward the end of it, I ran out of ideas and I was too lazy to continue it.

WeNeedFocus
April 14th, 2013, 03:17 AM
I gotta say, that sure does look nice!
The connecting tiles such as paths and tall grass look nice, and make it easy since it's automatic.
I noticed that the trees' and rocks' (entities?) shadows overlapped the tall grass and water.
I'm guessing you put the tiles into one layer, and entities on a higher layer. And since the tiles are drawn first, entities then will then overlap tiles.
Is the water animated? What about the tall grass when you walk over it? The reason why Nintendo doesn't connect the tall grasses is probably because when you walk over it, the grass shakes (2-3 frames). Animating each piece of grass is hard, so they leave each one individual. I don't know if it's like that in the newer Pokemon games, since I don't play them, but it would look nice if the water and tall grass are animated.
This kinda motivates me to get back to Xna. Nice work! [I rarely comment]

oxysoft
April 14th, 2013, 07:33 AM
I gotta say, that sure does look nice!
The connecting tiles such as paths and tall grass look nice, and make it easy since it's automatic.
I noticed that the trees' and rocks' (entities?) shadows overlapped the tall grass and water.
I'm guessing you put the tiles into one layer, and entities on a higher layer. And since the tiles are drawn first, entities then will then overlap tiles.
Is the water animated? What about the tall grass when you walk over it? The reason why Nintendo doesn't connect the tall grasses is probably because when you walk over it, the grass shakes (2-3 frames). Animating each piece of grass is hard, so they leave each one individual. I don't know if it's like that in the newer Pokemon games, since I don't play them, but it would look nice if the water and tall grass are animated.
This kinda motivates me to get back to Xna. Nice work! [I rarely comment]

Tiles are all rendered (all 16 layers from 0 to 16) then the entities are. Shadows are generated by the engine as you probably noticed. It will be possible to disable shadows for multiple entities if you wish or change some parameters modifiers to increase shadows or something.

Nothing is animated yet, but of course it'll be included in the future. The tall grass is actually from Heart Gold and Soul Silver. I will do my best to make it somewhat exactly like in those games but also editable so that those who want to use different tilesets of their own are not restricted by those animations.

I have updated the main post to have more information

Nyndyll
April 15th, 2013, 03:32 PM
Look forward to using this program!
If I knew c# I would be less shy about using this, but...

So would this include like a wild editor? Or would that have to be programmed with the language?
I'll see for myself once you've got a usable version available.

oxysoft
April 15th, 2013, 04:59 PM
Look forward to using this program!
If I knew c# I would be less shy about using this, but...

So would this include like a wild editor? Or would that have to be programmed with the language?
I'll see for myself once you've got a usable version available.

What do you mean a wild editor? The whole game is to be made inside the map editor itself, no need for additional programs. :)
You will not have to know C# if you want to use the engine, though, some very basic LUA knowledge will be required for event scripting. I will have code samples for those interested.

Nyndyll
April 16th, 2013, 12:47 PM
What do you mean a wild editor? The whole game is to be made inside the map editor itself, no need for additional programs. :)
You will not have to know C# if you want to use the engine, though, some very basic LUA knowledge will be required for event scripting. I will have code samples for those interested.

I meant like in essentials, you need to use an external program to edit the wild pokemon. But since you say that that won't be necessary, then you answered my question!
I know a little lua, so that shouldn't be a huge issue.

oxysoft
April 16th, 2013, 04:16 PM
I meant like in essentials, you need to use an external program to edit the wild pokemon. But since you say that that won't be necessary, then you answered my question!
I know a little lua, so that shouldn't be a huge issue.

RPG maker wasn't made for pokemon :P

bartyboy6
April 17th, 2013, 04:54 AM
When will it be available for download?

oxysoft
April 17th, 2013, 05:00 PM
When will it be available for download?

When it's done obviously ;)

Varion Bluefire
April 18th, 2013, 06:17 AM
RPG maker wasn't made for pokemon :P

When he says 'an external program' he doesn't mean RPG Maker XP.
He's talking about Editor.exe
Which comes with the Essentials project folder.
It allows you to edit Metadata, connections for maps, wild pokemon, trainers, trainer types, animations, text, items, etc.

WeNeedFocus
April 18th, 2013, 10:44 AM
Imo, this app looks promising, it will probably be better than Essentials once released.
Although I'm not trying to offend oxysoft in anyways, I'm kinda disappointed at how slow this is progressing. Maybe you can add a few more screen shots once in a while?

But overall, it looks great!

oxysoft
April 18th, 2013, 11:41 AM
Imo, this app looks promising, it will probably be better than Essentials once released.
Although I'm not trying to offend oxysoft in anyways, I'm kinda disappointed at how slow this is progressing. Maybe you can add a few more screen shots once in a while?

But overall, it looks great!

Would progress faster if I wasn't so lazy during the week after school :P
I'm gonna try to force myself to code more now

Varion Bluefire
April 18th, 2013, 01:38 PM
Imo, this app looks promising, it will probably be better than Essentials once released.
Although I'm not trying to offend oxysoft in anyways, I'm kinda disappointed at how slow this is progressing. Maybe you can add a few more screen shots once in a while?

But overall, it looks great!

I'd say he's progressing faster than most engines I've seen around actually. <3

WeNeedFocus
April 18th, 2013, 03:21 PM
I'd say he's progressing faster than most engines I've seen around actually. <3

If he posts images more often, it would seem like he is progressing even faster.
Also, oxysoft, if you ever get stuck on something and don't know how to handle it, or want a better way to implement it, just ask. I might be able to lend a hand. :)

I like where this editor is heading.

Varion Bluefire
April 18th, 2013, 03:27 PM
If he posts images more often, it would seem like he is progressing even faster.
Also, oxysoft, if you ever get stuck on something and don't know how to handle it, or want a better way to implement it, just ask. I might be able to lend a hand. :)

I like where this editor is heading.

Eh, there's no need to mega update stuff.
Better off only showing major things, which oxysoft has been doing.

WeNeedFocus
April 18th, 2013, 03:41 PM
Eh, there's no need to mega update stuff.
Better off only showing major things, which oxysoft has been doing.

Well, I guess he doesn't have to show every little thing, but putting images to show progress keeps this going, and gets even more followers, imo.

And it keeps super-followers like me tied to the thread.

Varion Bluefire
April 18th, 2013, 03:49 PM
Well sit there and keep following?
Asking more images is just pressure, which causing the OP to feel under pressure, and probably mess some things up.

oxysoft
April 18th, 2013, 04:41 PM
The thing is right now I'm trying to think of a better way to program map connections. Suggestions are appreciated :)

WeNeedFocus
April 19th, 2013, 04:25 AM
I pm'ed you, hope it helps.

Varion Bluefire
April 19th, 2013, 05:01 AM
I don't know a lot about c#.

But essentials currently has it so you drag and drop the maps together, and save it. It then complies it into the .txt for RGSS to read and compile into the game.

Is something like that doable in C#?

WeNeedFocus
April 19th, 2013, 05:07 AM
That was one of my opinions, to drag and drop maps, so you can align them.
It makes it really simple for us developers.
Of course it's possible, it would be odd if Essentials can do it, and C# cannot.

KingCharizard
April 19th, 2013, 07:07 AM
Very cool, this has sparked my interest.

If you'd like a little help drop me a PM and we can discuss working together.

WeNeedFocus
April 19th, 2013, 07:45 AM
Aww man! I'm dissappointed.
I was amazed at that Map Editor you made, how you can select tiles at different sizes, place entities, and I loved the SmartPlace feature that placed tiles that automatically 'adapt' to the ones near them.
After doing a lot of searching on Google for other stuff like this, I found Pokemon Dawn Engine, an open source C# Pokemon Engine.... Just like this. I downloaded the source code, and checked some stuff, and the map editor is nearly identical...
If you're going to steal, at least give credit. And here I thought you were doing all this from scratch!!
If you did do something, it was probably compile those tilesets into one from others..
Next time don't change the name of something that is already made, releasing it again. If you're going to make a Pokemon C# Engine, even if you're going to learn from other source codes, at least don't copy and paste. Do it in your own way, hell, you even kept the design of the forms the same...
I once, several months ago, started a C# Xna based Pokemon game, but I stopped. I'm now going to pickup that project, and continue. I'm going to make an ever better engine than Dawn, and It won't be based on it either.
Thank you, oxysoft, for inspiring me to get back to it, and have a nice day.

KingCharizard
April 19th, 2013, 09:41 AM
Aww man! I'm dissappointed.
I was amazed at that Map Editor you made, how you can select tiles at different sizes, place entities, and I loved the SmartPlace feature that placed tiles that automatically 'adapt' to the ones near them.
After doing a lot of searching on Google for other stuff like this, I found Pokemon Dawn Engine, an open source C# Pokemon Engine.... Just like this. I downloaded the source code, and checked some stuff, and the map editor is nearly identical...
If you're going to steal, at least give credit. And here I thought you were doing all this from scratch!!
If you did do something, it was probably compile those tilesets into one from others..
Next time don't change the name of something that is already made, releasing it again. If you're going to make a Pokemon C# Engine, even if you're going to learn from other source codes, at least don't copy and paste. Do it in your own way, hell, you even kept the design of the forms the same...
I once, several months ago, started a C# Xna based Pokemon game, but I stopped. I'm now going to pickup that project, and continue. I'm going to make an ever better engine than Dawn, and It won't be based on it either.
Thank you, oxysoft, for inspiring me to get back to it, and have a nice day.

it appears you may be correct. I looked into it aswell and things do seem alot alike. But then again it could be a coincidence...

Rayquaza.
April 19th, 2013, 09:41 AM
Aww man! I'm dissappointed.
I was amazed at that Map Editor you made, how you can select tiles at different sizes, place entities, and I loved the SmartPlace feature that placed tiles that automatically 'adapt' to the ones near them.
After doing a lot of searching on Google for other stuff like this, I found Pokemon Dawn Engine, an open source C# Pokemon Engine.... Just like this. I downloaded the source code, and checked some stuff, and the map editor is nearly identical...
If you're going to steal, at least give credit. And here I thought you were doing all this from scratch!!
If you did do something, it was probably compile those tilesets into one from others..
Next time don't change the name of something that is already made, releasing it again. If you're going to make a Pokemon C# Engine, even if you're going to learn from other source codes, at least don't copy and paste. Do it in your own way, hell, you even kept the design of the forms the same...
I once, several months ago, started a C# Xna based Pokemon game, but I stopped. I'm now going to pickup that project, and continue. I'm going to make an ever better engine than Dawn, and It won't be based on it either.
Thank you, oxysoft, for inspiring me to get back to it, and have a nice day.

You know that this is from scratch.

Just because they're similar doesn't mean they're the same. This is unique because it is here on this community, the biggest Pokémon fangame forum in the world, and will almost certainly be better.
If you have nothing to say exept false facts then say nothing at all. All that you have said is really quite rude and it is people like you have set my teeth on-edge.

WeNeedFocus
April 19th, 2013, 10:26 AM
Just because they're similar doesn't mean they're the same. This is unique because it is here on this community, the biggest Pokémon fangame forum in the world, and will almost certainly be better.
If you have nothing to say exept false facts then say nothing at all. All that you have said is really quite rude and it is people like you have set my teeth on-edge.

Yea, there is a possibility it's a coincidence, but if I understand your comment correctly, you're saying it's unique because it's the first time it has been posted on this forum. So you're saying it's okay to steal if it's from another forum?!

It's possible that they are very similar, but how do you explain the similar form design? Hell, even he toolbar icons were the same! How can you explain that? Also, I always make sure I have proof before I make accusations.

Rayquaza., did you even search the internet for Dawn Engine before insulting and accusing me of false accusations?!

This is [supposedly] his engine: youtube.com/watch?v=s09VA4pO0VQ

This is Pokemon Dawn Engine [Official Youtube Channel]: youtube.com/watch?v=Kno4RxOlJ80

Next time, before you attack me back, search and do your research. The icons, the names of the toolbar menus, and even the default outdoor tile set is the same, not to forget that Dawn Engine is open source, so any one can steal or contribute to it.

All the evidence you need is in front of you, don't be a fool.

Maruno
April 19th, 2013, 11:20 AM
I'm locking this thread, pending an investigation.

EDIT: I've unlocked it again. Oxysoft should be explaining things shortly. Don't derail the thread over it.

oxysoft
April 19th, 2013, 04:14 PM
yes, i was about to post explaining some stuff when maruno actually close my thread, disallowing me to do so :(

everything in my project (or almost) has been written by myself and from scratch. i've inspired myself from some design patterns they have chosen in pokemon dawn that i liked and were suited perfect for some situations but the code is mine in the most part.

i've alway sucked at making attractive GUI; i liked pokemon dawn's map editor GUI, so i remade it for my map editor and used their icons. i'm almost 100% sure those icons were found on google or www.iconfinder.com (amazing site for icons, check it out if you're a developer and need icons)

the auto tiles depicted in dawn's map editor do not work the same as me and are more limited from what i can see. the released source code of their engine and map editor did not even have the code for anything scripting related anyway. i use LUA, the scripting you can see in some of their videos looks nothing like LUA.

the graphics, tiles, etc. all belong to pokemon dawn or whoever made them for them. i liked them and i actually grew annoyed of looking at these awkward green/blue grass tiles from fire red when i was just starting to work on the engine, like way back before i had added any tool or anything.

some snippets of code and utility classes were recycled from their engine such as serialization (writing and reading my files, kinda cool how they did it) and shadow generating.

finally, i believe their engine was going to be used for their own poke server if i'm not mistaken and was never going to be public for people to make their own. (i don't speak german, had to rely on google translation)

credits have alway been in the description of my youtube video that was uploaded, i guess i've forgot to add them to the original post of this thread when i was editing it. will add them now.


anyway
back to the development of the engine, this is on the to-do list right now

- saving and loading region projects
- actual engine (rewritten so much stuff for the editor that old code is no longer compatible)
- day night system once engine is made
- map connections, need to think of a good way to implement them
- better management of maps in the editor, i have some ideas but i can't promise anything!

there's more but i can't think right now

zingzags
April 19th, 2013, 04:26 PM
Before the thread was unlocked I seen what was posted, I was about to prove that you are a capable programmer; Then I sent a pm to Maruno, and refreshed the page lol.

the__end
April 19th, 2013, 09:33 PM
everything in my project (or almost) has been written by myself and from scratch. i've inspired myself from some design patterns they have chosen in pokemon dawn that i liked and were suited perfect for some situations but the code is mine in the most part.

I am REALLY surprised and disappointed right now. And I am curious about how much you have written yourself. According to the following quote...
only the Map Editor has been worked on so far
...you only worked on the map editor which was already done in Pokemon Dawn which you can see on these old screenshots:
http://www.replaying.de/wp-content/gallery/pokemon-dawn/mapedit12.png
http://www.replaying.de/wp-content/gallery/pokemon-dawn/mapedit08.png
http://www.replaying.de/wp-content/gallery/pokemon-dawn/shadow.png
Here is one i made using Pokemon Dawns most recent source code:
http://i.imgur.com/ZxKimdW.png
So you say you have written most of it yourself and made it look similar? I say PROVE it!
You can do it by showing us your source code you know! There is nothing you need to hide if your source code is unique and not the copy of Pokemon Dawn. By how it looks right now you just made a few changes to the original code which you can't claim as your own.

If someone wants to download the Pokemon Dawn source code go here (http://xemio.net/downloads/PokemonDawn.zip).
Open "mapeditor.exe" from root\PokemonDawn\Dawn.MapEditor\bin\Debug to test their map editor features.

Zodiac.
April 19th, 2013, 10:46 PM
It keeps saying that it has stoped working whenever I launch it.

the__end
April 19th, 2013, 11:01 PM
It keeps saying that it has stoped working whenever I launch it.

Well dont know why that happens. It works with me thought:
http://i.imgur.com/ZxKimdW.png

Zodiac.
April 19th, 2013, 11:03 PM
Well dont know why that happens. It works with me thought:
http://i.imgur.com/ZxKimdW.png

Do you think it could be because of Windows 8?

Rayquaza.
April 19th, 2013, 11:04 PM
To be honest if it's an open source then it means that anyone can take and edit it, meaning that technically it isn't stealing.

the__end
April 19th, 2013, 11:23 PM
Do you think it could be because of Windows 8?
It is possible. Currently I use my old notebook with vista on it and it works fine.

To be honest if it's an open source then it means that anyone can take and edit it, meaning that technically it isn't stealing.
According to him he hasn't edited it but made it from scratch.
everything in my project (or almost) has been written by myself and from scratch.
And if this is a lie he actually is trying to steal it.
And according to your logic i can post here any open source project i can find and claim it as mine as long as i add minor changes? :shocked:
Now I am curious how you guys would react if someone would do the same thing with Essentials.

Rayquaza.
April 19th, 2013, 11:31 PM
It is possible. Currently I use my old notebook with vista on it and it works fine.


According to him he hasn't edited it but made it from scratch.

And if this is a lie he actually is trying to steal it.
And according to your logic i can post here any open source project i can find and claim it as mine as long as i add minor changes? :shocked:
Now I am curious how you guys would react if someone would do the same thing with Essentials.

What I mean is that taking, editing, giving credits, etc isn't stealing. To take something and claim as your own is preposterous; especially for something as big as essentials.

the__end
April 19th, 2013, 11:48 PM
What I mean is that taking, editing, giving credits, etc aren't stealing.
Never claimed the opposite.

To take something and claim as your own is preposterous; especially for something as big as essentials.
^This is what he did. As long as he can't prove the opposite there is no need for further discussion don't you agree?

KingCharizard
April 19th, 2013, 11:48 PM
It is possible. Currently I use my old notebook with vista on it and it works fine.


According to him he hasn't edited it but made it from scratch.

And if this is a lie he actually is trying to steal it.
And according to your logic i can post here any open source project i can find and claim it as mine as long as i add minor changes? :shocked:
Now I am curious how you guys would react if someone would do the same thing with Essentials.

why are you pressing the issue, it clearly was re opened for a reason. DROP IT.

As for my earlier post, I'm glad to know it was just a coincidence, I figured it might. The thing with coding similar games is the code/features are gonna end up being very similar...

the__end
April 20th, 2013, 12:05 AM
why are you pressing the issue, it clearly was re opened for a reason. DROP IT.
It opened so he can explain it. His explanation wasn't satisfying. Additionally he claimed again that he has done most of the work from scratch. Asking for prove is reasonable.

As for my earlier post, I'm glad to know it was just a coincidence, I figured it might. The thing with coding similar games is the code/features are gonna end up being very similar...
There is a big difference between "similar" and "exactly the same". If he really didn't stole it there is nothing wrong by showing evidence right?

Maruno
April 20th, 2013, 04:58 AM
I told you guys not to blow this up. This is your last warning.

oxysoft
April 20th, 2013, 07:16 AM
The__End, you clearly did not read my post did you? I noted what I have taken, anyone can make a windows form that looks exactly the same, does it mean it's the same program? no

edit: Apparently, their tileset was only for pokemon dawn. Does anyone have good looking tilesets I could use?

the__end
April 20th, 2013, 07:38 AM
I told you guys not to blow this up. This is your last warning.
It is Ok to discuss if the thread creator wants to right? It is his thread after all.

The__End, you clearly did not read my post did you? I noted what I have taken, anyone can make a windows form that looks exactly the same, does it mean it's the same program? no

I did and you said you did the code yourself. But if the features ARE the same and the appearance is the same, asking for evidence that you made it is reasonable. Just saying that you made it from scratch proves nothing you know. The whole map editing features you claim you did yourself is already made by Pokemon Dawn. It is exactly the same. And it is not just the appearance! The features like entities and the amount of tiles you can have in your tileset are all copied. If you still claim "you have written everything in your project yourself" show us your code to prove it. Or are you afraid of anything? :tired:

oxysoft
April 20th, 2013, 07:44 AM
It is Ok to discuss if the thread creator wants to right? It is his thread after all.



I did and you said you did the code yourself. But if the features ARE the same and the appearance is the same, asking for evidence that you made it is reasonable. Just saying that you made it from scratch proves nothing you know. The whole map editing features you claim you did yourself is already made by Pokemon Dawn. It is exactly the same. And it is not just the appearance! The features like entities and the amount of tiles you can have in your tileset are all copied. If you still claim "you have written everything in your project yourself" show us your code to prove it. Or are you afraid of anything? :tired:

Can you copy and paste entities in Dawn? Is there any logic tiles? Can you move your view freely? I've reprogrammed the map editor they have made and then started adding a few new stuff like the Move view tool and logic brush. I liked how they had trees and building part of the entities so I decided to bring it back as well. It's worth noting that they have their own UI rendering code aswell, while I used DevExpress instead because I suck at making nice UIs and I did not want it to be 100% exact.

The icons they are using are not theirs, they can be found everywhere on the web. I could of gotten new icons if I wanted but the one they chose work nice I find.

the__end
April 20th, 2013, 08:02 AM
Can you copy and paste entities in Dawn? Is there any logic tiles? Can you move your view freely? I've reprogrammed the map editor they have made and then started adding a few new stuff like the Move view tool and logic brush. I liked how they had trees and building part of the entities so I decided to bring it back as well. It's worth noting that they have their own UI rendering code aswell, while I used DevExpress instead because I suck at making nice UIs and I did not want it to be 100% exact.
Just because you changed a few things doesn't mean you have done everything yourself. It is obvious that you took the Dawn Engine, added a few changes and tried to claim the whole thing as your own. I don't like to repeat myself but how about showing evidence that you made it yourself? We have the source code of Pokemon Dawn so comparing with yours is not hard. Of course if you are not afraid... :tired:

The icons they are using are not theirs, they can be found everywhere on the web. I could of gotten new icons if I wanted but the one they chose work nice I find.
It is actually funny how you try to satisfy your theft with the availability of the icons. The icons are not the problem but the code you stole. If not prove the opposite.

oxysoft
April 20th, 2013, 08:13 AM
Just because you changed a few things doesn't mean you have done everything yourself. It is obvious that you took the Dawn Engine, added a few changes and tried to claim the whole thing as your own. I don't like to repeat myself but how about showing evidence that you made anything yourself? We have the source code of Pokemon Dawn so comparing with yours is not hard. Of course if you are not afraid... :tired:


It is actually funny how you try to satisfy your theft with the availability of the icons. The icons are not the problem but the code you stole. If not prove the opposite.

I'm not sure about showing the whole source code until it's actually released. Would you like to see some parts of the code?

I was mentioning the icons because some people thought they might be private and made only for dawn

edit:

PencilTool.cs for your own amusement
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using AeonEditor.States;
using General.Common;
using AeonEditor.Actions.Tile;
using AeonEditor.Actions;
using Engine.Tiles;
using Engine.Common;

namespace AeonEditor.EngineDefinition.States.TileEditor {
public class PencilTool : State, IState {
private MultiAction action;

public static PencilTool Instance {
get {
return Static<PencilTool>.Value;
}
}

public override void Initialize(FrmMainEditor mainForm) {
base.Initialize(mainForm);
}

public string Name {
get {
return "PencilState";
}
}

public void Enter(IFiniteStateMachine stateMachine, IState oldState) {
EditorForm.tPencil.Checked = true;

EditorForm.editorcontrol.MouseDown += new MouseEventHandler(onMouseMove);
EditorForm.editorcontrol.MouseMove += new MouseEventHandler(onMouseMove);
EditorForm.editorcontrol.MouseUp += new MouseEventHandler(onMouseUp);
}

public void Leave(IFiniteStateMachine stateMachine, IState newState) {
EditorForm.tPencil.Checked = false;

EditorForm.editorcontrol.MouseDown -= new MouseEventHandler(onMouseMove);
EditorForm.editorcontrol.MouseMove -= new MouseEventHandler(onMouseMove);
EditorForm.editorcontrol.MouseUp -= new MouseEventHandler(onMouseUp);
}

public void Draw(GameTime gameTime) {
}

public void Update(GameTime gameTime) {
}

int lxt = -1;
int lyt = -1;

private void onMouseMove(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Left) {
if (action == null) action = new MultipleSetTileAction();

bool ok = false;

int xt = (e.X + EditorEngine.Instance.xCam) >> 4;
int yt = (e.Y + EditorEngine.Instance.yCam) >> 4;

if (xt != lxt || lyt != yt) {
ok = true;
}

lxt = xt;
lyt = yt;

if (ok) {
if (TileEditorState.Instance.SelectedRegion != Rectangle.Empty) {
MultiAction multiAction = new MultiAction();
Rectangle selection = TileEditorState.Instance.SelectedRegion;

for (int x = 0; x < selection.Width; x++) {
for (int y = 0; y < selection.Height; y++) {
int currentX = selection.X + x;
int currentY = selection.Y + y;

int tilesetIndex = TileEditorState.Instance.SelectedTileset;

Tilesheet tilesheet = EditorEngine.Instance.CurrentMap.Tilesets[tilesetIndex].Tileset;
int tileIndex = tilesheet.t2d.GetIndex(currentX, currentY);

int zt = EditorEngine.Instance.SelectedLayer;
MockupTile t = EditorEngine.Instance.CurrentMap.getTile(xt + x, yt + y, zt);

if (t != null) {
SetTileAction tileAction = new SetTileAction(
xt + x, yt + y,
tilesetIndex,
tileIndex,
t.spritesheetindex,
t.spriteindex);
multiAction.actions.Add(tileAction);
}
}
}

multiAction.Execute();
action.actions.Add(multiAction);
}
}
}
}

private void onMouseUp(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Left) {
ActionManager.Instance.Execute(action);
action = null;
}
}
}
}


don't complain about me extending the same classes and interfaces, that's how a finitestatemachine works

the__end
April 20th, 2013, 08:20 AM
I'm not sure about showing the whole source code until it's actually released. Would you like to see some parts of the code?
Why? There is nothing you need to worry about. If you are innocent people can actually help you with better advise after seeing the code.

oxysoft
April 20th, 2013, 08:37 AM
Why? There is nothing you need to worry about. If you are innocent people can actually help you with better advise after seeing the code.

I actually have no plans to release the source code at this point, in case I make some features available only for pro users. If you still want to believe I can't program and I stole all of their code, then do so. I know I can program and people will have a blast making their own adventure when all is done. It's also funny how you were crying to me over PM wanting me to be part of your pokemon essentials forum and now you can't even trust me. You saw the .gif extractor utility I wrote last week, you know I can program.

Work on something non-stop for about a month then have ppl complain that you stole everything and tell me how you feel.

the__end
April 20th, 2013, 08:52 AM
PencilTool.cs for your own amusement
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using AeonEditor.States;
using General.Common;
using AeonEditor.Actions.Tile;
using AeonEditor.Actions;
using Engine.Tiles;
using Engine.Common;

namespace AeonEditor.EngineDefinition.States.TileEditor {
public class PencilTool : State, IState {
private MultiAction action;

public static PencilTool Instance {
get {
return Static<PencilTool>.Value;
}
}

public override void Initialize(FrmMainEditor mainForm) {
base.Initialize(mainForm);
}

public string Name {
get {
return "PencilState";
}
}

public void Enter(IFiniteStateMachine stateMachine, IState oldState) {
EditorForm.tPencil.Checked = true;

EditorForm.editorcontrol.MouseDown += new MouseEventHandler(onMouseMove);
EditorForm.editorcontrol.MouseMove += new MouseEventHandler(onMouseMove);
EditorForm.editorcontrol.MouseUp += new MouseEventHandler(onMouseUp);
}

public void Leave(IFiniteStateMachine stateMachine, IState newState) {
EditorForm.tPencil.Checked = false;

EditorForm.editorcontrol.MouseDown -= new MouseEventHandler(onMouseMove);
EditorForm.editorcontrol.MouseMove -= new MouseEventHandler(onMouseMove);
EditorForm.editorcontrol.MouseUp -= new MouseEventHandler(onMouseUp);
}

public void Draw(GameTime gameTime) {
}

public void Update(GameTime gameTime) {
}

int lxt = -1;
int lyt = -1;

private void onMouseMove(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Left) {
if (action == null) action = new MultipleSetTileAction();

bool ok = false;

int xt = (e.X + EditorEngine.Instance.xCam) >> 4;
int yt = (e.Y + EditorEngine.Instance.yCam) >> 4;

if (xt != lxt || lyt != yt) {
ok = true;
}

lxt = xt;
lyt = yt;

if (ok) {
if (TileEditorState.Instance.SelectedRegion != Rectangle.Empty) {
MultiAction multiAction = new MultiAction();
Rectangle selection = TileEditorState.Instance.SelectedRegion;

for (int x = 0; x < selection.Width; x++) {
for (int y = 0; y < selection.Height; y++) {
int currentX = selection.X + x;
int currentY = selection.Y + y;

int tilesetIndex = TileEditorState.Instance.SelectedTileset;

Tilesheet tilesheet = EditorEngine.Instance.CurrentMap.Tilesets[tilesetIndex].Tileset;
int tileIndex = tilesheet.t2d.GetIndex(currentX, currentY);

int zt = EditorEngine.Instance.SelectedLayer;
MockupTile t = EditorEngine.Instance.CurrentMap.getTile(xt + x, yt + y, zt);

if (t != null) {
SetTileAction tileAction = new SetTileAction(
xt + x, yt + y,
tilesetIndex,
tileIndex,
t.spritesheetindex,
t.spriteindex);
multiAction.actions.Add(tileAction);
}
}
}

multiAction.Execute();
action.actions.Add(multiAction);
}
}
}
}

private void onMouseUp(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Left) {
ActionManager.Instance.Execute(action);
action = null;
}
}
}
}


^This is almost the same as the code in Pokemon Dawn:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Dawn.Engine;
using Dawn.Engine.World.TileEngine;
using Dawn.MapEditor.Core;
using Dawn.MapEditor.Core.States;
using Dawn.MapEditor.Core.Actions;
using Dawn.MapEditor.Core.Actions.TileEditor;
using Dawn.MapEditor.Forms;

namespace Dawn.MapEditor.States.TileEditor
{
public class PencilTool : State, IState
{
#region Fields
private MultipleAction action;
#endregion

#region Properties
public static PencilTool Instance
{
get { return Static<PencilTool>.Value; }
}
#endregion

#region Methods
public override void Initialize(frmMain mainForm)
{
base.Initialize(mainForm);
}
#endregion

#region IState Member
public string Name
{
get { return "PencilState"; }
}
public void Enter(IFiniteStateMachine stateMachine, IState oldState)
{
this.MainForm.tPencil.Checked = true;

this.MainForm.editor.MouseDown += new MouseEventHandler(onMouseMove);
this.MainForm.editor.MouseMove += new MouseEventHandler(onMouseMove);
this.MainForm.editor.MouseUp += new MouseEventHandler(onMouseUp);
}
public void Leave(IFiniteStateMachine stateMachine, IState newState)
{
this.MainForm.tPencil.Checked = false;

this.MainForm.editor.MouseDown -= new MouseEventHandler(onMouseMove);
this.MainForm.editor.MouseMove -= new MouseEventHandler(onMouseMove);
this.MainForm.editor.MouseUp -= new MouseEventHandler(onMouseUp);
}
public void Draw(GameTime gameTime)
{
}
public void Update(GameTime gameTime)
{
}
#endregion

#region Event Handler
private void onMouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
if (this.action == null)
{
this.action = new MultipleSetTileAction();
}

int tileX = (e.X + EditorEngine.Instance.HorizontalScrolling.Value) / Tile.Width;
int tileY = (e.Y + EditorEngine.Instance.VerticalScrolling.Value) / Tile.Height;

if (TileEditorState.Instance.SelectedRegion != Rectangle.Empty)
{
MultipleAction multiAction = new MultipleAction();
Rectangle selection = TileEditorState.Instance.SelectedRegion;

for (int x = 0; x < selection.Width; x++)
{
for (int y = 0; y < selection.Height; y++)
{
int currentX = selection.X + x;
int currentY = selection.Y + y;

int tilesetIndex = TileEditorState.Instance.SelectedTileset;

Tileset tileset = EditorEngine.Instance.Map.Tilesets[tilesetIndex].Tileset;
int tileIndex = tileset.TileableTexture.GetIndex(currentX, currentY);

SetTileAction tileAction = new SetTileAction(
tileX + x, tileY + y,
TileEditorState.Instance.SelectedLayer,
tilesetIndex,
tileIndex);

multiAction.Actions.Add(tileAction);
}
}
multiAction.Execute();

this.action.Actions.Add(multiAction);
}
}
}
private void onMouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ActionManager.Instance.Push(this.action);
this.action = null;
}
if (e.Button == MouseButtons.Right)
{
int tileX = e.X / Tile.Width;
int tileY = e.Y / Tile.Height;
int tileZ = TileEditorState.Instance.SelectedLayer;

TileReference reference = EditorEngine.Instance.Map.Tiles[tileX, tileY, tileZ];

Rectangle sourceRectangle = reference.Tileset.TileableTexture.GetSource(reference.TileIndex);

TileEditorState.Instance.SelectedTileset = reference.TilesetIndex;
TileEditorState.Instance.SelectedRegion = new Rectangle(
sourceRectangle.X / Tile.Width,
sourceRectangle.Y / Tile.Height,
1, 1);
}
}
#endregion
}
}

Did you really thought your little changes make it yours? Your changes did actually changed nothing in the code itself. It is just simple renaming. :laugh:
And this proves that you really just edited the source code of Dawn and didn't have done it from "scratch" like you claim.

I actually have no plans to release the source code at this point, in case I make some features available only for pro users.
Oh yeah I almost forgot that you plan to collect donations for the work of someone else. Actually it is more like selling because only donators will be able to get "full version". And you don't release the source code because it is stolen. That is so pathetic.

It's also funny how you were crying to me over PM wanting me to be part of your pokemon essentials forum and now you can't even trust me. You saw the .gif extractor utility I wrote last week, you know I can program.
Well i wanted to support you and now it looks like you fooled everyone including me. Besides that you refuse to prove the opposite. How should anyone believe you with the evidences against you? And the .gif extractor is most likely another open source project that you claimed as your own.

oxysoft
April 20th, 2013, 09:12 AM
^This is almost the same as the code in Pokemon Dawn:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Dawn.Engine;
using Dawn.Engine.World.TileEngine;
using Dawn.MapEditor.Core;
using Dawn.MapEditor.Core.States;
using Dawn.MapEditor.Core.Actions;
using Dawn.MapEditor.Core.Actions.TileEditor;
using Dawn.MapEditor.Forms;

namespace Dawn.MapEditor.States.TileEditor
{
public class PencilTool : State, IState
{
#region Fields
private MultipleAction action;
#endregion

#region Properties
public static PencilTool Instance
{
get { return Static<PencilTool>.Value; }
}
#endregion

#region Methods
public override void Initialize(frmMain mainForm)
{
base.Initialize(mainForm);
}
#endregion

#region IState Member
public string Name
{
get { return "PencilState"; }
}
public void Enter(IFiniteStateMachine stateMachine, IState oldState)
{
this.MainForm.tPencil.Checked = true;

this.MainForm.editor.MouseDown += new MouseEventHandler(onMouseMove);
this.MainForm.editor.MouseMove += new MouseEventHandler(onMouseMove);
this.MainForm.editor.MouseUp += new MouseEventHandler(onMouseUp);
}
public void Leave(IFiniteStateMachine stateMachine, IState newState)
{
this.MainForm.tPencil.Checked = false;

this.MainForm.editor.MouseDown -= new MouseEventHandler(onMouseMove);
this.MainForm.editor.MouseMove -= new MouseEventHandler(onMouseMove);
this.MainForm.editor.MouseUp -= new MouseEventHandler(onMouseUp);
}
public void Draw(GameTime gameTime)
{
}
public void Update(GameTime gameTime)
{
}
#endregion

#region Event Handler
private void onMouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
if (this.action == null)
{
this.action = new MultipleSetTileAction();
}

int tileX = (e.X + EditorEngine.Instance.HorizontalScrolling.Value) / Tile.Width;
int tileY = (e.Y + EditorEngine.Instance.VerticalScrolling.Value) / Tile.Height;

if (TileEditorState.Instance.SelectedRegion != Rectangle.Empty)
{
MultipleAction multiAction = new MultipleAction();
Rectangle selection = TileEditorState.Instance.SelectedRegion;

for (int x = 0; x < selection.Width; x++)
{
for (int y = 0; y < selection.Height; y++)
{
int currentX = selection.X + x;
int currentY = selection.Y + y;

int tilesetIndex = TileEditorState.Instance.SelectedTileset;

Tileset tileset = EditorEngine.Instance.Map.Tilesets[tilesetIndex].Tileset;
int tileIndex = tileset.TileableTexture.GetIndex(currentX, currentY);

SetTileAction tileAction = new SetTileAction(
tileX + x, tileY + y,
TileEditorState.Instance.SelectedLayer,
tilesetIndex,
tileIndex);

multiAction.Actions.Add(tileAction);
}
}
multiAction.Execute();

this.action.Actions.Add(multiAction);
}
}
}
private void onMouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ActionManager.Instance.Push(this.action);
this.action = null;
}
if (e.Button == MouseButtons.Right)
{
int tileX = e.X / Tile.Width;
int tileY = e.Y / Tile.Height;
int tileZ = TileEditorState.Instance.SelectedLayer;

TileReference reference = EditorEngine.Instance.Map.Tiles[tileX, tileY, tileZ];

Rectangle sourceRectangle = reference.Tileset.TileableTexture.GetSource(reference.TileIndex);

TileEditorState.Instance.SelectedTileset = reference.TilesetIndex;
TileEditorState.Instance.SelectedRegion = new Rectangle(
sourceRectangle.X / Tile.Width,
sourceRectangle.Y / Tile.Height,
1, 1);
}
}
#endregion
}
}

Did you really thought your little changes make it yours? Your changes did actually changed nothing in the code itself. It is just simple renaming. :laugh:
And this proves that you really just edited the source code of Dawn and didn't have done it from "scratch" like you claim.


Oh yeah I almost forgot that you plan to collect donations for the work of someone else. Actually it is more like selling because only donators will be able to get "full version". And you don't release the source code because it is stolen. That is so pathetic.


Well i wanted to support you and now it looks like you fooled everyone including me. Besides that you refuse to prove the opposite. How should anyone believe you with the evidences against you? And the .gif extractor is most likely another open source project that you claimed as your own.

I don't see this nowhere in pokemon dawn
http://puu.sh/2DIpY.png

nor any copy pasting capability

In the pencil tool code which you claim looks exactly the same, perhaps it's because both operate on a FiniteStateMachine design pattern. It would be stupid not to use it. The finite state machine (class which implements IFiniteStateMachine) is the class that holds the current state. Whenever this class changes state, the old state's Leave method is called and Enter is called in the new state. The event hooks are for capturing mouse movements and actions. I did mention I reused some utilities from Dawn; The Static class was one of them. I really liked how they managed Singleton calls using that class. The name property, I added it just in-case for future undo-redo list.

I'm done arguing with you, there is no point when you're that moronic and stuck up

Just for kick, LogicPathTool.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using AeonEditor.Actions;
using AeonEditor.Actions.Tile.Logic;
using AeonEditor.Forms.Form_Selectors;
using AeonEditor.States;
using DevExpress.XtraBars;
using Editor.Selections;
using General.Common;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace AeonEditor.EngineDefinition.States.TileEditor.Logic {
public class LogicPathTool : State, IState {

int size = 3;

public static LogicPathTool Instance {
get {
return Static<LogicPathTool>.Value;
}
}

public string Name {
get {
return "Logic Path";
}
}

public void Enter(IFiniteStateMachine stateMachine, IState oldState) {
FrmLogicTileSelector.Instance.barCheckItem4.Checked = true;
FrmLogicTileSelector.Instance.l_size.Visibility = BarItemVisibility.Always;
FrmLogicTileSelector.Instance.b_minus.Visibility = BarItemVisibility.Always;
FrmLogicTileSelector.Instance.d_size.Visibility = BarItemVisibility.Always;
FrmLogicTileSelector.Instance.b_plus.Visibility = BarItemVisibility.Always;
FrmLogicTileSelector.Instance.d_tools.Caption = "Tool: Path";

EditorForm.editorcontrol.MouseDown += new MouseEventHandler(onMouseDown);
EditorForm.editorcontrol.MouseMove += new MouseEventHandler(onMouseMove);
EditorForm.editorcontrol.MouseUp += new MouseEventHandler(onMouseUp);

FrmLogicTileSelector.Instance.d_size.EditValue = "" + size;
}

public void Leave(IFiniteStateMachine stateMachine, IState newState) {
FrmLogicTileSelector.Instance.barCheckItem4.Checked = false;
FrmLogicTileSelector.Instance.l_size.Visibility = BarItemVisibility.Never;
FrmLogicTileSelector.Instance.b_minus.Visibility = BarItemVisibility.Never;
FrmLogicTileSelector.Instance.d_size.Visibility = BarItemVisibility.Never;
FrmLogicTileSelector.Instance.b_plus.Visibility = BarItemVisibility.Never;

EditorForm.editorcontrol.MouseDown -= new MouseEventHandler(onMouseDown);
EditorForm.editorcontrol.MouseMove -= new MouseEventHandler(onMouseMove);
EditorForm.editorcontrol.MouseUp -= new MouseEventHandler(onMouseUp);

size = Int32.Parse((string)FrmLogicTileSelector.Instance.d_size.EditValue);
}

private void onMouseDown(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Left) {
xt = (e.X + EditorEngine.Instance.xCam) >> 4;
yt = (e.Y + EditorEngine.Instance.yCam) >> 4;
}
}

int xt = -1, yt = -1;
List<LogicPathSquare> path = new List<LogicPathSquare>();
List<Vector2> points = new List<Vector2>();

private void onMouseMove(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Left) {
int rxt = (e.X + EditorEngine.Instance.xCam) >> 4;
int ryt = (e.Y + EditorEngine.Instance.yCam) >> 4;

if (rxt != xt) {
int dir = 0;
if (rxt - xt == -1) dir = 2;
if (rxt - xt == 1) dir = 3;
if (!points.Contains(new Vector2(rxt, ryt)))
path.Add(new LogicPathSquare(rxt, ryt, dir));
} else if (ryt != yt) {
int dir = 0;
if (ryt - yt == -1) dir = 0;
if (ryt - yt == 1) dir = 1;
if (!points.Contains(new Vector2(rxt, ryt)))
path.Add(new LogicPathSquare(rxt, ryt, dir));
}

xt = rxt;
yt = ryt;
}
}

private void onMouseUp(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Left) {
int l_index = FrmLogicTileSelector.Instance.logicViewerSelectorControl1.SelectedLogicIndex;
for (int i = 0; i < path.Count; i++) {
LogicPathSquare sq = path[i];
LogicPathSquare sqm1 = null;
if (i != 0) sqm1 = path[i - 1];
if (sqm1 != null) {
if ((sq.dir == 0 || sq.dir == 1) && (sqm1.dir != 0 || sqm1.dir != 1) || (sq.dir == 2 || sq.dir == 3) && (sqm1.dir != 2 || sqm1.dir != 3)) {
path.Insert(i, new LogicPathSquare((sqm1.dir == 2 ? sqm1.x - 1 : sqm1.dir == 3 ? sqm1.x + 1 : sqm1.x), (sqm1.dir == 0 ? sqm1.y - 1 : sqm1.dir == 1 ? sqm1.y + 1 : sqm1.y), sqm1.dir));
i++;
}
}
}

int _size = Int32.Parse((string)FrmLogicTileSelector.Instance.d_size.EditValue);

LogicPathAction act = new LogicPathAction(path, l_index, _size);
ActionManager.Instance.Execute(act);
path.Clear();
}
}

public void Draw(Microsoft.Xna.Framework.GameTime gameTime) {
SpriteBatch batch = EditorEngine.Instance.Region.viewdata.SpriteBatch;
if (batch != null) {
foreach (LogicPathSquare sq in path) {
SelectionUtil.DrawRectangle(batch, Color.Black * .8f,
new Rectangle(sq.x * 16 + 1 - EditorEngine.Instance.xCam, sq.y * 16 + 1 - EditorEngine.Instance.yCam, 16, 16));

SelectionUtil.DrawRectangle(batch, Color.LimeGreen * .7f,
new Rectangle(sq.x * 16 - EditorEngine.Instance.xCam, sq.y * 16 - EditorEngine.Instance.yCam, 16, 16));
}
}
}

public void Update(Microsoft.Xna.Framework.GameTime gameTime) {
}
}
}

the__end
April 20th, 2013, 09:21 AM
I don't see this nowhere in pokemon dawn
http://puu.sh/2DIpY.png

nor any copy pasting capability

And? Like i said you added some changes to the ORIGINAL Pokemon Dawn. You didn't made everything from scratch like you claimed. That makes you a liar and a thief. That is all i wanted to prove. :D

andytu
April 20th, 2013, 09:28 AM
I understand why you say you're not gonna release the source (and by the way I have no doubts this is your work...) but can I please beg that you do when you release the final version? The level of closed source on PC is ridiculous, and also if you don't then you're preventing developers from adding unique features to their games (unless you go for a plugin system which IMO is wayyyy too much effort).

And, seriously, I hope people let this rest now. Before you create a project on this scale of course you're gonna study every attempt you can find the source from before you dive in and make a ton of mistakes... That's one of the best things about open source code :)

Oh, and if you need new tiles I suggest using Kyledove's, they're awesome and many are public. WesleyFG also has some great public tiles.

oxysoft
April 20th, 2013, 09:39 AM
I understand why you say you're not gonna release the source (and by the way I have no doubts this is your work...) but can I please beg that you do when you release the final version? The level of closed source on PC is ridiculous, and also if you don't then you're preventing developers from adding unique features to their games (unless you go for a plugin system which IMO is wayyyy too much effort).

And, seriously, I hope people let this rest now. Before you create a project on this scale of course you're gonna study every attempt you can find the source from before you dive in and make a ton of mistakes... That's one of the best things about open source code :)

Oh, and if you need new tiles I suggest using Kyledove's, they're awesome and many are public. WesleyFG also has some great public tiles.

I was indeed planning on adding a plugin system, it's not that hard depending on how many hooks I want, sorta like RPG Maker.

I'm actually not a fan of KyleDove's tiles. They don't have that feel that the real tiles have in Pokemon games.

Rayquaza.
April 20th, 2013, 10:36 AM
I was indeed planning on adding a plugin system, it's not that hard depending on how many hooks I want, sorta like RPG Maker.

I'm actually not a fan of KyleDove's tiles. They don't have that feel that the real tiles have in Pokemon games.

Just use 'some tiles'. It doesn't matter what you use, because others will import their own tilesets once this is released.

I don't doubt your abilities seeming as it is a gift that not many of us are blessed with on this community, I think that we should all just stop attacking each other.
Although I think it's okay to take things and improve it (even if you didn't copy anything) because if it's an open source then by all means improve it (with credits to the original creator).

I hope this pulls through.

oxysoft
April 20th, 2013, 11:00 AM
Just use 'some tiles'. It doesn't matter what you use, because others will import their own tilesets once this is released.

I don't doubt your abilities seeming as it is a gift that not many of us are blessed with on this community, I think that we should all just stop attacking each other.
Although I think it's okay to take things and improve it (even if you didn't copy anything) because if it's an open source then by all means improve it (with credits to the original creator).

I hope this pulls through.

I'm hoping to have some tiles and entities ready for those who do not want their own. I'm thinking probably HGSS tiles, I think they look quite nice.

Rayquaza.
April 20th, 2013, 11:23 AM
Variety is good, as long as credit is given to the owners of the tiles. Although I would use BW tiles (Just my opinion).

oxysoft
April 20th, 2013, 11:48 AM
Does anyone know where I could find a good amount of HGSS tiles? I found some but it's lacking a bunch

oxysoft
April 21st, 2013, 03:17 PM
Updated the UI a bit to look more like AdvancedMap, the 3 other tabs have nothing in them yet


http://puu.sh/2ED1t.png

KingCharizard
April 21st, 2013, 03:33 PM
Updated the UI a bit to look more like AdvancedMap, the 3 other tabs have nothing in them yet


http://puu.sh/2ED1t.png


Interesting...

To add events, you could use a grid system like RMXP, a multidimensional array grid. as for setting and what not, I'm not entirely sure how you would implement that yet as I dont know your development process.

keep at it. I'm hoping you get pretty far in development.

oxysoft
April 21st, 2013, 04:34 PM
Interesting...

To add events, you could use a grid system like RMXP, a multidimensional array grid. as for setting and what not, I'm not entirely sure how you would implement that yet as I dont know your development process.

keep at it. I'm hoping you get pretty far in development.

I already have an idea how I want events to be. I'm still debating whether or not I will have events like in RPG Maker (moreover, i'm not sure how I would program it...) or if i'll have them as LUA script. LUA is not hard to use.

If anyone has an idea how to programmatically design events like they have them in RPG Maker, feel free to PM me. I'm fairly sure there is a nice deal of abstraction involved behind. :P

edit:

Updated a couple of icons

http://puu.sh/2EHXJ.png

http://puu.sh/2EI5f.png

looks really nice like that

Maruno
April 22nd, 2013, 07:28 AM
I strongly recommend an eventing system like RMXP uses. Each event command is given a number, which runs a particular method (e.g. command_101 is the "Show Text" method). Each command can have a number of parameters (e.g. the only parameter for "Show Text" is a string containing the text itself).

Event commands are basically shortcuts for things you'd commonly want an event to do (speak, move around, make choices, etc.). They're more user-friendly than using LUA to do everything, and you can easily have a LUA event command as well.

Events themselves are a collection of variables, which contain things such as the event's name, graphic, trigger setting and so on, as well as the aforementioned list of event commands. I can't imagine it'd be that difficult to come up with an Event object class to store the required information. For starters, mimicking RMXP would be a good idea, although later on they could definitely be improved to increase flexibility and better suit Pokémon games.

In general, I do think RMXP is a good program to use in terms of how it arranges itself, and you'd do well to base your program on it (e.g. how events work, having a Database for defining things, etc.).

oxysoft
April 22nd, 2013, 11:40 AM
I strongly recommend an eventing system like RMXP uses. Each event command is given a number, which runs a particular method (e.g. command_101 is the "Show Text" method). Each command can have a number of parameters (e.g. the only parameter for "Show Text" is a string containing the text itself).

Event commands are basically shortcuts for things you'd commonly want an event to do (speak, move around, make choices, etc.). They're more user-friendly than using LUA to do everything, and you can easily have a LUA event command as well.

Events themselves are a collection of variables, which contain things such as the event's name, graphic, trigger setting and so on, as well as the aforementioned list of event commands. I can't imagine it'd be that difficult to come up with an Event object class to store the required information. For starters, mimicking RMXP would be a good idea, although later on they could definitely be improved to increase flexibility and better suit Pokémon games.

In general, I do think RMXP is a good program to use in terms of how it arranges itself, and you'd do well to base your program on it (e.g. how events work, having a Database for defining things, etc.).

The thing is, I've already tried to implement something like those events for logic tiles.

http://puu.sh/2F7LH.png
http://puu.sh/2F7Mw.png
http://puu.sh/2F7NO.png
http://puu.sh/2F7Pk.png
http://puu.sh/2F7PI.png
http://puu.sh/2F7Qf.png

It worked well for a while until I started thinking of more features, it pretty much went downhill from there and I switched to a simple LUA interpreter. Perhaps LUA was more suited for this situation.
I may have an idea how to implement RPG maker-like events but I won't promise anything, or at least not for initial release.

KingCharizard
April 22nd, 2013, 03:44 PM
I strongly recommend an eventing system like RMXP uses. Each event command is given a number, which runs a particular method (e.g. command_101 is the "Show Text" method). Each command can have a number of parameters (e.g. the only parameter for "Show Text" is a string containing the text itself).

Event commands are basically shortcuts for things you'd commonly want an event to do (speak, move around, make choices, etc.). They're more user-friendly than using LUA to do everything, and you can easily have a LUA event command as well.

Events themselves are a collection of variables, which contain things such as the event's name, graphic, trigger setting and so on, as well as the aforementioned list of event commands. I can't imagine it'd be that difficult to come up with an Event object class to store the required information. For starters, mimicking RMXP would be a good idea, although later on they could definitely be improved to increase flexibility and better suit Pokémon games.

In general, I do think RMXP is a good program to use in terms of how it arranges itself, and you'd do well to base your program on it (e.g. how events work, having a Database for defining things, etc.).

This is really interesting, I was thinking of a object approach. Create each object instance at the array coordinates, each object will have properties/methods that have use similar to RMXP where u can create events that work like code.

I know nothing about lua, I don't know if its even a good choice to use it when C# is fairly easy for beginners to learn, and if this kit is made correctly beginners won't have to worry about learning the more advanced features of C# to make a game.

I also would like to note, that I will help with some ideas/coding and what not if you want. Like i said previously drop me a PM to discuss details.

oxysoft
April 22nd, 2013, 03:51 PM
This is really interesting, I was thinking of a object approach. Create each object instance at the array coordinates, each object will have properties/methods that have use similar to RMXP where u can create events that work like code.

I know nothing about lua, I don't know if its even a good choice to use it when C# is fairly easy for beginners to learn, and if this kit is made correctly beginners won't have to worry about learning the more advanced features of C# to make a game.

I also would like to note, that I will help with some ideas/coding and what not if you want. Like i said previously drop me a PM to discuss details.

LUA is the most popular scripting language in games nowadays. Whenever you play online games, most commonly, npc scripts and stuff are most likely written in LUA. (Unless they decided to completely throw that out the window and hardcode npcs which is insane)

Krissel095
April 23rd, 2013, 09:14 AM
I just can't believe how cheeky you are claiming to be the author of "your" engine code. I'm the Pokemon Dawn lead developer and your code is just an extended Version of my Engine, so just stop claiming you wrote most of the code...

A small mapeditor tool is nothing compared to the complete engine code, neither in complexity nor as a part of code for the whole project. I really don't mind if you use our code to develop your own engine or mapeditor, but if you do, you can't just claim to own the whole thing and I expect to get credited for what we've done the past 3 years.

oxysoft
April 23rd, 2013, 11:35 AM
I just can't believe how cheeky you are claiming to be the author of "your" engine code. I'm the Pokemon Dawn lead developer and your code is just an extended Version of my Engine, so just stop claiming you wrote most of the code...


I inspired myself alot from your code but i've written a good part of it yes. I know it really sounds like i've build upon your released source but you've got to trust me.


A small mapeditor tool is nothing compared to the complete engine code, neither in complexity nor as a part of code for the whole project. I really don't mind if you use our code to develop your own engine or mapeditor, but if you do, you can't just claim to own the whole thing and I expect to get credited for what we've done the past 3 years.

I already know that, the map editor is probably where i've recycled the most code out of the whole thing. The main engine I can code it with no problem.

KingCharizard
April 24th, 2013, 04:04 AM
I just can't believe how cheeky you are claiming to be the author of "your" engine code. I'm the Pokemon Dawn lead developer and your code is just an extended Version of my Engine, so just stop claiming you wrote most of the code...

A small mapeditor tool is nothing compared to the complete engine code, neither in complexity nor as a part of code for the whole project. I really don't mind if you use our code to develop your own engine or mapeditor, but if you do, you can't just claim to own the whole thing and I expect to get credited for what we've done the past 3 years.


Doubt you're the creator of pokemon dawn, but posts like this and the continue of "harassment" of posts towards the OP are the reasons most ppl lose motivation. The code can't be copyrighted by you technically because you wrote a pokemon Engine, also it is open source meaning it can be used redistributed, etc.. he already said the engine was used to fuel his development. I don't know how many time he can repeat it or how he can be more clear.

I understand what its like to want credit for hard work, but while the code looks similar there is no way to tell it is yours. Unless its exactly identical. He could have used some functions like the original deciding the way chose was the best. When making something similar, two ppl can and probably will write identical code.

Leave it go. Its really starting to annoy me, and the mod of this forum already said drop it.

FYI: The reason I dont think your the Dawn creator, because that is excellent work and someone who can produce quality work like that wont come on here, make a post and demand credit. They wouldn't care their work speaks for its self.

oxysoft
April 24th, 2013, 11:20 AM
Doubt you're the creator of pokemon dawn, but posts like this and the continue of "harassment" of posts towards the OP are the reasons most ppl lose motivation. The code can't be copyrighted by you technically because you wrote a pokemon Engine, also it is open source meaning it can be used redistributed, etc.. he already said the engine was used to fuel his development. I don't know how many time he can repeat it or how he can be more clear.

I understand what its like to want credit for hard work, but while the code looks similar there is no way to tell it is yours. Unless its exactly identical. He could have used some functions like the original deciding the way chose was the best. When making something similar, two ppl can and probably will write identical code.

Leave it go. Its really starting to annoy me, and the mod of this forum already said drop it.

FYI: The reason I dont think your the Dawn creator, because that is excellent work and someone who can produce quality work like that wont come on here, make a post and demand credit. They wouldn't care their work speaks for its self.

Krissel is in fact the programmer of Pokemon Dawn. :cheeky:

oxysoft
April 27th, 2013, 05:32 PM
I have created a subreddit for the engine and it is growing at an alarming rate

http://www.reddit.com/r/pokesharp

Vayden
May 1st, 2013, 03:46 AM
Well, I dont want to create any sort of harassment or insult here, but still, thats quite ridiculous. I have spent some time watching the developement of dawn by now, with all of its ups and downs. krissel indeed deserves credit for all the work he put into it. even if you have rewritten parts of the code, the main part still belongs to him, and should be published with his name attached to it. anything else would'nt be fair.
If I was him, I wouldnt drop it either, because its his work.

oxysoft
May 1st, 2013, 07:02 PM
Well, I dont want to create any sort of harassment or insult here, but still, thats quite ridiculous. I have spent some time watching the developement of dawn by now, with all of its ups and downs. krissel indeed deserves credit for all the work he put into it. even if you have rewritten parts of the code, the main part still belongs to him, and should be published with his name attached to it. anything else would'nt be fair.
If I was him, I wouldnt drop it either, because its his work.

Maruno should really start handing out the infractions. I have already stated that the code in the engine is mine and not his apart from some utility classes and some bits of code I did not feel like redoing. I don't see how you can tell I built upon their engine from just seeing some pictures of the GUI of the map editor. If you don't want to believe me then do so, I really don't give a **** about what people think of me. Do people here not think with their head for a second?

Maruno
May 2nd, 2013, 04:05 AM
Don't tell me what I should be doing.

Frankly, the only things you've shown are quite clearly taken from the Dawn engine without proper credit. If you're unwilling to release your source code to prove otherwise, then all we have to go on is material which portrays you as a thief.

oxysoft
May 2nd, 2013, 11:23 AM
Don't tell me what I should be doing.

Frankly, the only things you've shown are quite clearly taken from the Dawn engine without proper credit. If you're unwilling to release your source code to prove otherwise, then all we have to go on is material which portrays you as a thief.

Like I said, think whatever you want of me but I've got almost a thousand people following my work, I could care less about what a few people think of me. I refuse to show my source code because I want this to be my project and I fear that some master of C# may pick it up and render me irrelevant.

iTeruri
May 2nd, 2013, 12:08 PM
That's what we call irony, ladies and gentlemen.

You are making a fool of yourself. First it turns out you reused code. I'm all for reusing code, but also for giving credit where credit is due. If you were upfront in saying that you reused some code, and the creators of that code are okay with it, that's fine. But then you say that you don't want your code to be reused.

If people can't use any of your code, you shouldn't use any code not written by yourself. It's that simple. You cannot claim ownership on somebody elses code like that.

KingCharizard
May 3rd, 2013, 02:49 AM
Like I said, think whatever you want of me but I've got almost a thousand people following my work, I could care less about what a few people think of me. I refuse to show my source code because I want this to be my project and I fear that some master of C# may pick it up and render me irrelevant.

If you're as good as you think you wouldn't be rendered irrelevant. Secondly, how are you gonna create a pokemon engine and not be willing to release it open source, its not like you have any legal rights to the code. The more you go on and on and are reluctant to release the code it make me think your hiding something.

Do what you want ultimately its up to you. But even if you come out with something stable you might lose alot of potential users because they will think the engine is not yours.

Also I gotta ask, where do you come up with your numbers? over 1000 followers? Really? how did you get that statistic..

oxysoft
May 3rd, 2013, 11:23 AM
Also I gotta ask, where do you come up with your numbers? over 1000 followers? Really? how did you get that statistic..

/r/pokesharp on reddit

Also, I have agreed to send the source code to Maruno, which he will compare with Pokemon Dawn; He is trusted on Pokecommunity and I know he will not release the source or do anything with it. I will send it to him soon, I was doing some major code cleanup yesterday

Maruno
May 3rd, 2013, 02:51 PM
This is true. So until I've had a chance to look oxysoft's code over and reach a verdict, any more posts about the matter at all by anyone will be infracted as spam.

oxysoft
May 5th, 2013, 05:11 AM
I have sent my code to Maruno yesterday. Now, we wait.

Varion Bluefire
May 6th, 2013, 03:00 PM
*waiting game* Tick tock.

I hope this turns out to be ok.
I'm really looking forward to using it.

oxysoft
May 6th, 2013, 04:14 PM
*waiting game* Tick tock.

I hope this turns out to be ok.
I'm really looking forward to using it.

I don't know, I sent him the source like yesterday, no replies or anything,

Krissel095
May 8th, 2013, 02:07 PM
Hey.
Oxysoft just sent me his complete source code and I tried to figure out how much was actually copied and how much is actually his work.

As it turned out, I was a little bit to harsh on my opinion on oxysoft and I really thought, he just copy & pasted most of the code. PokeSharp is actually based on the Pokemon Dawn Engine and most of its code, even though nearly everything got renamed and refactored, but the huge difference is, that he actually thought about the code and how it works. He read into over 500 classes and figured out how to change and extend the code and even seperated some parts of the engine.

I think "Inspiration from Pokemon Dawn" is credit enough, as he really just uses some parts of the engine and thought about the code in a really deep way not just pasting everything.

Greetings,
Chris

Maruno
May 8th, 2013, 03:03 PM
That's the same conclusion I came to. While there were some bits of code which were simply copied from Dawn, much of it was obviously different and was either new or significantly adapted.

Since Dawn's creator Krissel has no problems here, neither do I, and neither should anyone else. There's still the issue that Oxysoft didn't give proper credit to the Dawn engine from the start, but it's there now so I suppose that'll do.

KingCharizard
May 8th, 2013, 05:23 PM
That's the same conclusion I came to. While there were some bits of code which were simply copied from Dawn, much of it was obviously different and was either new or significantly adapted.

Since Dawn's creator Krissel has no problems here, neither do I, and neither should anyone else. There's still the issue that Oxysoft didn't give proper credit to the Dawn engine from the start, but it's there now so I suppose that'll do.

Thats very good to hear i'll be looking forward to the next update

Varion Bluefire
May 8th, 2013, 05:58 PM
Can't wait for the next update.
Glad you got this whole coding mess sorted out!

oxysoft
May 8th, 2013, 06:58 PM
During this whole ordeal, I made this tool for entities when mass placing is required like for a forest or a bunch of trees.

http://i.imgur.com/b1g09wP.png

http://i.imgur.com/TstDYpH.png

Barry
May 8th, 2013, 09:19 PM
I don't know how I am just now finding out about this, but I am thrilled to see this at work. I just came across it over on Ragezone, then found it over here. Looks great so far. That's the best map editor I've ever seen.

iTeruri
May 9th, 2013, 03:01 AM
Oxysoft, I apologize. Now that there is more clarity, I fully support you and the project again.

Pinkish Purple
May 11th, 2013, 02:40 AM
I just saw the first page, and I was blown away. I was looking at pg 3 onwards, and thought "this thing is dead now..." but then, out of the ashes, it revived! like a phoenix. Few such things ever happen. People just lose inspiration to make their things after being accused and pushed to a corner like that. This is a miracle map editor (Prolly should change the name to that :P) and let's all hope it gets finished ^^

oxysoft
June 22nd, 2013, 10:47 AM
Vacations are here. I should be able to get a lot of work done in the next 2 months. I already started working on the main engine and I have written a font renderer as well as a fast menu screen for testing. The font renderer already has 3 fonts to work with but you can also implement your own. Unfortunately, I have not provided any way to change the character table but I will most likely add this when I have time, it should not take long.

Here is a picture displaying all three fonts with every single characters for each one of them.
http://puu.sh/39WxO

And here are two pictures of the new menu
http://puu.sh/3lLAU.png

http://puu.sh/3lLBo.png

All three boxes will start a new game in a random map, there is no game saving ability for now and there won't be for a while, doing the essential first.

The boxes when selected turn green and flash yellow every seconds, exactly like in the real game.

Other than that, I finally made it possible to dump the game from the map editor into an actual game file which the engine can read but can't be loaded in the map editor. (File that is released for others to play, not an actual map editor project)

The engine can already read the game file. Here is a map I made in the map editor and is being rendered in the game

http://puu.sh/3lLHf.png

Next up: animations and player

Varion Bluefire
June 26th, 2013, 01:02 PM
Loving the updates.
I'm actually considering switching to this once it's released!

oxysoft
June 26th, 2013, 06:31 PM
Here are the videos I uploaded

wPkDUCsacio

m7ZdS1g1Wvo

Varion Bluefire
June 27th, 2013, 12:17 AM
In the final release, will it be possible to have 3D models?
For buildings and such, but still using 2D overworld Sprites?
Live Gen IV/V?

oxysoft
June 28th, 2013, 05:16 PM
In the final release, will it be possible to have 3D models?
For buildings and such, but still using 2D overworld Sprites?
Live Gen IV/V?

Sorry but no. A good portion of the engine related to entities and the map would have to be reprogrammed and reworked.

DarkPsychic
June 29th, 2013, 08:36 PM
This looks very interesting ^_^
I have just started to learn programming through C from a very great site called computerscienceforeveryone.com
So far I am still in the basics but am wondering how long it took you to learn C#?
and how easy is it going from C to C#?
Another question I have is why not use C++, wouldn't that be more efficient?

I ask because I came across a page on the net named "Why pokemon is so buggy" so I clicked and read on and it goes to say that the gb/gbc/gba games are programmed entirely in Assembly and that its amazing that they even work as the difference in ASM to C is quite significant.

BECAUSE IT IS WRITTEN IN ASSEMBLY.
Most commercial games for the Game Boy were written in assembly. This is because it is much more efficient than compiled C programs for that platform. For those of you who have no idea what I’m talking about, assembly can be written in binary. Think about that for a second. These programmers were writing basically the 1s and 0s that were being executed on the Game Boy’s puny Z80 processor.
Most code nowadays is written in higher-level programming languages such as C and C++. They sort of look like English. This sorta-English is compiled, which means it is turned into assembly for whatever processor you want to run it on. Every processor, be it Intel’s x86 architecture, IBM’s PowerPC, or the Cell processor all have their own assembly languages, or instruction sets. So you can write a program in C and use different compilers to turn your C code into assembly for whatever processor you’re going to be using. The Game Boy’s was a stripped-down Zilog 80.
At any rate, compilers, while usually pretty good about making optimized machine code, aren’t perfect and when you have extremely scare resources, like on the Game Boy, you need a human to do the instruction-level optimization. Unfortunately, this is like building a house out of twigs. You can do it, but it will be hard, take a long time, will be really easy to screw up, and the result will be easy to break.
Let’s compare something really simple: Hello World.
In C:
/* Hello World program */
#include<stdio.h>
void main()
{
printf("Hello World");
}
Pretty self-explanatory, right? This will print the words “Hello World" to the screen.
In Game Boy Assembly (this is an EXCERPT, full program is here):
; ********************************************************
; Main code:
; Print a character string in the middle of the screen
; ********************************************************
ld hl,Title0
ld de, _SCRN0+1+(SCRN_VY_B*5) ;
ld bc, Title0End-Title0
call mem_CopyVRAM

ld hl,Title1
ld de, _SCRN0+6+(SCRN_VY_B*8) ; spaced over
ld bc, Title1End-Title1
call mem_CopyVRAMv
This does the same thing, but instead of just asking for a built-in function to print a string to the screen for you, you have to load each individual letter from memory (which you have to fill yourself), and call a whole separate function to copy your characters into video memory so it can draw it on the screen for you.
So already you can see there is a lot a compiler does for you.
Also remember that that huge chunk of code could, if you really wanted to, be written in 1s and 0s.
Now let’s talk about Pokemon.
Imagine a game as vast as Pokemon being written in this fashion. Every time you want to add two numbers together, you have to load them into registers from memory, add them, and stick them back into memory. Think about what it takes to draw sprites on screen, talk to NPCs, load up the Pokedex, play music, and generate random encounters.
Armed with this knowledge, I think it’s incredible that Pokemon works at all.

Varion Bluefire
June 30th, 2013, 04:56 AM
Sorry but no. A good portion of the engine related to entities and the map would have to be reprogrammed and reworked.

So, not even if they new an excessive amount of C#?

oxysoft
July 3rd, 2013, 12:02 PM
This looks very interesting ^_^
I have just started to learn programming through C from a very great site called computerscienceforeveryone.com
So far I am still in the basics but am wondering how long it took you to learn C#?
and how easy is it going from C to C#?
Another question I have is why not use C++, wouldn't that be more efficient?

I ask because I came across a page on the net named "Why pokemon is so buggy" so I clicked and read on and it goes to say that the gb/gbc/gba games are programmed entirely in Assembly and that its amazing that they even work as the difference in ASM to C is quite significant.

BECAUSE IT IS WRITTEN IN ASSEMBLY.
Most commercial games for the Game Boy were written in assembly. This is because it is much more efficient than compiled C programs for that platform. For those of you who have no idea what I’m talking about, assembly can be written in binary. Think about that for a second. These programmers were writing basically the 1s and 0s that were being executed on the Game Boy’s puny Z80 processor.
Most code nowadays is written in higher-level programming languages such as C and C++. They sort of look like English. This sorta-English is compiled, which means it is turned into assembly for whatever processor you want to run it on. Every processor, be it Intel’s x86 architecture, IBM’s PowerPC, or the Cell processor all have their own assembly languages, or instruction sets. So you can write a program in C and use different compilers to turn your C code into assembly for whatever processor you’re going to be using. The Game Boy’s was a stripped-down Zilog 80.
At any rate, compilers, while usually pretty good about making optimized machine code, aren’t perfect and when you have extremely scare resources, like on the Game Boy, you need a human to do the instruction-level optimization. Unfortunately, this is like building a house out of twigs. You can do it, but it will be hard, take a long time, will be really easy to screw up, and the result will be easy to break.
Let’s compare something really simple: Hello World.
In C:
/* Hello World program */
#include<stdio.h>
void main()
{
printf("Hello World");
}
Pretty self-explanatory, right? This will print the words “Hello World" to the screen.
In Game Boy Assembly (this is an EXCERPT, full program is here):
; ********************************************************
; Main code:
; Print a character string in the middle of the screen
; ********************************************************
ld hl,Title0
ld de, _SCRN0+1+(SCRN_VY_B*5) ;
ld bc, Title0End-Title0
call mem_CopyVRAM

ld hl,Title1
ld de, _SCRN0+6+(SCRN_VY_B*8) ; spaced over
ld bc, Title1End-Title1
call mem_CopyVRAMv
This does the same thing, but instead of just asking for a built-in function to print a string to the screen for you, you have to load each individual letter from memory (which you have to fill yourself), and call a whole separate function to copy your characters into video memory so it can draw it on the screen for you.
So already you can see there is a lot a compiler does for you.
Also remember that that huge chunk of code could, if you really wanted to, be written in 1s and 0s.
Now let’s talk about Pokemon.
Imagine a game as vast as Pokemon being written in this fashion. Every time you want to add two numbers together, you have to load them into registers from memory, add them, and stick them back into memory. Think about what it takes to draw sprites on screen, talk to NPCs, load up the Pokedex, play music, and generate random encounters.
Armed with this knowledge, I think it’s incredible that Pokemon works at all.


1. I learned C# in about a month before I started this project. I already had background in Java though.

2. I don't know C, can't tell you. C is not object-oriented while C++/C# are, however.

3. Only the first Pokemon games on the gameboy may have been written in Assembly. They were written in C/C++ afterwards on the advance. Also this article inaccurate: the first games (red, blue etc.) were not "buggy", the games were playable without any bugs. It's just that people found a large amount of ways to exploit the way the game works and the slow processor (Pokemon duplicating etc.) Just about any gameboy game is "buggy" like pokemon is, it's just that Pokemon has many more well known glitches than any other games.

Also, A lot of these exploits weren't found until decompiling the game and inspecting how it behaves.

The large list of glitch Pokemon is only due to getting pokemons above the id #151 which would result in reading garbage data and interpret it as a Pokemon. The garbage data is no longer read in more recent games because the language take cares of memory management and such itself.

DarkPsychic
July 4th, 2013, 01:13 PM
1. I learned C# in about a month before I started this project. I already had background in Java though.

2. I don't know C, can't tell you. C is not object-oriented while C++/C# are, however.

3. Only the first Pokemon games on the gameboy may have been written in Assembly. They were written in C/C++ afterwards on the advance. Also this article inaccurate: the first games (red, blue etc.) were not "buggy", the games were playable without any bugs. It's just that people found a large amount of ways to exploit the way the game works and the slow processor (Pokemon duplicating etc.) Just about any gameboy game is "buggy" like pokemon is, it's just that Pokemon has many more well known glitches than any other games.

Also, A lot of these exploits weren't found until decompiling the game and inspecting how it behaves.

The large list of glitch Pokemon is only due to getting pokemons above the id #151 which would result in reading garbage data and interpret it as a Pokemon. The garbage data is no longer read in more recent games because the language take cares of memory management and such itself.

I see... I am currently learning C at the moment, it is my first programming language. How much more do you have to do before releasing a beta for testing?

YourNobody
July 29th, 2013, 11:08 AM
I was wondering when someone would finally just make a Pokemon game maker. It would certainly make things a lot easier. Pokemon Essentials is neat and all, but it does feel a bit forced and cluttered. It's not Maruno's fault. It's like building a table with a screwdriver and nails. Sure, it can be done, but it's not at all efficient. A hammer is a better tool for nails.

Here's hoping that this project gets off the ground. I'm really liking what I'm seeing so far. It's like if RPG Maker was made only for Pokemon games. Nothing wrong with that. I approve, since I know very little about scripting, so if you can mimic RPG Maker's event system, I would be right at home.

oxysoft
July 29th, 2013, 01:14 PM
I was wondering when someone would finally just make a Pokemon game maker. It would certainly make things a lot easier. Pokemon Essentials is neat and all, but it does feel a bit forced and cluttered. It's not Maruno's fault. It's like building a table with a screwdriver and nails. Sure, it can be done, but it's not at all efficient. A hammer is a better tool for nails.

Here's hoping that this project gets off the ground. I'm really liking what I'm seeing so far. It's like if RPG Maker was made only for Pokemon games. Nothing wrong with that. I approve, since I know very little about scripting, so if you can mimic RPG Maker's event system, I would be right at home.

I'm not sure whether or not I want to spend the time yet for a RPG Maker type of event system considering it would take me quite some time to do, let alone figuring out how to structure it. It's not like writing scripts would be hard but anyway.

YourNobody
July 29th, 2013, 01:26 PM
Oh, so scripting knowledge is required? Okay, I guess that's good to know.

lauerolus
July 29th, 2013, 03:11 PM
RMXP's ease of movement/text/variable control is very spoiling. Being able to just click when to warp is awesome too.

I just played around with FireRed again and it's damned easy now to do stuff now(like expanding the movetable + special/physical split. Did it in twenty minute with the tutorials.) but RMXP is so easy to use I can't bring myself to switch. The people who've worked on Pokemon Essentials have made it so easy a child(like 8) could make a working fangame. It'd be short and terrible, but you could play it.

That and editing the AI/Abilities in RMXP will be much easier.

oxysoft
July 29th, 2013, 03:17 PM
RMXP's ease of movement/text/variable control is very spoiling. Being able to just click when to warp is awesome too.

I just played around with FireRed again and it's damned easy now to do stuff now(like expanding the movetable + special/physical split. Did it in twenty minute with the tutorials.) but RMXP is so easy to use I can't bring myself to switch. The people who've worked on Pokemon Essentials have made it so easy a child(like 8) could make a working fangame. It'd be short and terrible, but you could play it.

That and editing the AI/Abilities in RMXP will be much easier.

Right, well then I'll see what I can do.

oxysoft
August 4th, 2013, 01:31 AM
pokesharp.com (http://www.pokesharp.com) has be bought and we will have a teaser page up very soon! Some may say it's a little early for thinking about the site, and I will agree to some extent, but my good friend's hosting company provides us with free hosting and he really wanted to get it all setup already. We just have to pay for the domain every years which is like only 10$. My friend also paid for the domain this time. He will take care of everything that is code related to the site. I am very grateful to him and we should all be.

On a more pokesharp related note, I am working on 2 things at the same time right now which is tile behaviors, otherwise known as the movement permission layer in advance map, and an in-game console that will let you send commands to the engine to debug and stuff.

Some specifications about the permission layer in this engine that is different than advance map:

1. Ice, low ledges (up,down,left,right), tall grass, spinning (up,down,left,right) etc. all constitute their own behavior unlike advance map where an ice tile will always be slippery. Not only does that allow for more jerkish puzzles (an ice tile that's actually no ice in a ice puzzle, omfg) but it also works on the concept that if it's slippery ice, then you can obviously walk on it and should not be made unpassable, making it less error prone to mapping errors.

2. You can specify default movement behaviors to your tiles in the tileset tab of the database window. These default behaviors will be applied onto the movement permission layer when laying tiles on the map, minimizing the need of actually having to make edits to the permission layer. Such edits should only be needed when multiple heights have to be supported.

3. Heights work exactly like in advance map, i.e: you set height change tile behaviors onto stairs and set the height higher on the terrain using the tile permission for a higher height. The player will not be able to go from one height to another.

Writing this post made me realize that I cannot keep tile behaviors and height behaviors on the same permission layer because one may want to actually have ice on a higher height. I will separate the 2 later. In most cases it shouldn't cause problems though.

On a side note, I installed mediawiki on the site so I can prepare a couple of articles until release. I also spent a few hours to learn the basics of HTML and CSS so I can make nice looking articles, though I'm sure one of you guys is a massive CSS or mediawiki nerd here and will know how to organize the wiki. ;) The wiki is available at pokesharp.com/wiki/ I feel like I'm gonna regret not keeping it private for now.

edit:

I added a neat little feature on 2 tools for now


http://i.imgur.com/dzzMmwr.png


It will give a preview of the affected tiles for bucket tool when you hover over tiles and the rectangle tool will show the changes in real time rather than just showing a rectangle around the affected region

I uploaded a video demonstrating it on my channel as well

zingzags
August 16th, 2013, 10:48 PM
@Oxysoft, from Maplestory section on RZ to PokeSharp on PC.

oxysoft
August 17th, 2013, 10:13 AM
Project is on hold for a week or two:

doing warmup game for next 5 days or so then ludum dare!

Whitney's Shaymin
August 17th, 2013, 10:37 AM
Cool, can't wait to see this happen. I wanna make a game for XNA!

SinfulGuroRose
August 17th, 2013, 05:54 PM
From the previews you've put up so far, this looks like not only a well designed tool, but also user friendly! o: I'm very excited to see this unfold.
(Also, the website is absolutely adorable! <3 Love it!)

\/
August 26th, 2013, 04:40 PM
Cool, can't wait to see this happen. I wanna make a game for XNA!

I thought Microsoft wasn't supporting it anymore?

oxysoft
August 28th, 2013, 09:20 AM
I am stopping development of PokeSharp. For more details, check out this post I made on my subreddit http://www.reddit.com/r/PokeSharp/comments/1l5eeb/my_stance_on_pokesharp_at_the_moment/

Maruno
August 28th, 2013, 10:47 AM
It's a shame to hear that. You're very kind for releasing your source code, though; I'll definitely be having a look at that at some point.

Would you care to provide a short summary of what you've already achieved with your engine?

KingCharizard
August 28th, 2013, 08:52 PM
I am stopping development of PokeSharp. For more details, check out this post I made on my subreddit http://www.reddit.com/r/PokeSharp/comments/1l5eeb/my_stance_on_pokesharp_at_the_moment/

I read your reasons and I gotta say if you love programming then programming anything would be fun, not boring. Also I find it kinda silly and rude that you would abandon the project after someone else bought you a domain and set up a site.

Also Pokemon has many complicated features that I'm sure you have not programmed or completed, I think many of your reasons for dropping the project are left out..

Its sad to see you quit, and quitting now could become a habit in the future.. Anyways good luck in whatever else you decide to do.

oxysoft
August 29th, 2013, 02:48 AM
I read your reasons and I gotta say if you love programming then programming anything would be fun, not boring. Also I find it kinda silly and rude that you would abandon the project after someone else bought you a domain and set up a site.

Also Pokemon has many complicated features that I'm sure you have not programmed or completed, I think many of your reasons for dropping the project are left out..

Its sad to see you quit, and quitting now could become a habit in the future.. Anyways good luck in whatever else you decide to do.

Coding the actual engine was very fun. It was the development tool that was crap boring. Many programmers can tell you that windows form are not fun to work with. I know the site guy well enough, he doesn't really mind because he pretty much swims in money. He bought like 3 graphics card worth 1000$ each for his rig just because he can.

dexter1o6
August 29th, 2013, 05:01 PM
So, you need a challenge with some mathematics in it. That can be arranged. To make the product of this challenge useful, it will have to fit in Pokemon Essentials though...

Challenge:

You know that there is a random dungeon creating thing in Pokemon Essentials? What if you were to expand it? Make it create whole maps, maybe regions, by clicking a button! The good thing about this is that the owner of the map doesn't even know the contents himself...

Features:
- Connectivity: Make sure the roads are connected! It would be annoying if you can't reach a specific part of the town... Water and trees may have to be connected too, see also my point of aggregation.
- Make the user set the density of houses, tall grass patches, water, trees, etc.
- Groups of houses may form towns, groups of trees may form forests: will the distrubution of the different attributes be aggregated, or equally spread out? There will have to be a parameter for the user to be set for each attribute available: high aggregation of house will lead to big cities, low aggregation of houses will lead to small villages. The same goes for trees and their forests.

To make this work right, you will need to dig into some spatial modelling stuff, and mathematics can't be avoided. Plus, I think there are many people who would gladly make a game in a diverse map/region randomly created, unique, and unknown! On top of that, creating a map would only take some time to render, let's say, 20 minutes or so and a whole region is done...

WAS
March 18th, 2014, 06:54 PM
What's the status on this engine? I see that all related material online has been removed besides screenshots. Any particular reason? I have been interested in starting a game off of a unique engine. Been itching to get back into sprite work and RPG games.

dragonnite
March 19th, 2014, 01:19 AM
Hmm i like this. One question will there a use of reflection for makeing scripts and dynmic objects