About Store Forum Documentation Contact



Post Reply 
Gwald's blog
Author Message
gwald Offline
Member

Post: #1
Gwald's blog
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)

C++ guide:
http://www.informit.com/guides/guide.aspx?g=cplusplus

Moving From Java to C++
http://people.eecs.ku.edu/~miller/Course...ToC++.html

C++ tutorial for C users:
http://www.4p8.com/eric.brasseur/cppcen.html

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.


Esenthel References:
Print/read and Know the sh*t out of:
* Print the v1 tutorials, read the v2 (mostly the same) Get it here http://www.esenthel.com/community/showth...8#pid38318
* All Header files
* Game Objects(code for Chr,Item,Obj etc)
* Bloody massacre(v1)
* Document.chm file from v1 (It's a users guide. same info as wiki) See here: http://www.esenthel.com/community/showth...0#pid38340

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

Print the document.chm (v1) by first converting it to PDF, ie:
http://www.zamzar.com/convert/chm-to-pdf/

Reference Setup:
Create a single point of reference!

First, install grep for windows:
http://code.google.com/p/grepwin/
or http://www.digitalvolcano.co.uk/content/textcrawler

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 also includes other peoples work, iE:
http://www.esenthel.com/community/showth...p?tid=6235
AND
http://www.esenthel.com/community/forumd...php?fid=91
And any other EE code you get.

The idea is, when you get stuck, you do one search on that reference folder and it will pin point where and how to use it.

I recommend using these text editors with grep:
http://notepad-plus-plus.org/
http://www.contexteditor.org/

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.



Useful Links

EE IRC Chat
http://webchat.freenode.net/?channels=#Esenthel



All esenthel youtube vids, in newest order:
https://www.youtube.com/results?search_t...y=esenthel

Best tuts!
http://scarlettutorials.tumblr.com/
http://www.esenthel.com/community/showth...p?tid=6084
http://www.esenthel.com/community/showth...p?tid=6379


Free models:
http://thefree3dmodels.com
http://www.texturequalitypro.com/

Game info:
http://wiki.polycount.com/

Skyboxes:
http://www.esenthel.com/community/showth...p?tid=5937

Game design:
http://www.youtube.com/watch?v=fZyy-sEL7H8
http://www.kuro5hin.org/story/2005/7/28/235328/642

Screen recorders:
http://camstudio.org/ or
http://www.fraps.com/ (better for directx)


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.

cmontiel helped me out here!
http://www.esenthel.com/community/showth...p?tid=6020

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 smile

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).





Attached File(s) Image(s)
   
(This post was last modified: 06-01-2013 03:55 PM by gwald.)
03-01-2013 12:59 PM
Visit this user's website Find all posts by this user Quote this message in a reply
rstralberg Offline
Member

Post: #2
RE: Gwald's blog
Nice and thanks a lot grin

My Blog is at http://mrstralberg.blogspot.se.
Chat account Skype (rstralberg)
03-01-2013 01:54 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Pixel Perfect Offline
Member

Post: #3
RE: Gwald's blog
Thats really useful, thanks.
03-03-2013 08:03 PM
Find all posts by this user Quote this message in a reply
Palaxe Offline
Member

Post: #4
RE: Gwald's blog
Thanks for sharing smile
03-07-2013 06:19 AM
Find all posts by this user Quote this message in a reply
rwrz Offline
Member

Post: #5
RE: Gwald's blog
Cool stuff! =)
03-07-2013 05:25 PM
Find all posts by this user Quote this message in a reply
gwald Offline
Member

Post: #6
RE: Gwald's blog
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.)
03-20-2013 12:15 PM
Visit this user's website Find all posts by this user Quote this message in a reply
TheElk Offline
Member

Post: #7
RE: Gwald's blog
gwald

All I have to Say is DAMMM...

You are smarter than me.

And thank you for all of this Info.

TheElk
04-21-2013 08:08 PM
Visit this user's website Find all posts by this user Quote this message in a reply
TBJokers Offline
Member

Post: #8
RE: Gwald's blog
Good job there, never really thought about split screen, nice work around smile
04-21-2013 10:54 PM
Visit this user's website Find all posts by this user Quote this message in a reply
gwald Offline
Member

Post: #9
RE: Gwald's blog
thanks for the feedback, I've updated the text structure and add a bit to it.
(This post was last modified: 06-01-2013 03:31 PM by gwald.)
06-01-2013 03:29 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Post Reply