Pages

Pretensions of objectivity must be left at the door, clothing is optional...

My Poems - My Music - My Paintings - My Serialized Novels

The Wholy Order of The MEEK
An Atheist Pagan Hymn
My first book of Atheist Spirituality
What Canada REALLY NEEDS !!
SG Atlantis and their Unethical BS
Ring of Corruption

"All that is valuable in human society depends upon the opportunity for development accorded the individual."-A. Einstein

"Ain't it funny how the factory doors close, around the time that the school doors close,
around the time that a hundred thousand jail cells open up to greet you, like a Reaper...." -Zack de la Rocha

They say "Sing while you slave!", but I just get bored... -Dylan

"It's NOT a 'War on Drugs'. It's a war on Personal Freedom.Keep that in mind at ALL times" - Bill Hicks

"Opinions are like assholes, everybody has one" - Anon

"I'd get pretty bunged up without my asshole" - C. Taylor

"If you're going to tell people the truth, make them laugh, otherwise they'll kill you" - O. Wilde

"It is likely to excite dissatisfaction against government and incite people to non co-operation..."

Sunday, January 26, 2020

Designing 3D games for Android with the Doom 3 GPL engine

I found a new source code fork of the Idtech 4 Doom 3 engine. With it we finally have a good open source port to Android of the base Doom3 executeable. The .apk only weighs in at about 30 megs installed and requires about 200 meg of core files to get up and running with a useable interface.
In a previous set of articles I expounded the value of this engine to indie developers who don't need all the bells and whistles of Unity or Unreal Engine 4.
Those game design systems are excellent but could be overkill for many games.
What's exciting is that I can actually play the full opening Mars City scene on this 10" tablet which has a completely lame ass mali gpu and 1G of ram.
And it actually looks great and runs smooth.
Now I'm not excited about playing the intro level for the gazillionth time, but i am excited that now there are GPL binaries for Win32/64, Linux, and Android and all file structures and basic OGL 2.8 shaders and assets work between the 3 platforms.
So, you can build your base game using the Dhewm source in windows or linux and the game will port almost directly to Android using the DIII4A or Dante-ES Android ports.
While testing I really began to realize how differently we have to design for small phone/tablet games, we can't really run and run and tap tap tap on the bus so we actually need less activity on the screen and more space.
A game series I really like on Android is the Xon series, because it show off this idea of simple almost quake 1 or original Myst designs.
The OGL ports of the idtech 4 engine are really phenomenal.  Normal mapping, specularity, reflection, shadows, glow maps, all look fantastic, and by using these older but simple and worthy techniques we can actually create very detailed environments that will run smoothly on almost every device running android that has basic opengl-es. Which is all of them.
One of the main reasons I like this engine is that it is possible to edit the source and compile without Micro$hit anywhere. It isn't necessary to use microsoft visual studio. All the other game engines force you to use visual studio.
Add 6-12 gigs of developer files later just so you can edit a few lines and compile
can I barf?
Crap.
with the idtech 4 engine, you can edit the source in something light like code blocks or a text editor of your choice and compile using the standard GNU C++ compiler.
The complexity of that process is beyond many but its not necessary to the building of your game with this engine, if your basic game is a first or third person game with 3d assets and moves.
You simply begin your game design by modding the base game's assets while you develop scenery and characters, and you know that later a programmer will be able to tidy up the core code and compile it without too much monkeying about.
In the meantime you can build environments using GTK-Radiant or the Dhewm editor and test them using DIII4a or Dante-es on the android device you are targeting your design for.
I believe Android will become the os standard as we will eventually shift away from the destop computer model to devices that are self contained and work with  wireless inputs and outs.
its kind strange beaming things to everything.
the tangle of cables connecting this to that to that will soon be a memory.