Just a quick update with a screen cap. Of code.
Actual shots coming this week ;-)
Wutata's Seasonal Blogging
I has intarwab.
February 12, 2013
February 5, 2013
AGE 3 part 2
Hey again,
I'd like to tell something about the engine, current state and it's purpose of existence.
AGE, as you might know, is acronym of Autumn Graphics Engine and it is written in C++ on top of OpenGL and some other APIs. It is designed to become a close-to-edge engine with all the 'basic' features of current-gen engines - deferred rendering, shader-based pipeline and accompanied with "factory" shaders for HDR, tonemapping, bloom, normal mapping, shadow mapping, sub surface scattering, SSAO and others. I'm aiming on designing the shaders so, that I just enable features for an object and then automatically choose correct one to use. On the otherhand I could also write few super-shaders that have everything packed into them.
At this moment, I'm rewriting it's basic structure for the millionth time. Probably the only thing that hasn't changed is the math functions, such as vector, matrixe and euler classes. I have also the basic pipeline laid out so I can hopefully make quick iterations and extend the engine as freely as I want.
Why do this? Why not just use available engines and extend them or use Unity (or other package) to make games or learn stuff?
Welll... Mainly because I want to know how engines work. I'm like that. Give me a pen and it's in pieces after few seconds. Then I reassemble it. Repeat. Usually when I play games I'm constantly thinking how this and that was achieved. Without having working platform, I haven't been able to recreate them like I want to. Using existing engines or packages will limit what I can do and requires a certain learning curve to use. Luckily I learn things quickly, so I usually make prototypes and brainstorm using Unity.
So I'm making a graphics engine to be used for my personal experiements because I want to learn new things.
Next post will (hopefully) have screenshots too. Of spheres.
Wutata out.
I'd like to tell something about the engine, current state and it's purpose of existence.
AGE, as you might know, is acronym of Autumn Graphics Engine and it is written in C++ on top of OpenGL and some other APIs. It is designed to become a close-to-edge engine with all the 'basic' features of current-gen engines - deferred rendering, shader-based pipeline and accompanied with "factory" shaders for HDR, tonemapping, bloom, normal mapping, shadow mapping, sub surface scattering, SSAO and others. I'm aiming on designing the shaders so, that I just enable features for an object and then automatically choose correct one to use. On the otherhand I could also write few super-shaders that have everything packed into them.
At this moment, I'm rewriting it's basic structure for the millionth time. Probably the only thing that hasn't changed is the math functions, such as vector, matrixe and euler classes. I have also the basic pipeline laid out so I can hopefully make quick iterations and extend the engine as freely as I want.
Why do this? Why not just use available engines and extend them or use Unity (or other package) to make games or learn stuff?
Welll... Mainly because I want to know how engines work. I'm like that. Give me a pen and it's in pieces after few seconds. Then I reassemble it. Repeat. Usually when I play games I'm constantly thinking how this and that was achieved. Without having working platform, I haven't been able to recreate them like I want to. Using existing engines or packages will limit what I can do and requires a certain learning curve to use. Luckily I learn things quickly, so I usually make prototypes and brainstorm using Unity.
So I'm making a graphics engine to be used for my personal experiements because I want to learn new things.
Next post will (hopefully) have screenshots too. Of spheres.
Wutata out.
January 31, 2013
AGE 3
I noticed I hadn't ever experiemented with different rendering methods.. I guess I always thought forward rendering was the only feasible one. Oh well.
For those who don't know what I'm talking about - forward rendering is a pipeline that works per object-basis, while deferred rendering makes all shading in screen space - thus eliminating multiple writes per pixel. This allows more lights and effects to be put on scene, but has othter limitations, like no support for transparent objects and high GPU bandwidth requirement.
For a quick overview about these two, check this link out: Forward or Deferred?
I'm currently working on a bit more dynamic engine - it will have both forward and deferred rendering modes and I will include few kinds of shadow mapping methods. Most likely they'll be PCF , PSSM and PCSS + I'll try to make clear with SSSS - which will come handy with deferred rendering.
Other thing is that I'll be utilizing a lot what I've learned while I was working, so this version has very different structure - mainly to make it faster and even more extendable.
Of course the basic stuff will be there - LUA scripting, support for most mesh files, freeimage, glew, shaders, PAK, blender exporter...
So far I have established the basic structure and set footing for the new rendering pipeline. I'll also try to make the engine work with most GL versions via fallback system, but I'm still working on how to best make it.
I try to minimize copypasta so that I won't be depending on old architechture and can concentrate on the new one.
I'll keep ya posted.
For those who don't know what I'm talking about - forward rendering is a pipeline that works per object-basis, while deferred rendering makes all shading in screen space - thus eliminating multiple writes per pixel. This allows more lights and effects to be put on scene, but has othter limitations, like no support for transparent objects and high GPU bandwidth requirement.
For a quick overview about these two, check this link out: Forward or Deferred?
I'm currently working on a bit more dynamic engine - it will have both forward and deferred rendering modes and I will include few kinds of shadow mapping methods. Most likely they'll be PCF , PSSM and PCSS + I'll try to make clear with SSSS - which will come handy with deferred rendering.
Other thing is that I'll be utilizing a lot what I've learned while I was working, so this version has very different structure - mainly to make it faster and even more extendable.
Of course the basic stuff will be there - LUA scripting, support for most mesh files, freeimage, glew, shaders, PAK, blender exporter...
So far I have established the basic structure and set footing for the new rendering pipeline. I'll also try to make the engine work with most GL versions via fallback system, but I'm still working on how to best make it.
I try to minimize copypasta so that I won't be depending on old architechture and can concentrate on the new one.
I'll keep ya posted.
November 9, 2012
Current engine projects
I was crawling through my files and I noticed something interesting.
I have three projects running, instead of two. All are marked as graphics engines.
AGE - Autumn Graphics Engine, is the main project, it is for desktops and is build upon OpenGL 2.1, but as I have newer GPU now, I'll be rewriting it to use OpenGL 4.3. There will be short/medium break until I show anything interesting (other than simple spheres) because the architechture is very different to 2.1.
AGE for Android (AGE.A) is Java-based OpenGL engine for Android, it currently has _very_ basic abilities. I intend to get it working alongside other projects.
and then I found something awesome.
AGE.DS or AGE for Nintendo DS, which is C++ based OpenGL engine for NDS. There is no 3DS sdk afaik, so I can't divide it for that too. Also there are no cards that support .3ds files. It currently is in it's beginning phases, as I'm trying to understand how to best make use of the capabilities of the system. So far I can only draw to the top screen in 3D (or lower if I wanted to). I intend making AGE.DS my secondary project if I find motivation to keep swapping cards in and out of the handheld.
I will most likely (once I get my hands on one) make an engine for the new OUYA, because it has open API and development is directed at indies.
On related note, Unity is going to add export capability to OUYA, but I think the publishing pipeline won't be integrated, just like with iOS.
I have three projects running, instead of two. All are marked as graphics engines.
AGE - Autumn Graphics Engine, is the main project, it is for desktops and is build upon OpenGL 2.1, but as I have newer GPU now, I'll be rewriting it to use OpenGL 4.3. There will be short/medium break until I show anything interesting (other than simple spheres) because the architechture is very different to 2.1.
AGE for Android (AGE.A) is Java-based OpenGL engine for Android, it currently has _very_ basic abilities. I intend to get it working alongside other projects.
and then I found something awesome.
AGE.DS or AGE for Nintendo DS, which is C++ based OpenGL engine for NDS. There is no 3DS sdk afaik, so I can't divide it for that too. Also there are no cards that support .3ds files. It currently is in it's beginning phases, as I'm trying to understand how to best make use of the capabilities of the system. So far I can only draw to the top screen in 3D (or lower if I wanted to). I intend making AGE.DS my secondary project if I find motivation to keep swapping cards in and out of the handheld.
I will most likely (once I get my hands on one) make an engine for the new OUYA, because it has open API and development is directed at indies.
On related note, Unity is going to add export capability to OUYA, but I think the publishing pipeline won't be integrated, just like with iOS.
November 5, 2012
Back in Action - for a while
I'm back with the engine development for a while.
I'm most likely going to redo most of the engine structure based on what I've learned in the past 2 years I worked at Traplight. This means I'm going to reset the milestones and iterate from the beginning.
For the first few weeks I'm going to just play around with the base structure, so I can get the best out of it without making major changes when I add stuff.
This time I'm going to make Android engine in parallel with the PC engine and my attempt is to be able to make a few step ports of the games I make - using same scripting platform and asset system.
I'll try to keep the blog updated with other stuff too along the engine dev this time.
Over and out.
I'm most likely going to redo most of the engine structure based on what I've learned in the past 2 years I worked at Traplight. This means I'm going to reset the milestones and iterate from the beginning.
For the first few weeks I'm going to just play around with the base structure, so I can get the best out of it without making major changes when I add stuff.
This time I'm going to make Android engine in parallel with the PC engine and my attempt is to be able to make a few step ports of the games I make - using same scripting platform and asset system.
I'll try to keep the blog updated with other stuff too along the engine dev this time.
Over and out.
February 21, 2011
About hiatus
I was supposed to publish a lot of new information regarding the engine long time ago, but something, that I didn't ever could happen, happened.
I'm currently working full-time as a game developer, so I had to put engine on hold until I get my personal stuff together. I work at Traplight Games.
I will, however try to resume as quickly as I can. I'm close finishing new features and planning on doing multiple-engine visual testing.
These engines are currently in an undisclosed list as I'm not sure what I'll be working on when I get there.
As a side note, I'm also back on track with GameStudio A8 Commercial.
That's right, I'm making games for iPhone. I once hated Macs and boycotted iPhones.. Oh well.
I'm currently working full-time as a game developer, so I had to put engine on hold until I get my personal stuff together. I work at Traplight Games.
I will, however try to resume as quickly as I can. I'm close finishing new features and planning on doing multiple-engine visual testing.
These engines are currently in an undisclosed list as I'm not sure what I'll be working on when I get there.
As a side note, I'm also back on track with GameStudio A8 Commercial.
That's right, I'm making games for iPhone. I once hated Macs and boycotted iPhones.. Oh well.
December 16, 2010
Christmas drawing near
I've been working on school projects and AGE for a quite a while now. School projects are nearing completion, where AGE isn't even near.
I will now succumb to Christmas sleep and will return next year.
- - -
I will now succumb to Christmas sleep and will return next year.
- - -
December 2, 2010
Working on Boney Milestone
I've been very busy doing schoolwork and this. I've been working on primarily bones system, how to read them and how to implement them using IK and FK. I also have premature support for particles.
I will later on add shadow mapping and other fancy stuff.
I'm very sorry for the lack of updates. I will try to be more active and post more about the progress, but because of school and personal life I haven't made too much progress, even though AGE has most priority.
I will later on add shadow mapping and other fancy stuff.
I'm very sorry for the lack of updates. I will try to be more active and post more about the progress, but because of school and personal life I haven't made too much progress, even though AGE has most priority.
Subscribe to:
Posts (Atom)