Warning!

Warning. The following publications may induce intense reasoning.

Friday, July 24, 2015

Ordered Code Versus Efficient Code


Listen to this blogcast in MP3 Audio.

The less I say in a single short phrase, the more meaning I pass with less effort. This is also true about coding computer software & websites. Commands can be passed in a simple, very readable fashion, similar to how we would talk to another person.

Or, commands can be passed in sophisticated, complex, and convoluted ways, which logically give the same results. But these complex methods, while more efficient for a computer, are much harder for a human to follow and figure out.

Making voxels with colors, lights, and different selection modes.

I have spent the last few months working on a new project in Node.js, using a front-end library for WebGL, called THREE.js. I am creating a 3D virtual world that uses voxels - 3d particles, usually cubes, for all its objects.

Two choices were in front of me: One, put a keyboard key-press event where it happens, which would be efficient. Two, put the event in a fast loop, where all events are checked at a rate of sixty frames per second, which is not efficient, but very readable and orderly.

When checking the event in the fast loop, I use an IF statement that must be passed, in order to execute anything else. Not surprisingly, for a computer this is insignificant effort, so the performance is not impacted, at all.

If performance would be impacted, then I would choose efficiency over readability. But as long as it is not, then readability is always my priority. If you cannot quickly read through it, then it is too complicated to be practical!

Monday, June 17, 2013

MMORPG #2

Naturally, I was inclined to continue exploring these ideas, further.

An attempt at moving a step forward...
Open in a new window/tab to view full size!
As you may or may not see, attacking this issue from different angles is required. Natural games, such as sports or board games, have a natural flow to them - due to their instancy, while online computer games require a timing mechanism.

The timing depends on the feeling aimed at by the developers. A game can be fast-paced low-latency action, or it can be a slow-paced latency-tolerant turn-based adventure. It can be a bunch of other things, as well. :-)

I decided to conclude these ideas in a single quick and short diagram:
Just think about it. Then, do it!
Open in a new window/tab to view full size!

Saturday, June 15, 2013

MMORPG #1

Recently, I've been giving shape to some ideas that I had regarding computer games. This is specifically about the hot-topic genre of online role-playing, or in another word, MMORPGs.

I often use Paint to quickly draw my ideas. I feel that text is generally inadequate to really show someone else what I am thinking about. Colorful boxes and lines on the other hand, with titles, sure do seem more fun! When I tried to collaborate on an idea with a friend, and even though she did not join up eventually, a website caught my attention.

Creately.com

Here is my first flowchart. It starts rather big. Then, I move onto smaller and more precise flowcharts. I should really call it a Block Diagram.

Open in a new window/tab to view full size!

Tuesday, December 25, 2012

TortoiseSVN - Software Version Control

Lovely interface & functionality.
In relation to the flash game project I'm working on (as mentioned in a previous post), I feel that TortoiseSVN deserves some credit.

TortoiseSVN is an interface that connects and sits in the OS's shell (Windows/Linux/Mac), and allows the user to manage the source code and files of a software project. It features useful functions, such as sharing the same files online with other team members. Also, it offers a revisioning system, that makes sure all files have rollbacks. In other words, every change and update is managed and stored automatically for you.

It runs quickly and neatly. Some websites offer hosting services that work with the SVN infrastructure for free or for a cheap price, thus completing the requirements of a manageable project environment for a team.

All Time Popular Posts