The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > Creative Discussions > Game Development
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Game Development Your number one stop for anything related to creating games (except ROM hacks). You can even make your own!


Advertise here

Closed Thread
Click here to go to the first staff post in this thread.  
Thread Tools
  #1    
Old July 13th, 2012, 09:57 AM
abnegation's Avatar
abnegation
proudly paired with adventure
Community Supporter
 
Join Date: Apr 2009
Age: 21

Advertise here
Lengthy title. Anyway, I see a lot of people attempting to make a Pokémon game from the ground up, meaning doing everything from scratch. Most people use engines and starter kits and so forth, but there has seemed to be a growing interest in trying new platforms other than RMXP to make Pokémon fan games, meaning they need to create their own engine for them.

Now in my own personal opinion, I feel it is nonsensical to do so, unless you're actually going to change the mechanics of the Pokémon main franchise massively. I see little point in creating an engine from scratch if you're simply going to do what has been done a thousand times with Pokémon Essentials. I do feel that PE is a good starter kit, it's not amazing (by fault of nobody in particular), but it's by far the best traditional styled Pokémon engine in the world in which is freely available and open source.

I commend anyone doing an engine from scratch, no matter what it's for. But I really have to question their motives for emulating a Pokémon engine which has already been done for other platforms, rather than working from those. I do feel that if you have the passion, drive, ability and intellect to create an engine from scratch; don't do what's already been done. Go for something new and exciting. I understand that a lot of people do these things as a hobby, but building any game from the ground up is a task larger than a simple hobby can fathom. Especially at the size of a Pokémon game.

I do feel that for the work and determination it takes to build an engine, it should be for something new, unless the engine is going to be public and open source. It would also stand for the people working on it a lot more in terms of portfolio. While the quality of the code is what matters, the originality of the output is extremely important.

What do you think? Is making a Pokémon game from the ground up, in which mirrors the style of the official games really worth the work? Or would it not make sense to spare your time and use an engine in which already suits your needs?
__________________
Taking time off from being a Super Moderator on this forum.
I may be back in due course, until then I will be inactive.
Now you're aware.

the internet is full of people who refuse to be nice to others
because they feel that this makes them superior
that's lame
  #2    
Old July 13th, 2012, 10:01 AM
ShinyUmbreon189's Avatar
ShinyUmbreon189
F U C K PC! WAY TOO STRICT!
 
Join Date: Mar 2012
Location: suburbs
Age: 22
Gender: Male
Nature: Relaxed
Send a message via AIM to ShinyUmbreon189
I think it's way too time consuming to build one from the ground up. I'm working on a hack now but I just change the sprites, tiles, story/scripts, moves, certain pokemon evolve from level up instead of trade, etc. You don't need to build from the ground up to make a pokemon game.
  #3    
Old July 13th, 2012, 10:34 AM
DaSpirit's Avatar
DaSpirit
Mad Programmer
 
Join Date: Jul 2007
Location: New York City
Gender: Male
Nature: Quiet
It's only worth it if you're writing the engine in something other than RMXP, such as GameMaker or C++ (since those do not have engines already and offer speed increases and potentially more features). Yes, there are people who do not finish if they take this route, but if they do, they know more of the game internally which will allow more optimizations. It is still difficult though. I do not recommend anyone who has less than 3 years of programming experience to take this route.

If you do want to use RMXP, I agree. "Do not reinvent the wheel", as has been said to me multiple times when I decided to make something by myself rather than using an existing library (and possibly better optimized/written).
  #4    
Old July 13th, 2012, 02:15 PM
droomph's Avatar
droomph
mmm gurl that 90s
Community Supporter
 
Join Date: Sep 2011
Location: bar'jách
Age: 17
Gender: Male
Nature: Impish
Coming from the RH point of view (sorry :c very sorry), I would pay anything to 1) have total control over my game and 2) get familiar with every aspect of my game, not just the major parts of it (like with using a ROM base or Pokemon Essentials). But I know that not everyone has the time to write 250 MB of text, so I understand why people use Pokemon Essentials.

And yes, if you're using any platform which Pokemon Essentials is made for (only RMXP, right?) just go with it :3 you're not making any money off of this, so why spend all that time? There is total documentation on that, unlike with a ROM.
__________________
did u no there r 21 letters in the alphabet
o i forgot 5
uraqt


  #5    
Old July 13th, 2012, 02:28 PM
abnegation's Avatar
abnegation
proudly paired with adventure
Community Supporter
 
Join Date: Apr 2009
Age: 21
Quote:
Originally Posted by DaSpirit View Post
It's only worth it if you're writing the engine in something other than RMXP, such as GameMaker or C++ (since those do not have engines already and offer speed increases and potentially more features). Yes, there are people who do not finish if they take this route, but if they do, they know more of the game internally which will allow more optimizations. It is still difficult though. I do not recommend anyone who has less than 3 years of programming experience to take this route.

If you do want to use RMXP, I agree. "Do not reinvent the wheel", as has been said to me multiple times when I decided to make something by myself rather than using an existing library (and possibly better optimized/written).
I would agree with you if the engine ended up public, I know you're working on yours, so that aside, I do think that working on something privately like that would be a little bit much to make your own game. That said, it's still a commendable feat.

I simply think that reinventing the wheel on another program like Game Maker, as an engine like Essentials is a bit of a waste of time unless it ends up for more than the one project as unfortunately, it won't stand out as anything different. Other than being developed with a different program.

As I say, outputs are forgotten about sometimes in programming, method is quite often concentrated on too much.
__________________
Taking time off from being a Super Moderator on this forum.
I may be back in due course, until then I will be inactive.
Now you're aware.

the internet is full of people who refuse to be nice to others
because they feel that this makes them superior
that's lame
  #6    
Old July 13th, 2012, 06:12 PM
DaSpirit's Avatar
DaSpirit
Mad Programmer
 
Join Date: Jul 2007
Location: New York City
Gender: Male
Nature: Quiet
Quote:
Originally Posted by Abnegation View Post

I simply think that reinventing the wheel on another program like Game Maker, as an engine like Essentials is a bit of a waste of time unless it ends up for more than the one project as unfortunately, it won't stand out as anything different. Other than being developed with a different program.
It's somewhat of a waste of time developing with a different program if you will change too much. You're spending so much time working and customizing something that won't be a commercial success. In that point, it would be better to make your own game instead of a Pokemon fan game. With GameMaker, you can publish to Androids, iPods, PSPs, so why make a Pokemon game with a brand new style and brand new machanics in GameMaker if you could use it to publish on all of these other platforms?

Off topic: You are GavinForPresident on deviantArt, right? lol was wondering how you knew I was making an engine.
  #7    
Old July 13th, 2012, 06:29 PM
droomph's Avatar
droomph
mmm gurl that 90s
Community Supporter
 
Join Date: Sep 2011
Location: bar'jách
Age: 17
Gender: Male
Nature: Impish
Quote:
Originally Posted by DaSpirit View Post
It's somewhat of a waste of time developing with a different program if you will change too much. You're spending so much time working and customizing something that won't be a commercial success. In that point, it would be better to make your own game instead of a Pokemon fan game. With GameMaker, you can publish to Androids, iPods, PSPs, so why make a Pokemon game with a brand new style and brand new machanics in GameMaker if you could use it to publish on all of these other platforms?
It isn't just because the money or we want fame, Spirit - it's all a work of passion for the game. We aren't here for the money - if we were, we would be in colleges, learning to design a Triple-A game for Sony or EA. No, we're here to show how much we love Pokémon. It's just as fandom-y as Pokémon Clubs (or even Pokémon Trivia) is here.

That being said, don't overdo it with the customizations. If it's too much of a change, chances are that it's going to be bad, since the current game engine is the result of years of perfection.
__________________
did u no there r 21 letters in the alphabet
o i forgot 5
uraqt


  #8    
Old July 13th, 2012, 06:45 PM
Full Metal's Avatar
Full Metal
C(++) Developer.
Community Supporter
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to Full Metal
Well, as for me I am sort of planning on changing dynamics. Or rather, actually introducing dynamics to the game at all. As it is, especially in the official games, things are very set-in-stone. My engine is intended to allow for things to grow and change, with only a few things set in stone. For me it's more of "practice and exercise" than really wanting a new engine or game.
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
  #9    
Old July 14th, 2012, 01:03 PM
Dragonite Ernston's Avatar
Dragonite Ernston
I rival Lance's.
 
Join Date: May 2010
Gender: Male
From somebody who's actually doing such a project: it's very much worth it... as long as you have the commitment necessary to get it done.

I've been developing Four Star Mon for almost two years now, and we're not even close to getting done, mostly because there are only two people working on the engine and nobody willing to do data entry, and because we've run into brick walls twice into the project and had to restart the codebase a few times.

I'm hoping that, given the open-source(, cross-platform) nature of Four Star Mon, it will help many a developer build their own Pokémon games (and other monster RPG games) from the ground up, as well as play around with actual game mechanics rather than just creating new monsters with new stats, types, and gimmicks, but that will only become a reality when we actually get anything close to done.

Last edited by Dragonite Ernston; July 14th, 2012 at 02:40 PM.
  #10    
Old July 14th, 2012, 02:26 PM
DarkDoom3000's Avatar
DarkDoom3000
Super Pokemon Eevee Edition
 
Join Date: Jul 2004
Location: New Zealand
Age: 22
Gender: Male
Nature: Calm
I donno. A pokemon engine thats not restricted to RMXP would be worth it,
if its compatible with other platforms (mac, linux, android, etc.)
__________________
Beta 0.73 is out
Thread | Website | Blog
  #11    
Old July 14th, 2012, 06:31 PM
NekoFuu
Beginning Trainer
 
Join Date: Jul 2012
Gender: Male
I completely agree with the this. First of all, most of the people that speak of making a Pokemon Game from scratch have less than any true programming knowledge. Especially the ones that talk about a Pokemon game started in C++. I actually love it when people say they are 'getting a team together' to 'develop a Pokemon engine from scratch with C++'. That sounds great when typed out, and it might even look fantastic on paper. The fact of the matter is, most people that say this couldn't make a successful console/terminal-based game, much less a fully developed game such as Pokemon with an API. At least, I'd assume they weren't going to try and develop their own API on top of their already-unrealistic dream of recreating a Pokemon Engine in C++. I'm mainly mentioning C++ because that seems to be people's favorite. I don't typically see people talking about making a Pokemon game in another language all too often, not to say their aren't projects out there utilizing other programming languages. Plus, like it's been said, they don't want to create anything new. They don't want to add any new features for the most part, and those that do could be scripted into PE a lot easier than learning C++ to build the same thing with a couple new features.

Personally, I've always had the idea of developing a Pokemon game in which the overworld worked similar to that of the official games. The biggest difference in my idea, which cannot be scripted into RMXP(to my knowledge), is that the battling system would be changed dramatically. I've always thought of making a custom battling system that worked similar to that of a 2D fighter game. Obviously, I would think of several new features to add in as well that were rather unique. Otherwise, as amazing as that feature sounds to me, it wouldn't be worth creating the engine and everything else for it (including the sprite sheets. Oh lord that's a lot of spriting).

Even at that, I'm no where near ready to work on a project such as a Pokemon Game. I started learning C++ 1 or 2 years ago, and I know I'm not anywhere near ready enough to take on that kind of project, even if I was able to bring together a team of very well developers.

Yet you get all these kids who maybe have a month of experience with C++ basics, and talk like they're going to make a full game engine from scratch with maybe a team of 3.
  #12    
Old July 15th, 2012, 10:39 AM
FL's Avatar
FL
Pokémon Island Creator
 
Join Date: Sep 2010
Gender: Male
I agree with Abnegation, people need to united instead of everyone goes on different path. The proof are the drop of big fansites and the rising of wikia models in internet. I thinks that in future the wikia model will be more incorporated in more different things like games. United we stand, divided we fall!

Making a private engine is too stupid, less that 1% of people can complete they games, they eventually gives up and, generally, throw all made at the point away. If they made a private engine, not only the game, but the engine are lost.

On other hand, an important point is the RPG Maker XP limitations, like the ones that DarkDoom3000 neatly pointed.
__________________
  #13    
Old July 15th, 2012, 10:50 AM
Dragonite Ernston's Avatar
Dragonite Ernston
I rival Lance's.
 
Join Date: May 2010
Gender: Male
Quote:
Originally Posted by NekoFuu View Post
I completely agree with the this. First of all, most of the people that speak of making a Pokemon Game from scratch have less than any true programming knowledge. Especially the ones that talk about a Pokemon game started in C++. I actually love it when people say they are 'getting a team together' to 'develop a Pokemon engine from scratch with C++'. That sounds great when typed out, and it might even look fantastic on paper. The fact of the matter is, most people that say this couldn't make a successful console/terminal-based game, much less a fully developed game such as Pokemon with an API. At least, I'd assume they weren't going to try and develop their own API on top of their already-unrealistic dream of recreating a Pokemon Engine in C++. I'm mainly mentioning C++ because that seems to be people's favorite. I don't typically see people talking about making a Pokemon game in another language all too often, not to say their aren't projects out there utilizing other programming languages. Plus, like it's been said, they don't want to create anything new. They don't want to add any new features for the most part, and those that do could be scripted into PE a lot easier than learning C++ to build the same thing with a couple new features.
Speaking as one of the people you're talking about, another problem that people want to solve when working in C++ or another language as compared to Game Maker or RPG Maker is the lagginess that sometimes happens with these game-making engines, or the bugginess of corner case checking (sometimes, if you turn at exactly the right moment, the position engine gets thrown for a loop). Of course if the team is inexperienced, they'll run into even more problems than if they had just stuck with the regular game engine, but sometimes there are tweaks or fixes that just can't be done with what's already there.

I decided to create Four Star Mon specifically because it would be a free, open-source game project, similar to Stepmania or Nullpomino. But unlike the category of people you're talking about, I do have programming experience, and experience programming game clones such as Puzzle League or Color Lines (haven't tried my hand at Tetris yet, but I suppose I could hack something together in a day or two).

Quote:
Personally, I've always had the idea of developing a Pokemon game in which the overworld worked similar to that of the official games. The biggest difference in my idea, which cannot be scripted into RMXP(to my knowledge), is that the battling system would be changed dramatically. I've always thought of making a custom battling system that worked similar to that of a 2D fighter game. Obviously, I would think of several new features to add in as well that were rather unique. Otherwise, as amazing as that feature sounds to me, it wouldn't be worth creating the engine and everything else for it (including the sprite sheets. Oh lord that's a lot of spriting).
One of my goals was to create 3D overworlds in OpenGL, because if Game Freak can do it, why can't we? Obviously it's not as dramatic a change as overhauling the entire battle system, but we've also coded in things such as quadruple battles (or battles of any size, really), and a complex speed formula that doesn't simply order everything in descending order of speed, but assigns probabilities.

Quote:
Even at that, I'm no where near ready to work on a project such as a Pokemon Game. I started learning C++ 1 or 2 years ago, and I know I'm not anywhere near ready enough to take on that kind of project, even if I was able to bring together a team of very well developers.
If you're attempting humility, it's not working. I have about 5 or 6 years of C++ experience, and I'm still learning while doing this project. Don't assume that you can't learn while doing, and most importantly, never give up no matter how slowly you're going or how many times you have to restart your codebase (Four Star Mon has been through a pretty bumpy history involving two or three splitoffs and restarts).

Quote:
Yet you get all these kids who maybe have a month of experience with C++ basics, and talk like they're going to make a full game engine from scratch with maybe a team of 3.
I'm down to a team of two, and we don't even work on it all the time. We've been at it for two years and are nowhere near done, of course, but we've definitely learned a lot along the way, and will stick with it to the end (or at least I will).

Quote:
Originally Posted by FL . View Post
I agree with Abnegation, people need to united instead of everyone goes on different path. The proof are the drop of big fansites and the rising of wikia models in internet. I thinks that in future the wikia model will be more incorporated in more different things like games. United we stand, divided we fall!
I personally think the drop of big fansites is a good thing for the fandom. If a fansite gets "too big to fail", eventually it will fail from the inside out.

Still, the vast majority of successfully created fangames (that aren't romhacks) are already on RPG Maker XP, and there's no reason to discourage people from making it with other languages (if they're successful, they'll most likely have done better than RPG Maker anyway, and if they're not, then their lack of success will be discouragement enough anyway).

Quote:
Making a private engine is too stupid, less that 1% of people can complete they games, they eventually gives up and, generally, throw all made at the point away. If they made a private engine, not only the game, but the engine are lost.
This is true. That is why the engine I'm making is intended to be a public resource (under a permissive open-source license [the MIT license] rather than the GPL).

Quote:
On other hand, an important point is the RPG Maker XP limitations, like the ones that DarkDoom3000 neatly pointed.
Not just the limitations on where RPG Maker XP will run, but also the limitations on what RPG Maker XP can do.

Last edited by Dragonite Ernston; July 15th, 2012 at 11:27 AM.
  #14    
Old July 15th, 2012, 12:46 PM
NekoFuu
Beginning Trainer
 
Join Date: Jul 2012
Gender: Male
Quote:
Originally Posted by Dragonite Ernston View Post
If you're attempting humility, it's not working. I have about 5 or 6 years of C++ experience, and I'm still learning while doing this project. Don't assume that you can't learn while doing, and most importantly, never give up no matter how slowly you're going or how many times you have to restart your codebase (Four Star Mon has been through a pretty bumpy history involving two or three splitoffs and restarts).
I didn't mean to say you get to the point to where you can no longer learn anything new. Personally, I believe there are things out there that one person can never fully master. There's always room to learn, especially when it comes to programming. I'm perfectly aware that one can learn while doing, but most of the people that talk about making a new Pokemon Engine take it as far as basically learning how to do it while getting used to all the basics, which are less than sufficient enough to make much more than a simple calculator. With 5-6 years of C++ experience, I'm sure you're quite the developer, compared to the majority of the average person attempting a new game engine of any sort.That said, I'm sure even you and your partner (who I'll assume is roughly as experienced as you, or at least enough to hold his own) run into bugs and other problems along the way. Also as you said in a separate quote, you've been at it for ~2 years and are still nowhere close to done (given, you did say you guys don't always work on it). You understand it takes awhile, and that you need actual knowledge of the language. That's something that probably 75% of the people that say they're going to make one know.

Also, humility had nothing to do with it.
  #15    
Old July 15th, 2012, 12:57 PM
Maruno's Avatar
Maruno
Lead Dev of Pokémon Essentials
 
Join Date: Jan 2008
Location: England
The problem I see is that, when someone announces they're making a Pokémon engine from scratch, they mean from scratch. This means they need to make a basic mapping engine first, then invent events and all that stuff, before even thinking about doing something Pokémon-ish.

I'm certain that, no matter what programming language you're using, someone will have already invented an open source RPG engine for it. Just use that, and dive straight into inventing the Pokémon-style battle system. The wheel's already been invented for you.

That's exactly what Essentials is, actually. The RPG engine itself is RMXP, and the Pokémon aspects are tweaks to a game made in that engine. I really do think you should aim to get something done at all before you aim to make it infinitely flexible and dynamic and whatever other ideals you may have. If you make the basic thing well enough (e.g. modular), then you can go back and tweak one part later however you want.

Making it for private use is an even better way of making sure it becomes abandoned. Your attention will drift so much more if you know the only person your failure will affect is yourself. If you create something that everyone can use, their attention will keep you focussed and motivated.

On the other hand, it would be nice to have a Pokémon engine that's free to use (RMXP costs money, last I checked). The main feature I would like to see, though, is a program similar to RMXP but tailored to that Pokémon engine. That is, a map editor and database which record information directly to data files rather than mucking around with PBS files. I don't think anyone has ever considered something like this (i.e. making it easy for a user to use the engine) when they say they want to make one. Still, I'm pretty sure at least some existing RPG engines will also have things like map editors, even if they're generic; they're still a good starting place.

Hey, even Essentials itself is a good place to start. It already has a Pokémon-style battle engine, which you can at least reference to help you make your own.
__________________
  #16    
Old July 15th, 2012, 01:22 PM
Dragonite Ernston's Avatar
Dragonite Ernston
I rival Lance's.
 
Join Date: May 2010
Gender: Male
Quote:
Originally Posted by NekoFuu View Post
I didn't mean to say you get to the point to where you can no longer learn anything new. Personally, I believe there are things out there that one person can never fully master. There's always room to learn, especially when it comes to programming. I'm perfectly aware that one can learn while doing, but most of the people that talk about making a new Pokemon Engine take it as far as basically learning how to do it while getting used to all the basics, which are less than sufficient enough to make much more than a simple calculator.
I didn't mean to say that either, and I'm sorry if it came off that way. What I mean is that 1 or 2 years of experience is more than enough to try and take on a project like this, even if it's for the (perhaps very) long term, and that you're selling yourself too short when you say you "aren't anywhere near ready enough" to do it. If you're not ready now, you'll never be ready.

Quote:
With 5-6 years of C++ experience, I'm sure you're quite the developer, compared to the majority of the average person attempting a new game engine of any sort.
Speaking as somebody who knows people who have 9 to 12 years of experience or more, (not just in C++, but in programming in general; generally when you learn one language it becomes easy to pick up others), I know people who would consider me a pretentious hack.

Many a project started out with some inexperienced person saying, "I want to do this thing that hasn't been done before. Let's do it!", rolling up their sleeves, and diving into the work and studying that comes along with the project. Even people with only one month of experience in the basics will run into the fact that they don't know enough, and the ones who are truly ambitious and determined will then proceed to learn what they don't know. And if the end result is that they realize they've been biting off more than they can chew, they probably haven't gone far in enough that it was a waste of time, and can still work on smaller projects that gradually grow in size. The process of building such a large project is often an end in itself, because it's a valuable learning experience, even if it fails. And if it succeeds in the end (probably after multiple failures), that's even better.

Quote:
That said, I'm sure even you and your partner (who I'll assume is roughly as experienced as you, or at least enough to hold his own) run into bugs and other problems along the way. Also as you said in a separate quote, you've been at it for ~2 years and are still nowhere close to done (given, you did say you guys don't always work on it). You understand it takes awhile, and that you need actual knowledge of the language. That's something that probably 75% of the people that say they're going to make one know.
Running into bugs isn't the hard part. Not knowing what you're doing is generally what will cause the most problems.

Also, did you miss a "don't" in there, before the last "know"? Supposing you did, even if 75% of people don't know, they'll find out, and then they'll know. It's not strictly a bad thing; it may just seem a bit annoying to somebody who "took the easy way" and created a game out of RPG Maker and Pokémon Essentials.

Quote:
Also, humility had nothing to do with it.
Okay. It just seemed like you were saying "I can't even do it, so how would I expect somebody even less experienced than me to be able to do it?"

Quote:
Originally Posted by Maruno View Post
The problem I see is that, when someone announces they're making a Pokémon engine from scratch, they mean from scratch. This means they need to make a basic mapping engine first, then invent events and all that stuff, before even thinking about doing something Pokémon-ish.
Actually, I started from battle engine up. The first thing I ever did related to a Pokémon engine was a command-line battle interface in Java. Then I worked on overworld.

Quote:
I'm certain that, no matter what programming language you're using, someone will have already invented an open source RPG engine for it. Just use that, and dive straight into inventing the Pokémon-style battle system. The wheel's already been invented for you.
Haven't seen one for C++ yet. If you find one (that is licensed under a BSD or MIT or similar permissive license), please show it to me.

Quote:
That's exactly what Essentials is, actually. The RPG engine itself is RMXP, and the Pokémon aspects are tweaks to a game made in that engine. I really do think you should aim to get something done at all before you aim to make it infinitely flexible and dynamic and whatever other ideals you may have. If you make the basic thing well enough (e.g. modular), then you can go back and tweak one part later however you want.
That's what we're doing, piece by piece. Although we don't have overworld, we have quadruple battles in the command line. We first got the thing working (single battles with fixed moves), then started moving on to extend it.

Quote:
Making it for private use is an even better way of making sure it becomes abandoned. Your attention will drift so much more if you know the only person your failure will affect is yourself. If you create something that everyone can use, their attention will keep you focussed and motivated.
We're creating something that eventually everyone can use, but since nobody can use it yet, we haven't gotten much attention.

Quote:
On the other hand, it would be nice to have a Pokémon engine that's free to use (RMXP costs money, last I checked). The main feature I would like to see, though, is a program similar to RMXP but tailored to that Pokémon engine. That is, a map editor and database which record information directly to data files rather than mucking around with PBS files. I don't think anyone has ever considered something like this (i.e. making it easy for a user to use the engine) when they say they want to make one. Still, I'm pretty sure at least some existing RPG engines will also have things like map editors, even if they're generic; they're still a good starting place.
Four Star Mon is exactly what you've been describing. Or, at least, that's what it will be when it's complete.

Quote:
Hey, even Essentials itself is a good place to start. It already has a Pokémon-style battle engine, which you can at least reference to help you make your own.
I kinda hacked together my own, but whatever.

http://fourstarmon.com/ <- this is the "Four Star Mon" I've been referring to this whole time, in case anyone wants a link or couldn't find it on Google or just didn't know which result it was. I made a thread for it in the Beginner's Showcase once upon a time, but that was 1.5 years ago.

Last edited by Dragonite Ernston; July 15th, 2012 at 01:35 PM. Reason: Submitted instead of previewed, how shameful D:
  #17    
Old July 16th, 2012, 08:42 PM
KingCharizard's Avatar
KingCharizard
C++ Developer Extraordinaire
 
Join Date: Dec 2009
Location: Pennsylvania
Age: 26
Gender: Male
Nature: Bold
Well most people may be against this but as a Game Developer I will address both the pros and cons of undertaking such a task..

Pros: If you have the time, developing an engine from scratch is very beneficial. It can teach you almost everything you need to know to develop a full blown game or Game Engine. You'll learn Vectors, Shaders, the difference between 2D and 3D and so much more. Using Pokemon as a base for your engine is good for many reasons. First reason is there are many resources available so you shouldn't have to worry about art to test various features. Pokemon is a game that has been developed, Its mechanics have been done and proven. You know how it is supposed to perform meaning you have a plan and you don't need to think of one, work on it, and flesh out whats possible and what is not.. You have a solid base to build from. Also most people love Pokemon some of them love programming, why not create and learn with something you love? Also if your looking for a job in the Game industry it will be good portfolio meat.

Cons: If someone were to make a Engine almost as good as PE they cant sell it. No profit can be made. Pokemon is Nintendo's IP(Intellectual Property). If you don't have time such as your an adult or you need money now you should work on very simple projects. Undertaking Game Engine Creation is bigger than most realize. It requires Advanced math if you wish to do 3D among many other things.. Its no easy feat... if your developing an engine for others to use you need to make it user friendly. So others may get the most out of your tool. This is always not so easy.


There was more I wanted to say but I got distracted from this post by other things.. I'll post more as I remember but basically making a game engine is not easy but its well worth it if you have the time.. If you don't have time to waste then keep your goals realistic... this is my two cents hope people enjoy reading this..


Quote:
One of my goals was to create 3D overworlds in OpenGL, because if Game Freak can do it, why can't we? Obviously it's not as dramatic a change as overhauling the entire battle system, but we've also coded in things such as quadruple battles (or battles of any size, really), and a complex speed formula that doesn't simply order everything in descending order of speed, but assigns probabilities.
Look at the credits of Pokemon next time you play.. see how many programmers/designers/developers etc they had working on the game... that is why you will come up short in your goal...

C++ is no easy language I'm working with it as we speak and It is quite annoying at times when I look at C# and at C++ i think why the hell did they over complicate this language so damn much...... I can use the C++ language pretty good but everything is so over complicated when I could have achieved the same results in C# easier, probably with less lines of code and less annoyance. That is just my opinion.. I like some features of C++ and some annoy me like I like using Vectors but hate using iterators....
__________________
My personal website. UPDATED 8/29/2013

Last edited by KingCharizard; July 16th, 2012 at 09:38 PM.
  #18    
Old July 17th, 2012, 05:33 AM
Dragonite Ernston's Avatar
Dragonite Ernston
I rival Lance's.
 
Join Date: May 2010
Gender: Male
Quote:
Originally Posted by KingCharizard View Post
Cons: If someone were to make a Engine almost as good as PE they cant sell it. No profit can be made. Pokemon is Nintendo's IP(Intellectual Property). If you don't have time such as your an adult or you need money now you should work on very simple projects. Undertaking Game Engine Creation is bigger than most realize. It requires Advanced math if you wish to do 3D among many other things.. Its no easy feat... if your developing an engine for others to use you need to make it user friendly. So others may get the most out of your tool. This is always not so easy.
They can sell it if it's not branded with Pokémon and runs games that are not branded as Pokémon or similar enough to count as clones. Have you ever heard of Keitai Denjuu Telefang? The gameplay is very similar to Pokémon (and it even got a bootleg named "Pokémon Diamond" here around 2001), but not similar enough to have raised concerns where it was legitimately distributed in Japan.

And why almost as good? What happens if someone makes it better?

Quote:
Look at the credits of Pokemon next time you play.. see how many programmers/designers/developers etc they had working on the game... that is why you will come up short in your goal...
All the programmers are lumped into one portion. The majority of people in the credits are music makers, graphical makers, website designers, Pokémon designers... you get the idea. The two of us now are only programmers. We'd need a team of people with us doing other things as well, and the work we've done now simply hasn't attracted that potential team yet. It will come in time.

Quote:
C++ is no easy language I'm working with it as we speak and It is quite annoying at times when I look at C# and at C++ i think why the hell did they over complicate this language so damn much...... I can use the C++ language pretty good but everything is so over complicated when I could have achieved the same results in C# easier, probably with less lines of code and less annoyance. That is just my opinion.. I like some features of C++ and some annoy me like I like using Vectors but hate using iterators....
To be honest, I think of C++ as simpler than C#, but that's probably just because I've never programmed in C# before.

Also, one of the reasons we preferred C++ to C# is that C# relies on a virtual machine to run, and is a proprietary language owned by Microsoft. One of the requirements of our engine is to be cross-platform, and coding in C++ helps achieve that most easily.

Also, it's harder do dirty hacks in C#.

Last edited by Dragonite Ernston; July 17th, 2012 at 05:47 AM.
  #19    
Old July 17th, 2012, 07:23 AM
DaSpirit's Avatar
DaSpirit
Mad Programmer
 
Join Date: Jul 2007
Location: New York City
Gender: Male
Nature: Quiet
Quote:
Look at the credits of Pokemon next time you play.. see how many programmers/designers/developers etc they had working on the game... that is why you will come up short in your goal...
lol I find this funny. I don't think that the programmers really doing anything. They already have a nice engine they simply reuse. Plus, they don't add many new features and I'm pretty sure that the features they do add could be programed by a single person 2 weeks tops.

Quote:
Originally Posted by Dragonite Ernbston View Post
To be honest, I think of C++ as simpler than C#, but that's probably just because I've never programmed in C# before.

Also, one of the reasons we preferred C++ to C# is that C# relies on a virtual machine to run, and is a proprietary language owned by Microsoft. One of the requirements of our engine is to be cross-platform, and coding in C++ helps achieve that most easily.

Also, it's harder do dirty hacks in C#.
lol you say stuff about C# right after you say that you've never programmed it before. There is less of need for those dirty hacks in C#. Having experience with both, C# "fixes" everything that was wrong with C++. For example, you can't use structs as OPP and everything has to exist inside a namespace. Both have their pros and cons.

As for which is easier, it depends on which you like better. However, simple C++, Win32 and DirectX/OpenGL vs C# with .NET, C# is more higher level. C# with XNA makes it a lower level but it still is somewhat easier than plain C++. C# was designed to be easier. Finding which program is a higher level is essentially like finding which one is easier. I believe you can also use C++ with C#, but I'm not sure how that works, haven't really tried it myself.

Let's not get into which programming language is better here though.
  #20    
Old July 17th, 2012, 07:52 AM
Dragonite Ernston's Avatar
Dragonite Ernston
I rival Lance's.
 
Join Date: May 2010
Gender: Male
Quote:
Originally Posted by DaSpirit View Post
lol I find this funny. I don't think that the programmers really doing anything. They already have a nice engine they simply reuse. Plus, they don't add many new features and I'm pretty sure that the features they do add could be programed by a single person 2 weeks tops.
Do you mean the Game Freak programmers or the fanmade engine programmers?

Because even within Game Freak, they can't simply reuse the engine. Lots of things have to be thrown out and then remade.

The features they add... such as the Musical? 3D battles? Triple and rotation battles? 3D camera animations? The weird, twisty, non-rectangular paths that are present in this game? It's a huge feat of engineering. Don't look down on the programmers too much.

Quote:
lol you say stuff about C# right after you say that you've never programmed it before. There is less of need for those dirty hacks in C#.
There's no need for dirty hacks in C++ either, but they're fun.

Quote:
Having experience with both, C# "fixes" everything that was wrong with C++. For example, you can't use structs as OPP and everything has to exist inside a namespace. Both have their pros and cons.
If C# "fixes" everything that was wrong with C++, I assume the "cons" are all peripheral, auxiliary matters (such as the dependence on a virtual machine, ownership by Microsoft, all the good stuff I mentioned).

Trying to do strict OOP (which I take it is the paradigm of C#) when you're testing things out is too exhausting. I've worked in Java before and I still use public data primitives (even if it goes completely against the Java paradigm) when I don't want to be bothered wrapping everything with setters and getters and it will never be useful to do so anyway.

Quote:
As for which is easier, it depends on which you like better. However, simple C++, Win32 and DirectX/OpenGL vs C# with .NET, C# is more higher level. C# with XNA makes it a lower level but it still is somewhat easier than plain C++. C# was designed to be easier. Finding which program is a higher level is essentially like finding which one is easier. I believe you can also use C++ with C#, but I'm not sure how that works, haven't really tried it myself.
The reason we used C++ rather than C# is more for the cross-platform, extensible nature of the language. Sure you have Mono for C# on UNIX-based systems, but that's really inconvenient and hard to use and you wouldn't have much support for it on that end. Keep in mind that some of the developers and users of this game use Linux or Mac OS (I personally use both a Windows and a Linux machine [and soon to be FreeBSD too] to develop this). Telling them to "get Windows" (which I've actually seen be done before on other projects) is not an appropriate solution.

We could have also used Java for cross-platform (it's about as easy as C#, from what I know), but let's not get into the fact that Java is about twice as slow, also depends on a virtual machine, and can't do as much graphics stuff. I do actually have a deprecated/discontinued Java engine on Github, if you want to see it.

Quote:
Let's not get into which programming language is better here though.
I agree.

Last edited by Dragonite Ernston; July 17th, 2012 at 08:06 AM.
  #21    
Old July 17th, 2012, 10:27 AM
KingCharizard's Avatar
KingCharizard
C++ Developer Extraordinaire
 
Join Date: Dec 2009
Location: Pennsylvania
Age: 26
Gender: Male
Nature: Bold
C# is cross platform some what, ever heard of the mono project? C# can be used on Windows and Mac, i'm not certain of any other OS however...
__________________
My personal website. UPDATED 8/29/2013
  #22    
Old July 17th, 2012, 11:03 AM
DaSpirit's Avatar
DaSpirit
Mad Programmer
 
Join Date: Jul 2007
Location: New York City
Gender: Male
Nature: Quiet
Quote:
Originally Posted by Dragonite Ernston View Post
The reason we used C++ rather than C# is more for the cross-platform, extensible nature of the language. Sure you have Mono for C# on UNIX-based systems, but that's really inconvenient and hard to use and you wouldn't have much support for it on that end. Keep in mind that some of the developers and users of this game use Linux or Mac OS (I personally use both a Windows and a Linux machine [and soon to be FreeBSD too] to develop this). Telling them to "get Windows" (which I've actually seen be done before on other projects) is not an appropriate solution..
Mono hard to use? lol Have you ever used WinForms? It starts you off with a Window, just drag buttons on there. Sure, it's better for applications rather than games, but it's still easy. Create an OpenGL control and it's the same as programming in C++, except all of the window creation is handled for you (very easy to change too).
  #23    
Old July 17th, 2012, 11:32 AM
Dragonite Ernston's Avatar
Dragonite Ernston
I rival Lance's.
 
Join Date: May 2010
Gender: Male
Quote:
Originally Posted by KingCharizard View Post
C# is cross platform some what, ever heard of the mono project? C# can be used on Windows and Mac, i'm not certain of any other OS however...
Already addressed up there for you, buddy.

Quote:
Originally Posted by Dragonite Ernston View Post
Sure you have Mono for C# on UNIX-based systems, but that's really inconvenient and hard to use and you wouldn't have much support for it on that end.
Which then ties into this one:

Quote:
Originally Posted by DaSpirit View Post
Mono hard to use? lol Have you ever used WinForms? It starts you off with a Window, just drag buttons on there. Sure, it's better for applications rather than games, but it's still easy. Create an OpenGL control and it's the same as programming in C++, except all of the window creation is handled for you (very easy to change too).
We use a library called SFML for window creation and management. It works much better for games and what we're doing. Eventually we'd also be porting it over to SDL.

The game engine we're making does not have any dedicated interface buttons; everything is controlled via keyboard or the mouse clicking somewhere on the screen and the program detecting that something should happen, just like in the actual games and almost any other fullscreen-style game out there.

And yes, I have used WinForms; I use it when programming application GUIs in VB.NET (but not to track IP addresses). Even there I will sometimes use labels rather than command buttons as buttons, because labels don't stick out as much.
  #24    
Old July 17th, 2012, 12:37 PM
Maruno's Avatar
Maruno
Lead Dev of Pokémon Essentials
 
Join Date: Jan 2008
Location: England
I get the feeling this topic is becoming... off-topic. It's not about the relative merits of different programming languages.
__________________
  #25    
Old July 17th, 2012, 12:41 PM
Dragonite Ernston's Avatar
Dragonite Ernston
I rival Lance's.
 
Join Date: May 2010
Gender: Male
Quote:
Originally Posted by Maruno View Post
I get the feeling this topic is becoming... off-topic. It's not about the relative merits of different programming languages.
I've been talking about what my project (which was built from ground up) is doing in terms of programming and the like this whole time.

That being said, you said there would definitely be an RPG engine in C++ in an earlier post. Mind telling me where I could find it?
Closed Thread
Quick Reply

Sponsored Links


Advertise here
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 04:11 AM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.