Hi
I've decide to blog here.
This first post has info which has helped me and might help you too.
IMHO, EE is great if you know:
1. Programming (C/C++/C#/Java etc)
2. 3d Programming (vectors/matrices/local/world etc)
3. games art/design/programming (levels/assests/AI/logic/structures etc)
If you don't understand these at a deep level you will most likely struggle just like me.
So I decided to document my process here.
(I'm a java/C programmer with some experience with #2 and none at #3 - I'm no expert!)
I recommend actually buying a good book, each on the above 3 points above, especially 2!
Don't expect to have an online MMO/RPG game fully developed in a few weeks without knowing any of the 3 points above, you need ALL 3 points!
C++
It's critical to understand C++ at an advance level.
Esenthel is very heavy on:
* Namespaces
* STL Templates/Containers etc
* Polymorphism, inheritance etc.
* Custom class for multi-platform support, IE: Memory, files etc.
* Not so critical for using EE scripting (C# like)
Understanding 3d programming
EE assumes the user has 3d programming experience, so it's not for beginners.
Most of my issues has been because of lack of 3d programming experience.
Google '3d programming theory' to find resources.
I have a few old books which i'm re-reading.
Note: The Document.chm is the most important reference!
Read it 3 or 4 times so you familiarise yourself with the EE framework (memory,Object structure etc)
Printed documents
Printed documents help understand and the learning process!
Copy the files you want to have in a doc (ie tuts) into one tmp folder.
Open each file and write the file name on the first line
On the command line in that folder run: copy /b * all.txt
This will concatenate all files into all.txt
Load all.txt in a word editor and format it:
Set pages to landscape.
Add page numbers.
Fix formatting etc
And print to printer and/or PDF
So you can grep one folder for words, I use:
C:\esethenel-Reference
* do not create any folders/files where your EE is installed, when updating it will remove them!
Put the extra material from References (v1 tuts, Game obj, bloody Massacre, documentation.chm) in this reference folder.
I recommend putting v2 tut project folder there and searching in binary mode.
After the search, click show lines
This is helpful to find the reference (headers/obj code) and examples on how to use it (in the tuts).
Backing up
Once you start, get in the habit of backing up:
1. Zip up our project folder at least at the end of a day of coding. Rename it with what you did.
If you make a mistake and you can't fix it quickly, it's easy extracting your last backup!
2. Before updating to a new update - Remove the build folder and zip up entire C:\Esenthel v2\ folder. rename it with the date and build. The update may break your code!
Getting help
Search:
#1 local reference
#2 Google (use 'site:esenthel.com QUESTION' - this searches both wiki and forums!)
#3 re-search local reference with new suggestions found
#4 Create a new post with code example of your problem
Note: be sure you know what you are searching for ie: if it's a basic 3d programming issue, know the correct words to look for, eg: world translation, local rotation etc
Learning process (Hacking)
After printing/reading References above.
Go through the tutorials (Middle click into definitions and right click back).
Learn what Objects/functions do and how they relate.
Create a new app and borrow code/ideas from the tuts, keep it simple.
Do another one and add to it.
When you get stuck, use google as explained above.
Search your reference for helpful keywords (for more info/examples) and try out what was suggested.
Keep working your way up the ranks.
Time coding/hacking is the only way to master EE.
Getting updates
The forums have a lot of categories and looks confusing at first.
Create an account and log in.
Bookmark the "View Today's Posts" (top right). http://www.esenthel.com/community/search...n=getdaily
You'll see the recent posts.
Because the last post page is limited to a single page or half page.
You will want to keep up to date with the creator's post.
Search the forum for author = Esenthel
and tick view posts.
If you have input into this list, please post below.
That's it for now.
First thing I added to the tuts was split screen.
At first I used view ports because the tuts and the forums used it.
It worked well, but it was missing basic functionality and its mostly for GUI.
I added that to the tuts and it worked nicely, so today I thought I would add it to Bloody massacre v1
It's pretty basic.
Just add an extra player to the world
a new "player" param the two chr objects
On the Player::create() get that param into each chr obj.
player - par->asInt()
Then make the player::update() check for player==1 or player==2
Also the all players[0] statements need to be converted to REPA(players) as they are more then one player now
It's pretty easy once you know what's doing what, it took me 2 weeks setting up and this so far.
The GUI(hit decal and health at the bottom) & keyboard are still shared between them but each player has their own actual health and the zombies attack both (sometime not the p2).
(This post was last modified: 06-01-2013 03:55 PM by gwald.)
Made 4 way split screen
Made crappy world
Added day night code from the tuts
Added a enemy counter
Added states from the tuts
Added loading screen from the tuts
Other players are bound to my controls (top left)
It has around 20-40 FPS running on a dell with on board intel HD video card.
My Blog
http://www.esenthel.com/community/showthread.php?tid=6043
I hang out at Esenthel IRC Channel
http://webchat.freenode.net/?channels=#Esenthel
(This post was last modified: 03-21-2013 02:04 PM by gwald.)