Johny Cilohokla

Games development blog
  • August 2012 to November 2012
RSS
Feb03

Progress update

by johnycilohokla on February 3, 2013 at 8:54 pm
Posted In: MetaTech

Over past 3 weeks I have made many changes to the game and the scripting language, but it’s taking more time than we have expected.

So we decided to make something smaller. Just a “quick” game/program. As my code is split into proper packages it will allow me to simultaneously work on the core of MetaTech and develop the “quick” game.

We still haven’t fully decided what will be in the new game/program or how it will look like. If it will be a game probably simple 3D with lots of 2D interfaces.

The new game/program is a break from programming of the hard stuff like pathfinding, lightning and handling 3 dimensional worlds.

It will allow me to concentrate on Network and GUI.

 

Also I have few random screenshots for you.
(1: HD model, 2: 1000 models being rendered, 2,3,4: sky world type)
It’s all still WIP.

javaw 2012-12-29 20-21-09-12 javaw 2013-01-29 22-02-44-50 javaw 2013-01-06 23-13-05-22 javaw 2013-01-05 19-57-41-25

 Comment 
Jan15

Scripting Language: Fixed Point Numbers

by johnycilohokla on January 15, 2013 at 7:08 pm
Posted In: MetaTech

I have implemented my own Fixed Point Number.

It has precision down to 6 digits below zero (0.000,000).

Multiplying and dividing has precision from 0.000,001 up to 18,446,744.

Adding and subtracting has precision from 0.000,001 up to 18,446,744,073,709.

The class implement its own methods of adding, subtracting, multiplying and dividing, as well as equals and cast(int, long, float, double, String) methods.

It accepts constructor of String and long(multiplied by 1,000,000).

I have decided to make it free to use (please link back if possible).

FixedPointNumber.java

Examples:

FixedPointNumber(1000000) = 1.0

FixedPointNumber(1234567) = 1.234,567

FixedPointNumber(1234567890) = 1,234.567,890

FixedPointNumber.parseFixedLong(“1.567″) = 1.567,000

FixedPointNumber.parseFixedLong(“-654654.237″) = -654,654.237,000

 Comment 
Jan12

Scripting Language: Basic Parser

by johnycilohokla on January 12, 2013 at 1:36 am
Posted In: MetaTech

The Tokenizer is now fully done, I have included almost everything:
-Variables (String and Number)
-Operators
-Maths
-Maths Operators
-Logical Operators
-Bitwise Operators
-Functions
-Arguments

I’m still considering adding custom classes.

I have got the basic functions of Parser done.

Currently it works with mathematical Operators, Brackets and Numbers.

c = 0;
c++;c++;c++;
c++;c++;
a= 10;

a= 10 + 2;
a= 10 * 2;
a= 10 / 3;
a= 10 - 2;

a= 10 +- 2;
a= 10 *- 2;
a= 10 /- 2;

a = 5*4-3*((2*5*7*((9-45)*-3)*5))/((9*7/6*1))/((2+2+1))+5*5+1*3+5*5*5;

Generating the following output

 [c] Number: 0.0  [a] Number: -1.0 
 [c] Number: 1.0  [a] Number: -1.0 
 [c] Number: 2.0  [a] Number: -1.0 
 [c] Number: 3.0  [a] Number: -1.0 
 [c] Number: 4.0  [a] Number: -1.0 
 [c] Number: 5.0  [a] Number: -1.0 
 [c] Number: 5.0  [a] Number: 10.0 
 [c] Number: 5.0  [a] Number: 12.0 
 [c] Number: 5.0  [a] Number: 20.0 
 [c] Number: 5.0  [a] Number: 3.3333333333333335 
 [c] Number: 5.0  [a] Number: 8.0 
 [c] Number: 5.0  [a] Number: 8.0 
 [c] Number: 5.0  [a] Number: -20.0 
 [c] Number: 5.0  [a] Number: -5.0 
 [c] Number: 5.0  [a] Number: -1987.0
 Comment 
Jan07

Scripting Language: Tokenizer

by johnycilohokla on January 7, 2013 at 3:50 am
Posted In: MetaTech

I decided to write my own scripting language for the game.

It will have syntax similar to java and c++, but it will allow in-lined functions to be executed like in lua.

It will be used by the console and in game computers.

Currently I have the tokenizer done.

Tokenizer takes String or File as input and changes it into a list of tokens.

Next thing I have to do is make a Parser.

Parser will take tokens as input and output executable code.

The scripting language will be different than any other scripting language as it will run tick by tick and each function will cost a set amount of ticks.

 Comment 
Jan02

Level Culling

by johnycilohokla on January 2, 2013 at 11:00 pm
Posted In: MetaTech

Like in any other game players need to see whats going on, but any levels above them will make it really hard or impossible.

One solution would be to allow players to change the level themselves, but this would make the game annoying.

Each time you want to go up to surface to see what going on you would need to hit + 10 times, and to go back again hit – 10 times, this would be ok but the map has 64 underground levels (might be changed to 128). So hitting the + key 60 times to check who is attacking you would take a lot of time.

Level Culling is necessary for any 3rd person sandbox games with more than 10 levels.

So I came up with a solution. Cast a ray from the center of the screen to currently selected/main unit or to your position (in-game cursor at which the camera is pointing).

You can see what I have came up with in this short video.

└ Tags: culling, engine, level, metatech, voxel
 Comment 
  • Page 1 of 3
  • 1
  • 2
  • 3
  • »

Recent Posts

  • Progress update
  • Scripting Language: Fixed Point Numbers
  • Scripting Language: Basic Parser
  • Scripting Language: Tokenizer
  • Level Culling

Categories

  • MetaTech

Archives

  • February 2013
  • January 2013
  • December 2012

Donations

AdFly Links

Some of the links on my blog/websites go through adf.ly
By using those links you support the game, I want to keep all of my productions free to use/play.

Polls

Faction based or Team based?

View Results

Loading ... Loading ...

Visitor Stats

Today Visitors: 0
Total Visitors: 351
Visitors Online: 0

Control Panel

  • Register
  • Recover password

Tags

culling engine factions font game level lightfinding logo metatech programming source voxel

©2012-2013 Johny Cilohokla | Powered by WordPress with Easel | Subscribe: RSS | Back to Top ↑