Page 1 of 2

[ON HOLD] Updates on the FIRST-KING PROJECT

Posted: Wed Jun 10, 2009 5:01 pm
by christianclavet
Hi, I'm now a graduated Level Designer from Campus Ubisoft in Montreal (Canada). I've just completed the graduating game project "Sunshine Cirkus" and should have more time now to work on the "FIRST-KING" Project. I wanted to give you updates on the FIRST-KING Project as I'm taking new direction on it now.

For the ones that don't know this project. The "FIRST-KING" will be a FPS single player open source game created using IRRlicht and build by using components as (IRRai, IRRPhysx, XEffect, etc.) I would like to thank again, JP to have put such good work on those (IRRai and IRRphysX), as they are critical things that the game need.

Here is the link to the sourceforge project if you'd like to learn more:
http://first-king.sourceforge.net


I was too busy this year to truly develop the application and anyway I'll need help. I've have let a coder to develop the engine on linux and never seen it working (I have only Windows). Since I don't have updates since december 2008 (asked to try to port to windows to see what was done) and received recently a mail of someone interested to work on the project again; learned something from all this and now here what we're searching for:

We need coders for the project, using MSVC with IRRlicht . The code must not use specific OS things unless they can be replicated for other OS. The plan is to make the application for windows first, but easily portable to other supported IRRlicht OSes. The project is a long term one. I am not anticipating a final release this year. Creating a project like this ambicious and will require patience.

For animators, modelers, sound engeneer and others would want to join. This will have to wait for the moment, the project need to focus on the code only for now. Once the tools are ready to be used, then we'll ask for your help. (I still keep a warm place for you David! :) )

Our current development plan: FKEDITOR
We need coders that would want to work in a team on the main editor of the game. The editor will be made of different modules, so each team member can work on a specific module on his/her own then try it on the build.

Here is a brief description of the features by modules:

Editor Base - This part is mostly completed in my first release, but need a major clean up.
- Quad View, Single view (Later we could define more than a quad view) - Refresh need to be optimized
- Each views using a scalable grid (assignable value), and this item can be "snapped" to this grid.
- We can manipulate items, in all views, as rotation, translation.
- We can select item directly in the selected view or by the object list
- We can hide and show object (contextual menu, tag on the list we can change)
- We can view in wireframe and shaded
- We can view some helpers (bones, origins, bounding box, etc)
- We can load IRRscenes directly, and save IRRscenes directly
- Ability to render to a sequence of image or single picture
- Ability to have a "TEST LEVEL" button, to switch in player mode (WSAD keyboard mode with player mecanics to test level and defined element, as in window or full screen) - I have developped a custom player controls already, still need to add features and cleanup.
Link to the last build with source of the game mecanics here:
http://www.christian.clavet.org/FK_release.zip 32Mb

Modules:
- Animation tool, to preview, name and set animation names for model. Ability to save animation data for models (started a little bit on this)

- AI tool to set the node path (from IRRai tools), and set animation model to specific actions (As of NPC). This tool could become complex
- Define a NPC class that would use the IRRai mecanics to manipulate object. (Turret type, warrior, citizen, etc.)
- Define a AI class that would check for Health and damage, inventory, weapons for the NPC
- Having a way to define run, walk, jump, crouch, cover, fire, die, damaged animations (Animation tool) linked to AI behaviors
- Defining specific audio events during named animation (could go in animation tools)

- Entity tool that define specific object with attributes as of:
- Creation of specific featured nodes to do: Door, Ladder, Elevator, Button, Trigger zone. Pre-scripted even will need to be set, and later add custom scripting there. We will surely have to add a scripting engine to make it work properly. The best way would be to incorportate the scripting first, then try to associate GUI editing to it.
- Be also able to create light entities XEFFECT, that we can place on the level, set colors and distance cast from the light. (Lightmanage?)
- Be able to have a "link" entity to link to another level. (way to preload?)
- Audio node, for placement of audio nodes (3D environmental, and linked to even as background stereo soundtrack)

- Particle tool
- Define the particle origin, spread, values, everything related to the support given in IRRlicht for particle system. WE could link Entities to it (ex: TRigger A -> Activate particle fountain B)

- Terrain Editing
- Be able to import and create terrains in the editor (as tiled terrain nodes). We would later add, water editing, terrain spatting for texturing, etc. The base would only need to support tiled terrain with basic texturing.

- Material/Model Editor for model, terrain, etc.
This will enable the change of textures on the model, setup the shaders (normal-specular maps)
We could also define a custom object for collision for specific models here.

- Cutscene/Camera editor be able to create paths for example (trains) so a camera or entitie could follow the path and target path could also be define. Long term plan, would be to define that part like a "Adobe Premiere" timeline for objects in the game. From there we could also record "demos" of the objects as we played the level, and replay it. Then decide to record it at the level of quality we decide in a sequence of frames. (Not sure how we could do for audio)

- Physic module: (IRRPhyx) - Defining explosive objects, or physic objects that the player can move, destroy, etc. Could be linked with the particles (depending on how well IRRlicht will support this)

- Advanced Mecanics module - This module will be needed later, to define certain camera setup with their controls (ex: vehicle mecanics, first person, third person, hybrid) We could set the camera to have "walk" cycles and be more cinematic. Define how the "dead" cycle for the player is defined. When the player is getting hit by physic (impacts), etc. Define the mecanics for ropes (slide, climb, etc). I would really have something really simple for anybody to set their "feel" for their game and not only "The First King".

- GUI module - For defining the "look" of the menus of the game. And what will the presented and where. This will be saved in a file that will be retrieved when the game launch. We would also put the levels definition in there (as Chapters) . Would be nice if we also had "achievements" from certain tasks or hidden items in the maps. Would be added to the player profile (would also need to define player profiles)

Here is my old build of the FKEditor with the source (DEVC++)
http://www.christian.clavet.org/FKEditor.zip 26Mb

EDIT June 16 2009 Here is a new source of the editor with a build. Working with IRRlicht 1.5 and MSVC Express 2008 (10 Mb)
http://www.clavet.org/forum/download/file.php?id=85

EDIT JUNE 16 2009: Here is a link to the technical documentation about the FirstKing Editor (PDF, 1.0Mb, 15 pages)
http://www.clavet.org/forum/download/file.php?id=84

EDIT June 18 I've put the source code with a better coding style. Still there a lot to do to clean it properly and I want to create a "real" prototype with at least one module started so others could know more what I mean by adding modules to the core. There will be also additionnal delays, because I want to integrate parts of the SirrF framework inside the editor, that should help a lot after.

So if you're only interested to work on the modules, you will have to wait a while. For the ones that would want to help me to work on the core, any help will be appreciated, but I think I'll be able to start it alone.
[UPDATE: NOVEMBER 2009]

Nah!! I've tried by myselft by this is too much knowledge is required and I lack a lot!. The project is now on HOLD. I will not abandon it, nor that I will drop it either. I'm just putting it on hold so I can learn more.

I lack serious knowledge of C++, got a lot of good ideas and know where I'm going, but can't implement the things by myself alone. I tried with my spare time in the summer and failed.

So until I have something "Solid" and that I'm sure that I'll be able to start and finish a working prototype for the editor and engine. The project will be on hold. If I'm able to complete the first prototype, then I'll be happy to ask for other to join the project.

Posted: Wed Jun 10, 2009 5:44 pm
by JP
Congrats on graduating Christian! It's good to hear that FK is back on track now!

Unfortunately right now I'm waaay too bogged down developing the game in my avatar to be of much use until September time at the earliest. I'm working up to 70 hour weeks and have zero time for personal programming... It's a shame but the game will be done soon so I'll be back to more sane hours of work and have more time to develop in my personal time a bit, so then I'd be happy to jump back into the project in any way I could!

Posted: Wed Jun 10, 2009 5:57 pm
by FuzzYspo0N
Thats great to hear christian. Can we see your portfolio from college? im interested to see :)

Good luck on FK, it will be cool.

Posted: Wed Jun 10, 2009 8:20 pm
by christianclavet
Hi, JP. :D

That's ok. As I said, the project is long term and you've done lot of work on the project with IRRai and IRRphysX.

At the graduation, I was the recipient of the "Beenox Award" for "Outstanding contribution on the integrator project" (Project was Sunshine Cirkus), Beenox is a subsidiary of Activision here.

FuzzYspo0N, my portfolio is on my "LEVEL DESIGNER" dedicated site.
You can check at that URL:
http://www.christian.clavet.org

Posted: Thu Jun 11, 2009 7:01 am
by pera
id like to work part on the editor :)

Posted: Thu Jun 11, 2009 7:50 am
by FuzzYspo0N
There is some great stuff there on the site christian. I like the building its nicely detailed.

Posted: Fri Jun 12, 2009 1:42 am
by christianclavet
Thanks FuzzYspo0N! I'll still need to add more stuff in that part of my site. Only 2 models to show is not much. (Created spaceships but were never being completed)

That would be great Pera!

Re: [TEAM NEEDED] Updates on the FIRST-KING PROJECT

Posted: Sun Jun 14, 2009 8:28 pm
by full.metal.coder
christianclavet wrote: I was too busy this year to truly develop the application and anyway I'll need help. I've have let a coder to develop the engine on linux and never seen it working (I have only Windows). Since I don't have updates since december 2008 (asked to try to port to windows to see what was done) and received recently a mail of someone interested to work on the project again; learned something from all this and now here what we're searching for:
Just thought I would clarify things a bit (maybe I wasn't clear enough in my mails after all) :
* I have worked on TFK engine during a couple of monthes quite a while ago (end of summer/beginning of autumn 2008) but at that time I only had a linux development environment so while I produced platform independent code it only ran on linux
* I had never expected to become a lead programmer when I contacted Christian to tell him I was interested. I already had several projects of my own (no shiny 3d games though) and was interested in getting familiar with game development by contributing as a regular team member.
* when faced with Christian's expectations and the code he produced (it was quite a mess) I tried my best to create a clean working base on which the game could be built using Irrlicht, Bullet, Lua and OpenAL because I was on holidays and thus had plenty of spare time back then to toy with TFK.
* I got stuck for a very long time on the character controller which is by far the hardest "basic" thing for such a game (and still wasn't satisfied with the result last time I touched the code)
* I didn't have any time to work on TFK this year (school), heck I didn't even have much time to dedicate to my own projects (as in projects I've started and am committed to maintaining since they have matured enough to have an audience and/or commercial customers).
* it became even worse since the beginning of spring with exams approaching (read this in case you're wondering how hard can my exams be : http://en.wikipedia.org/wiki/Classe_Pr% ... C3%89coles) and it's far from over since oral exams will keep me busy until mid July.

Anyway good luck with that project. I may come back and give a hand when I have some spare time again but this time I won't let you (or anyone...) trick me into the position of lead developer : that's way too much for me to handle given that I already hold that position in three other projects.

As a side note, if anyone is interested in the source that lies on the SVN repository at the moment feel free to use it under any license you may like but if you manage to improve that damn character controller I'd appreciate to hear about it.

Posted: Mon Jun 15, 2009 7:34 pm
by christianclavet
Thanks full.metal.coder. I've appreciated all that you've done already on the project. Since I've didnt have news from a couple of months and was never been able to see one of your prototypes. I tought you dropped of the project. I've learned from this experience.

The engine you developped had too much dependancies and I never was able to compile it once. Someone was successful in doing a window port of it? I really would like to see what you've done! Yep, that would be useful to check part of that code on the SVN.

As everybody know, I'm not a fully qualified programmer (programming skills came from Borland Pascal before going with IRRlicht), and still have to learn a lot on C++ programming. I'm a level designer that can code and have lots of ideas. I was a team leader in our last project at Campus Ubisoft and also learn much thing there.

About the "lead" programmer, it made sense to me to ask you your opinion about everything since you had much more experience than me. I still won't try to define everything. Sorry, If it made you feel such in a uncorfortable position.

I'll lead the project and propose ideas and sometimes show how I could do them. I have a clear idea about the "whole" of the project, but not in the "little details" and I really need feedback for those "details". It's really a team based project.

During last year, I learned a lot about game engines and editors. My approach was not right. I wanted to have a game engine first. To have something interesting, you need to have content. And what could a better thing to implement content in a game engine as would be as using an editor. (Pera got the good approach the first time there!)

I should have gone with the editor approach first and implement engine features inside the editor. This year JP really improved both IRRai and IRRPhysX. That's why I decided to switch to PhysX for the Physic engine.

The editor will be made of modules so everybody will be able to work on the module of his/her choices at their time. The "core" will be harder to make since all module will need to register on it.

As for now, the project have some basic requirements: Need to be created as a MSVC project (Or have a way to export your code to MSVC). Once the editor/game engine will be working, then we could check for porting to Linux or MACOSX. I don't want modules or component to be specific of an OS. But at least it must compile on MSVC.

I'm writing now a tech doc that will explain more about this. Should be able to post it in a couple of days.

If you can code for MSVC, I'd be very happy that you'd join back!

Posted: Mon Jun 15, 2009 8:03 pm
by dlangdev
I'll be watching it very closely as I need an editor as well. At the moment, I'm trying to get this personal project of mine off the ground. Once I'm free with it, I'll be able to help. I'd like to add zones/portals for large map levels. That will be next on my checklist. I just need to roll-out this demo game as soon as possible, put it on my portfolio and move on to the next.

Posted: Tue Jun 16, 2009 4:32 am
by christianclavet
I've added today a link to the base of the technical documentation for the First King editor project. It's at the end of the first message in the thread.
It still not fully completed, but should give technical details about the First King Editor and its modules.

Here is the same link here: (PDF 1.0Mb, 15 pages)
http://www.clavet.org/forum/download/file.php?id=84

EDIT
Here is MSVC++ Express 2008 project of the editor with a release working with official IRRlicht 1.5 (10Mb)
http://www.clavet.org/forum/download/file.php?id=85

EDIT June 18 2009
I've put the source code with a better coding style. Still there a lot to do to clean it properly and I want to create a "real" prototype with at least one module started so others could know more what I mean by adding modules to the core. There will be also additionnal delay, because I want to integrate parts of the SirrF framework inside the editor, that should help a lot after.

So if you're only interested to work on the modules, you will have to wait a while. For the ones that would want to help me to work on the core, any help will be appreciated, but I think I'll be able to start it alone.

That info as been put in the first thread also for the ones that are looking at it the first time.

Posted: Sat Jul 04, 2009 11:38 pm
by christianclavet
I've found (again) a really nice source for a editor with it's game engine.
Was made by Amine Rehioui in 2006 for his "Capstone project" while he was doing a bachelor in computer science.

The engine is really basic, so it's a great reference if you want to start a FPS with some ai character. The game come with the full source (IRRlicht 1.1, Scripting (GameMonkey), and Micropather to resolve the AI directions).

You can place the player, the NPC, define the waypoint, load a BSP map for the collisions (IRRlicht collisions response animator) and launch it and play. AI is controlled via the scripting and this is really nice. (hitpoints, safe distance to shoot, respawn etc)

The game engine come with it's own editor and as almost every features I want to have for the bare-bone of our project (no extra module). All the recipes are in the source of Amine. Just look at it and adapt the code with the new framework/script engine.

I'm hosting the file in case his site would have a problem( I don't want to lose it):
http://www.clavet.org/files/Storage/3D_Game_Editor.zip
His site with other type of stuff he's done (he's trying to create another release of his engine/editor combo by the name "shoot game engine"
http://amine.2ya.com/

As updates on the project, for july:
I've cleaned my code in the way it's more structured, it's look more clean now. Still have to cleanup the way the mouse interact with the NODES, it's very messy in the code.

The only coder active on this project right now is JP(Currently working hard on a commercial project). I'm still cleaning up the code when I have time, but don't put it a priority, since I'm still searching a job as a level designer (cleanup my portfolio, create a new campain in L4D, seek interviews)

Once the cleanup will be completed, I will try to incorporate the SirrF framework in place / look at the way Amine has does his stuff to incorportate the scripting with the AI, check for other references in JP's code (IRRai examples)... To have a basic editor about the same as Amine as done but IRR scenes capabilities.

If someone want to look at a great example of an editor/game engine. Check this (Project offset):
http://www.projectoffset.com/index.php? ... 3&Itemid=5
They've been working on this since 2005 and still on it, but the engine is really incredible, as the editor. (Been acquired by Intel recently)

The First-King Project is still up and alive.

glad 2 c u r back

Posted: Tue Jul 07, 2009 10:31 am
by lostanimator
hi again:

just checked the forum for updates on terrain generation, and found your update. Let's get on with it. my services at your command, alas for the first king... his kingdom is close, await his advenition!!

Posted: Tue Jul 07, 2009 11:11 am
by Virion
i've been working on my own level editor and found yours is very inspiring. 8)

Posted: Tue Jul 07, 2009 6:18 pm
by christianclavet
Hi David and Virion.

Thanks for the nice comments! I think will all the work done so far by other, that a single programmer (very experienced) with enough time on his own could create a really powerful editor with all the component the IRRlicht user have done!

I don't have too much time to learn C++ when I need to focus on Level Design/Modeling (and get a job :) ). So progress will be very slow, but I'm very persistent. The last source for Amine basicaly show me everything that I should know to setup the game engine, create the navigation nodes (as JP does), have a basic AI, and a GUI for an editor (I like the way he's done it). I wonder that I missed that source before.