Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 18 Jun 2013
Offline Last Active Yesterday, 06:29 PM

Posts I've Made

In Topic: I want to be a game developer.....so what should I so ?

04 July 2014 - 04:59 PM

There are different paths.

- Work in a game company
 - Good to learn the workflow
 - Get experience and make mistakes
 - Choose one of the 3 majors:
  - Programming
   - Computer Science courses helps a lot
   - C# + Unity3D (good starting point w/ lots of tutorials and examples)
   - Javascript + Canvas2D (also lots of examples in the web)
   - Actionscript3 (Flash editor also offers a good ambient)
  - Game Design
   - Books
   - Self Experience = Play Games a lot
   - Tutorials and Post-mortem docs from AAA games
  - Art
   - Also another major that needs extensive training and education
   - 2D (Photoshop, Vector based editors,...)
   - 3D (Maya, 3D Studio Max, Blender)

- Make your own game
 - Programming
  - Unity3D (fastest way to see code to result)
 - Game Design
  - Self Study and Learn by example
 - Art
  - 2D (faster do create and less complex than 3D)
    - Photoshop / Vector Art

 - Best Practice = Work in a team
  - Really hard to handle all stuff alone

In Topic: WebGL - How to send an array of matrices to the vertex shader?

28 June 2014 - 12:18 PM

I don't remember if I succeeded in sending Matrix4 arrays.

My engine is sending Vec4 arrays for now.

The reason behind this is that Transformation matrix can be 3x4 which spare you 1 Vec4 per matrix.

Considering you have a limit of uniforms in the vertex shader, this is mostly welcome!

In Topic: Haxe WebGL Engine

07 May 2014 - 12:26 PM



Haxor is now it is available for download!


You can use it with FlashDevelop and the Haxe language.




Attached File  launch_wide.png   186.2KB   2 downloads



In Topic: GameEngine from start to finish(DevLog)

17 January 2014 - 09:00 AM

About doing in C++ allowing C# scripting, I found it great!

My experience making these two communicating is really shallow so I could not use this technique!

My point is that making the end-user working in C++ nowadays isn't that productive anymore.


Using XML as scene manager was my choice to avoid binary data being loaded with XMLHttpRequest (HTML5+WebGL Engine).

Other data is a mix of XML and Base64 bytes compressed using LZMA.

So a 'mesh' would be:






In Topic: GameEngine from start to finish(DevLog)

16 January 2014 - 11:07 PM

As a fellow EngineEngineer (I'm doing one but WebGL in HaXe language) here are some cents.


If you're focusing in the end-user you should try C#, as you said the perfomance will not be an issue (look at Unity3d), simple and frequent operations like sorting, delegates, get/set methods and other hi-level stuff done in 1 C# line will help a lot.


Just wrap OGL stuff in a static class and you are free to create a higher-level class library that make the calls organized and the GC is a good friend too.

In terms of class modelling I found Unity's way really awesome (Entity-Component based), you have a container (Entity) and Components are attached to it, after that, only destroying it will remove it (it is nice to avoid lost references).


I have a 'Object' like class (Resource) which contains useful stuff like unique-id, name string, ... which I register in a global Resource list, useful to simply destroy everything after a scene changes or globally search any stuff based on type or name (Reflection is another awesome feature of C#).


I organize stuff in scenes wich is basically a XML [dependecies + hierarchy] that create stuff in RAM/GPU memory and also creates the entities in 3d space with its components + reference to the loaded dependencies. When a new scene is called, destroy everything and restart the process.


About OpenGL, I suggest also following Unity's footsteps. Working with the concept of Renderer + Material, I reached a way to sort the rendering stuff based on properties of both elements and then optimizing stuff and fitting RenderTarget operations (E.g. ImageEffects) more easily in the pipeline.


Lastly, I will reveal the feature that took most of my time in the 6 months of development. The Collada Loader adapted to correctly load Bones and Animations. It was a real pain. Also the Skinning technique was hard to make it work efficiently in the GPU mode.


Nice post! Keep in touch!




Also create a static class to draw any kind of gizmo on top of everything (lines, wirespheres,wirecube,...) it will help a lot to debug hard stuff (skinning)