[x]

deviantART

 
About Me Member Software Developer 360-Free16/Male/Australia Recent Activity Deviant for 2 Years
Needs Premium Membership
Statistics 64 Deviations
281 Comments
1,774 Pageviews

On the Attention Span of Programmers

Mon Jul 13, 2009, 6:01 AM
  • Mood: Distracted
  • Listening to: THIS ISN'T BRAVE. IT'S MURDER.
AUUUUGH

Perhaps I should just label everything I say as "Subject to change. Do not consider any evidence as permanent, for any period of time longer than never."

Okay, okay, shall I explain.

Jetmen Survival's out, I'm back to Crystal Blue (3d engine) again. Although this time, I've hacked out pieces of JMS and CB and plugged them into an improved engine concept, renamed GE (Generic Engine, or Game Environment).

JMS let me accomplish some pretty good stuff; essentially I think I'm going to be using the glee behind a game concept each time to go further into coding. "Pretty good stuff" being:
1. Texture upload and an understanding of using them. (Have not dealt with texture environments yet.)
2. The data transfer bandwidth limitation of most graphics hardware and ways of dealing with it.
3. Fast manipulation of images in software, from a blur algorithm to safely copying areas between images.
4. The standard C family of block memory functions.
5. Better file access and pointer safety methods.


The new engine has a radically (hehe, I said radically) different structure, as it is based around abstracting reality, instead of around what computers use to simulate it.

It also has a different resource control method which takes a leaf from Python's book and uses reference counting on object pointers.

Meshes support multitexturing and materials, in storage. (The construction of Crystal Blue was too complex for me to understand how to support it!)

At this point I am still creating OpenGL setup functions and reference counting/autodeletion.

..

Does none of that make sense?

I'd just like to say something here.
Understanding the things others build is hard. This problem is something I have run into every other day. The complexity of a program can far exceed that of a physical object and it has no basis in reality, no rules to adhere to.

Therefore, I have personally tasked myself with creating machines understandable on instinct. Perhaps not when you go deeper, below the layer marked "This is the boundary between your right brain hemisphere and the computer", but on the surface. GE somewhat represents my first strong attempt at this goal, so I am hoping it will take me somewhere.

Some guy somewhere once said something meaningful about computers and people. It had a thing in it, I thought it was good because it pointed out how computers were.. somethingish, and humans weren't meant- WAIT NO now I remember also paraphrasing obviously:
"A program should be more easily read by the human, than by the computer running it."

The interface "spec" of GE, in terms of what your right brain can think about:

Create an environment.
Create an object.
Place the object in the environment.
Look at the environment.

I see an object!


As I've said to a couple of people while describing it.. it's somewhat depressingly simple. But it works..! And the C++ isn't that bad at matching it, either.

ALTHOUGH YOU HAVE TO PUT THE BIT WHERE YOU LOOK AT IT IN A LOOP CONTROLLED BY A CLASS WHICH CAUSES MULTIPLE LOGICAL TIMESTEPS BEHIND THE RENDERING OPERATION SO THAT THE FRAMERATE KEEPS UP WITH ALL YOUR OBJECTS MADE OF MESHES AND DEFORMER PIPELINES AND I HAVEN'T FIGURED OUT HOW TO KEEP THAT BEHIND A FUNCTION BECAUSE YOU CAN SET A 2D RENDERING MODE AND BECAUSE USING 3D CAMERAS WILL UPSET THE PROJECTION MATRIX OF THAT (and i'm too scared to put in a safeguard) IT MEANS YOU SHOULD BE ABLE TO RENDER MULTIPLE ENVIRONMENTS FOR OVERLAYS AND THAT'D REQUIRE THE USER TO DEAL WITH A BLASTED, BLASTED CLASS FOR STORING MULTIPLE ENVIRONMENTS AND THAT DOESN'T DAMN WELL WORK IN REALITY UNLESS YOU HAVE A PORTAL GUN.

deviantID

Devious Info

  • Interests: Gameplay.. not graphics. Although a little shiny stuff isn't a bad thing.
  • Favourite genre of music: Techno and variations thereof.
  • Operating System: Win XP, but I don't mind OSs much.
  • Favourite game: SA2:B.
  • Favourite gaming platform: PC/GCN
  • Favourite cartoon character: Miles prower.
  • Personal Quote: "Flee, as in running very fast in the direction of away."
  • Tools of the Trade: Blender [insert current release version]

deviantART Notice

[x]

Comments


Tallyho!

--
void signature(void);
030 hallo

--
Mabinogi addict >:U
Might be willing to work with you on your project :D -

Blender Modeling and texturing (don't know any of those other texturing things of which you speak (and not sure the need for them. As Blender can us UV Mapping which is probably the best way to create texture for solid and opaque objects in Blender) :D

--
=SiathLinux ~DeviantlyEnlightened =BlueSnowGiesha
*3dConnect ~inner-space
Artist ~SuloinenEnkeli ~BloodyRaven =Dream-traveler ~heidivylyn ~Gonzale ~cyanide227 and ~dancingperfect
=) Awesome. And yeah, you can use absolutely any tools you want. Blender UV mapping and texturing is what I meant; the other stuff is just that the textures need to be 'efficient'.. which basically means you don't have a 1024*1024 image on a centimeter-long cube.

--
void signature(void);
thanks for the fave! :)

--
You can trap a beautiful bird in a cage, but their soul will always soar through the sky.
because the body can be captured, but never the spirit.
Lol, that's okay, ^^

--
3D is not the addition but the multiplication of a dimension. Think voxels. A 1024*800 picture of 819200 pixels becomes a 1024*800*1024 image of 838860800 voxels. Don't underestimate it.

Site Map