August 30th, 2006, 07:01 AM
Below, I have attached a PDF file containing a rough idea for a game engine project which will begin to be developed soon, however, for those of you who cannot view PDFs, I will post what lies inside the file. Please, if you can view PDF files, I strongly recommend that you read that insted of the text at the bottom of this post. Thank you.
The CORE development team is currently in need of:
- A group of C++ programmers(*)
- A highly skilled C++ programmer to be titled Lead Programmer(**)
- A game design team.
If you are interested in the project, or simply are seeking more information, please e-mail me at lujan.victor_NOSPAM_@gmail.com (remove '_NOSPAM_'), and please, feel free to add me to your MSN messenger list at the same address if you wish to join the team so we can further discuss your skills in C++
The following is the text contained inside the PDF file, available to read easily through this thread:
C++ Open RPG Engine(CORE) Project
With easy to use engines like the ones that are out to this day, it is kind of hard deciding on
which one to use when creating a great video game.
It is said that you can't get anything good out of free software, but we happen to disagree on
this. There is great free software available if you look hard enough. Software like OpenOffice, Firefox,
Blender, and GIMP. Also, a lot of free software is even better than the software that people pay for.
● To create an easily accessible Open Source RPG Engine through good advertising.
This means that we must have a team doing behind-the-scenes work by contacting popular
websites, forums, and other such sources for advertising while using subtle techniques to
persuade people to sponsor and advertise us.
● To create a 2D RPG engine that provides everything a beginner needs to start on game
development, while still containing all the features that an expert would need.
Not only will games made with the CORE engine be fun, but it will be easy to work around for
beginner game programmers, while still having all the features that an expert programmer
needs to create a great video game.
● To recreate reality with a precise physics system inside a 2D engine by adding mass and
strength to every object.
With the correct mathematical operations, it's easy to make a player lift up an object according
to how heavy an object is, and the strength a player has. Adding detail such as this could
revolutionize the world of game development itself by creating a fully interactive environment.
Our Development Approach
When working on a large project inside a large environment, it can be hard keeping in touch
with a whole development team. This is why our plan is to first create an easy to use application that
simply uploads what you tell it to to our private development FTP server.
However, organization also matters. Our development company will be spread out through
development teams. And people will be given tasks to complete in their specific teams. For example:
Team 'Help' will be working on an efficient application that will help the developer easily
download/upload source code from our FTP server accordingly to what team the source code
As soon as Team 'Help' is done with their task, Team 'Visual' will be working on the
graphical side of the engine and making sure that every aspect works fine. Ranging from
things like the tile engine, to a mini-map.
Team 'Logic' will be creating the basic game logic side of the game while Team 'Visual'
creates the graphical side.
After a development team has completed it's task, all members inside of it will be either get a
break or be assigned to another team, depending on what the member decides to do.
August 30th, 2006, 12:10 PM
I don't mean to disillusion you, but I urge you to work on some open source projects for a while. Perhaps you'll understand where you are fundamentally going wrong.
You still haven't really specified what your CORE system does. The only thing I got out of it was physics engine (already done by ODE+opcode) and an FTP script (pointless, and actually you want a version control system).
As I said, work with some open source projects for a while, or observe them/contribute patches.
August 30th, 2006, 05:10 PM
The above is simply a 'rough' of what it's about. I know I didn't specify what CORE is supposed to do. That's because this is mainly the plan. And I welcome criticism like what you gave me above saying that an FTP system is pointless. I'll change that. What I do not welcome is saying that I shouldn't go on with this, or I should give up now.
As far as things being done by other people. Okay, I'm sorry, I didn't know it was already done, but then again, an Open Source RPG engine already has been done.
Originally Posted by Oler1s
This is also obviously not a finished idea. I have started this thread to mainly put my ideas out there for critique, and yes, also to look for volunteers to START on the basic engine.
August 30th, 2006, 06:47 PM
I'm not here to discourage or disillusion people. But I will try and knock some sense of realism into people when necessary. Now with that said,...
So you are able to specify the plan, without specifying what CORE is supposed to do? A rough plan is still a plan. Do you have a general roadmap? A feature list? What is the scope of your engine? Does your engine incorporate graphics, sound, input from scratch? Does it sit on top of other layers (like SDL)? Is it cross platform? What are the target platforms anyway?
Originally Posted by FernandoLujan
A rough plan doesn't need to be a detailed design spec, but it needs to look like you spent more than two minutes thinking about it.
Do you even understand why? Are you aware of why FTPing source code back and forth is a bad idea? Are you aware of why having a whole team dedicate time to writing a FTP application is a bad idea?
Not knowing the wheel exists is no excuse for reinventing the wheel. It takes five seconds to google "open source physics engine". It doesn't reflect well on you if you aren't aware of existing libraries.
More importantly, if there is an open source RPG engine already, why make another one? Yours is better? How? What features does it have that other engines don't? If it's so confusing to choose between RPG engines, why add another to the pool?
That's what I'm doing; I'm criticising your idea. Look, you are asking for volunteers. Free work. Do you understand that you need to convince people your project is worth something? I'm raising questions that any developer worth his salt would ask. So this isn't me criticising you. This is me telling you what you need to deal with here.
Comments on this post
August 30th, 2006, 07:03 PM
Well, criticism isn't bad. Don't get me wrong. But anyway. I shall start writing down all of the things that you have told me and more right now. I'll post it when it is finished. And, sorry about everything.
August 31st, 2006, 03:17 AM
You're asking people to contribute to a long term project without compensation. There's nothing wrong with that and a lot of people are willing to do that as long as they believe in the project.
Oler1s criticism is exaclty directed at that and i agree. You need to provide much more information about what you want to do.
- capabilities of the engine
- what existing stuff you will use and what you will do yourself
- target platforms
- differencies/advantages over other engines
- basic architectural information ("graphics, physics and logic" is not enough)
When you have convinced people that your idea is something worth spending time on you will also have to convince them that this project will eventually come to a successful end. Either demonstrate the necessary pm skills yourself or show some basic abilities and ask for someone who's good at that to take over management (which i recommend in your case). I don't want to sound to harsh but I for myself wouldn't want to have a project manager who has never heard of source control...
Now some advice about your engine plans:
- You physics engine is a bit poor. Simply adding weight and strength is something an application can do by itself just as well. If you really want a physics engine you should think of something that will really take a burden of your users.
- Before you look for a lot of programmers you should organize some good folks and create the design. Also seek help to set up the management if necessary. If you just start hacking code you won't get anywhere on a project of this scope.
- Also be clear about what you expect of your contributers and what they can expect of you and the project. Any legal stuff is best taken care of in the beginning.
I hope i could be of some help and that you can polish up your idea which i think is very interesting.
- Hugh of Borg
The first thing young borg are taught: Keep away from Microsoft software!
August 31st, 2006, 04:35 AM
Thank you very much, and as I stated before, it is greatly appretiated. I made another design document stating some really basic stuff. I am seeking some help for more design documents, so if anyone is interested yet, feel free to contact me at email@example.com .
For those who can't view PDFs:
CORE will be developed using the C++ language to make the whole game engine. GLUT/OpenGL will
be used for the graphical engine and input handling, and OpenAL for audio. The CORE engine is designed to be
cross-platform so that anyone can enjoy the experience!
It is designed specifically to fit RPG games. It has enough features so that it can be based in any time
period ranging from a fantasy medieval world to a fantasy futuristic world.
Each game developed with the CORE engine will start with a default set of keys to do every thing inside
our game world. However, the hotkeys can easily be edited in-game or through a configuration file.
We will let the game developers decide what things they want to have inside their game world when it
comes to transportation. However, with most game engines, the developers don't have many options. This is
why, as default, CORE will start off with all options of travel that are possible. This meaning that a player can
easily run if he chooses to, but he can also walk. As far as transportation like flying goes, we will let only nonplayer
characters or vehicles do the flying for you. This meaning that it is possible to mount a creature if it has a
set flag for it. If an NPC(Non-Player Character) is mountable, then it will have 3 different choices as to what type
of mounting. Will the NPC fly, run, or swim?
The CORE graphical engine will be designed for an Isometric world. We want to achieve the most realist
world possible inside a 2D game, and therefore will use any type of effect possible to create a believable world.
Climatic events, day and night, special effects. All these will be achieved through the power of OpenGL.
Game characters(including non-player characters) will have an inventory according to their backpack
size, different slots for pieces of armor and things they put on their body(e.g. Helmet, gloves, necklace), and
other things. These will be more detailed in the next design document. Describing the class and skill system,
along with player attributes.
Something that is lacking in many role playing engines is realism. Just because a character can cast
magic, it does not mean that he/she shouldn't be allowed to wear chain mail or plate. This is why in CORE,
anyone can be anything and do anything. But with consequences. If you are a mage wearing plate, your
modifiers will be greatly decreased, and you might not even be able to cast certain magics.
Melee weapons like swords and axes are essential in an RPG game because they usually are based in
a medieval fantasy world. Just like the CORE engine will be. However, ranged weapons like bows can be tricky
when it comes to a 2d game. It is known that having a feature like aiming with the mouse can be very frustrating.
The main factor that would affect this would be lag. If you click on what might seem like the player, according to
the server side, it might just be the ground. This is where the role-playing comes in. A roll will be done with
modifiers like the victim's reflexes, and the attacker's aim. However, there are two different situations when you
are in range combat:
- You have been combating the other player for a while, and your aim decreases since he has already
-You are not currently in combat and the player is still. This is the sniping mode where your aim increases
and the victim's reflexes decrease
I will start writing about what you told me in a few minutes. I must take a rest.
August 31st, 2006, 07:43 AM
Your document has improved already quite a bit in some places. You are mentioning what technologies you intend to use but you can still be a little more elaborate about the technical aspects. You should also greatly expand the part about what you want to achieve (that does not yet exist), what you want to do better (than the thing that already exist).
But careful: You are getting too specific for my taste. You define a lot of things that might not be the case in every game.
Who says that player characters cannot fly? who sais that there are only walking, running, flying and swimming?
items and item effects:
who says that a certain item must have a certain effect? I might want to develop a game where chain mails increase magic power or have no influence at all.
Who sais that i don't want the players to aim with ranged weapons? My characters might not have the attributes "aim" and "reflex".
My point: You are making a lot of decisions that are essential for developing a game. But you are not making a game. You are creating a game engine and if you want it to be as generic as you described earlier you need to refrain from making such decisions! Keep it neutral. You may offer some templates for what you think will be commonly used but keep them separate from your engine. Completely separate.
You are also mentioning client-server connection in your last section. You should state in the beginning wether you want your engine to be suited for online-, offline-, single-player- or multi-player-RPG's or even more than one of therse options. This has severe consequences on your architecture. In case of Online capability you'll have to talk about that too in your document.
About your document. I suggest you start with one page where you state what you want to do ("2d rpg engine", "platform independent", "physics", yadda yadda). Talk about what your idea encompasses without going into to details. Point out what makes your idea special. State what qualifications you bring into the project and what you are looking for (again: no details). This will be the most important page. It will tell people what they need to know in order to decide if they want to read the rest of it.
Now you can talk about details but organize it into logical section like "technology", "capabilities", "project management", "personal background and qualification" and so on. Write this part as if the recipient had read the first page a week ago. All relevant information has to be available in the apropriate section.
You probably ask: why so complicated?
Answer: These are suggestions inspired by business plans. It gives all important information in the beginning so that people in a hurry can quickly check your idea. Anyone interessted in details can still find them on the other pages... You would also only post the first part to a forum.
- Hugh of Borg
The first thing young borg are taught: Keep away from Microsoft software!
September 3rd, 2006, 06:55 AM
Thanks for all the feedback. I really appretiate it
I have started working on a pretty detailed game document on the whole CORE project. Since school is starting soon, I'm guessing it will take a while. But I don't expect the project to start before I finish it. So, the look for members is no longer in effect, and all I look for now is for help on my design document. Ideas are welcome in here as well as critique. So post away Here's what I have so far: