Omicron - prerelease 0.7 "Tweaky Update"

User avatar
LMD
Member
Posts: 905
Joined: Sat Apr 08, 2017 08:16
GitHub: appgurueu
IRC: appguru[eu]
In-game: LMD
Location: Germany
Contact:

Re: Omicron - prerelease 0.1

by LMD » Post

azekillDIABLO : Java compilation is even easier & faster if you use a good IDE, as Java has been designed for in-runtime compilation !
My stuff: Projects - Mods - Website

User avatar
Vapalus
Member
Posts: 112
Joined: Wed Nov 15, 2017 17:16

Re: Omicron - prerelease 0.1

by Vapalus » Post

Yepp, C++ is one of the slowest languages to compile. (Except Rust, maybe, because Rust does more pre-compile checks)
The reason is, it compiles to machine code.

C# and Java compiles to Bytecode, which is faster to compile, but much less optimized.

If it's about C++, the biggest advantage is that it can run bare metal, and thus is the only choice you have when rendering complex scenes. You can program in brainfuck, too, but that's just fucked up.
What it doesn't do is fast compilation.
A man much wiser than me once said: "go away, you are bothering me"

User avatar
LMD
Member
Posts: 905
Joined: Sat Apr 08, 2017 08:16
GitHub: appgurueu
IRC: appguru[eu]
In-game: LMD
Location: Germany
Contact:

Re: Omicron - prerelease 0.1

by LMD » Post

"only choice you have when rendering complex scenes"
Rendering happens in GLSL on graphics card - nowhere else.
My stuff: Projects - Mods - Website

User avatar
Vapalus
Member
Posts: 112
Joined: Wed Nov 15, 2017 17:16

Re: Omicron - prerelease 0.1

by Vapalus » Post

LMD wrote:"only choice you have when rendering complex scenes"
Rendering happens in GLSL on graphics card - nowhere else.
First off, DirectX doesn't use GLSL, second, leave the graphics card out of here - that's just making it complicated.
My statement stays true, though. C# and Java both don't have the interfaces to render 3D in an efficient way. If you want to go fast, C++ is the language of choice.
A man much wiser than me once said: "go away, you are bothering me"

User avatar
LMD
Member
Posts: 905
Joined: Sat Apr 08, 2017 08:16
GitHub: appgurueu
IRC: appguru[eu]
In-game: LMD
Location: Germany
Contact:

Re: Omicron - prerelease 0.1

by LMD » Post

"DirectX doesn't use GLSL"
- if HLSL makes you lucky...
"C# and Java both don't have the interfaces to render 3D in an efficient way."
- I did not use C#, but in Java, there are those "interfaces". They are called JOGL or LWJGL. And they can render 3D in an efficient way. Google for some comparison.
"If you want to go fast, C++ is the language of choice."
- not always- http://scribblethink.org/Computer/javaCbenchmark.html
Especially take a look at the section :
Conclusions: Why is "Java is Slow" so Popular?
Java is nearly equal to (or faster than) C++ on low-level and numeric benchmarks. This should not be surprising: Java is a compiled language (albeit JIT compiled). [...]
My stuff: Projects - Mods - Website

User avatar
Vapalus
Member
Posts: 112
Joined: Wed Nov 15, 2017 17:16

Re: Omicron - prerelease 0.1

by Vapalus » Post

LMD wrote:They are called JOGL or LWJGL.
Guess what those libraries are using... DLL's written in C++ (I know, because I used them).

Also, I never said Java is slow.
It just doesn't support rendering natively. No matter what you do, if you want to render something and if you want to do that with performance, you need C or C++.
A man much wiser than me once said: "go away, you are bothering me"

User avatar
LMD
Member
Posts: 905
Joined: Sat Apr 08, 2017 08:16
GitHub: appgurueu
IRC: appguru[eu]
In-game: LMD
Location: Germany
Contact:

Re: Omicron - prerelease 0.1

by LMD » Post

DLL's ? Keep Linux in mind !
But yes, you're right.
My stuff: Projects - Mods - Website

User avatar
azekill_DIABLO
Member
Posts: 7494
Joined: Wed Oct 29, 2014 20:05
GitHub: azekillDIABLO
In-game: azekill_DIABLO
Location: OMICRON
Contact:

Re: Omicron - prerelease 0.1

by azekill_DIABLO » Post

I go out five minutes and it's already war in my topic. Calm down bois. And the wesbite you seen is an old one related to pixelcraft revival project.

User avatar
LMD
Member
Posts: 905
Joined: Sat Apr 08, 2017 08:16
GitHub: appgurueu
IRC: appguru[eu]
In-game: LMD
Location: Germany
Contact:

Re: Omicron - prerelease 0.1

by LMD » Post

Please gimme some time to get my Halberd out...
My stuff: Projects - Mods - Website

User avatar
azekill_DIABLO
Member
Posts: 7494
Joined: Wed Oct 29, 2014 20:05
GitHub: azekillDIABLO
In-game: azekill_DIABLO
Location: OMICRON
Contact:

Re: Omicron - prerelease 0.1

by azekill_DIABLO » Post

No Don't murder him xD

DEVLOG: So bois, I'm stuck with water render so I feel Like I'm going to stop to opaque ugly water state for now. I'll try to start water physics, but first an important optimisation is needed for cavegen. I've got a gud idea. I'll reduce the number of noise to 2: one for caves, one for ores. When a block is chosen by the mapgen it will either choose to place a certain patch of ore, in function of depth and a simple random factor (no simplex3 noise, they're computer expensive).

brace yourselves : Update soon!

User avatar
azekill_DIABLO
Member
Posts: 7494
Joined: Wed Oct 29, 2014 20:05
GitHub: azekillDIABLO
In-game: azekill_DIABLO
Location: OMICRON
Contact:

Re: Omicron - prerelease 0.1

by azekill_DIABLO » Post

When you discover it works ""fine"" :

Image
Using the same noise for all ore gen. (yay I have to re do everything all over again)
Attachments
screenshot-ores-look-legit.jpg
(235.87 KiB) Not downloaded yet

User avatar
azekill_DIABLO
Member
Posts: 7494
Joined: Wed Oct 29, 2014 20:05
GitHub: azekillDIABLO
In-game: azekill_DIABLO
Location: OMICRON
Contact:

Re: Omicron - prerelease 0.1

by azekill_DIABLO » Post

I won't ever touch to a noise again in my whole life:
Image
It isn't supposed to do this...
Attachments
screenshot-all-fine.jpg
(158 KiB) Not downloaded yet

User avatar
MineYoshi
Member
Posts: 5373
Joined: Wed Jul 08, 2015 13:20
Contact:

Re: Omicron - prerelease 0.1

by MineYoshi » Post

azekill_DIABLO wrote:I won't ever touch to a noise again in my whole life:
Image
It isn't supposed to do this...
I guess that in omicron it'll be easy to get to much mese. :-D
Oi

User avatar
Stix
Member
Posts: 1385
Joined: Fri Aug 04, 2017 14:19
IRC: nil
In-game: Stix [+alts]
Location: USA

Re: Omicron - prerelease 0.1

by Stix » Post

MineYoshi wrote:
azekill_DIABLO wrote:I won't ever touch to a noise again in my whole life:
Image
It isn't supposed to do this...
I guess that in omicron it'll be easy to get to much mese. :-D
That's gold silly, this is Omicron, not Minetest! :P

@azekill_DIABLO: what was wrong with the first attempt? The ore distribution looked fine to me.
Hey, what can i say? I'm the bad guy.

User avatar
Vapalus
Member
Posts: 112
Joined: Wed Nov 15, 2017 17:16

Re: Omicron - prerelease 0.1

by Vapalus » Post

LMD wrote:Please gimme some time to get my Halberd out...
C'mon, just because I was right for once.
A man much wiser than me once said: "go away, you are bothering me"

User avatar
azekill_DIABLO
Member
Posts: 7494
Joined: Wed Oct 29, 2014 20:05
GitHub: azekillDIABLO
In-game: azekill_DIABLO
Location: OMICRON
Contact:

Re: Omicron - prerelease 0.1

by azekill_DIABLO » Post

Stix wrote: @azekill_DIABLO: what was wrong with the first attempt? The ore distribution looked fine to me.
Well it was simple: you find one type of ore, you are sure to find all the others at the same place. I'm hoping to make the game survival at the end so it would be too simple.

@Vapalus vs. LMD: Is the war ended? :P

EDIT / DEVLOG: Ores generate properly now. I used a stupidly weird code but it works fine.
Caves are now much less ineffective, ores generate using one unique noise and a random integer. See by yourself on this orthogonal view of the world:
Image
Zoom in to see the details and oregen. Sorry for low quality of screenshot, upload sizes are low.

EDIT2 : For those interested here is the whole code that generates the underground.

Code: Select all

for (int y = 1; y < 34; y++) {
			func(x, y, z, Item_STONE, arg);
        }
        
        /** Ores generation system (insanely stupid but fast) **/
        
        for (int y = 2; y < 30; y++) {
			if (simplex3(x * 0.12, y * 0.12, z * 0.12, 6, 0.5, 2) > 0.78) {
				int rand_num = (rand() % 100);
				
				if (y < 10 && rand_num < 15) {
					func(x + 5, y, z + 5, Item_RUBIS_ORE * flag, arg);
				} else if (y < 20 && rand_num < 30) {
					func(x - 12, y, z - 12, Item_GOLD_ORE * flag, arg); 
				} else if (y < 20 && rand_num < 65) {
					func(x + 8, y, z - 8, Item_IRON_ORE * flag, arg); 
				} else if (y < 30 && rand_num < 85) {
					func(x, y, z, Item_COAL_ORE * flag, arg);
				}
			}
		}
            		
		// caves (inneficient)  
		for (int y = 1; y < 38; y++) {
			if (simplex3(
						x * 0.06, y * 0.08, z * 0.06, 8, 0.3, 2) > 0.64) { 
				func(x, y, z, 0 * flag, arg);
			}
		} 
Attachments
screenshot-cave-ortho.jpg
(360.18 KiB) Not downloaded yet

User avatar
azekill_DIABLO
Member
Posts: 7494
Joined: Wed Oct 29, 2014 20:05
GitHub: azekillDIABLO
In-game: azekill_DIABLO
Location: OMICRON
Contact:

Re: Omicron - prerelease 0.1

by azekill_DIABLO » Post

DEVLOG: Code was changed, it's no longer stupid or glitchy. Ores may be a bit rare though.

Code: Select all

for (int y = 1; y < 34; y++) {
			func(x, y, z, Item_STONE, arg);
        }
        
        // Ores generation system 
        
        for (int y = 2; y < 30; y++) {
			if (simplex3(x * 0.12, y * 0.12, z * 0.12, 6, 0.5, 2) > 0.74) {
				int rand_num = (rand() % 100);
				
				if (y < 10 && rand_num < 15) {
					func(x, y-1, z, Item_RUBIS_ORE * flag, arg);
				} else if (y < 20 && rand_num < 30) {
					func(x, y, z, Item_GOLD_ORE * flag, arg); 
				} else if (y < 20 && rand_num < 65) {
					func(x, y, z, Item_IRON_ORE * flag, arg); 
				} else if (y < 30 && rand_num < 85) {
					func(x, y, z, Item_COAL_ORE * flag, arg);
				}
			}
		}
            		
		// Caves  
		for (int y = 1; y < 38; y++) {
			if (simplex3(
						x * 0.06, y * 0.08, z * 0.06, 8, 0.3, 2) > 0.64) { 
				func(x, y, z, 0 * flag, arg);
			}
		}
Image
An example of what can be generated by this code. Note the Core's shell (bedrock if you want).
Attachments
screenshot-cave.jpg
(75.59 KiB) Not downloaded yet

User avatar
Stix
Member
Posts: 1385
Joined: Fri Aug 04, 2017 14:19
IRC: nil
In-game: Stix [+alts]
Location: USA

Re: Omicron - prerelease 0.2 *Update*

by Stix » Post

Awesome!

BTW: when are you planning on adding a proper hotbar/inventory? Oh, and we musn't forget about tnt :-).
Hey, what can i say? I'm the bad guy.

User avatar
azekill_DIABLO
Member
Posts: 7494
Joined: Wed Oct 29, 2014 20:05
GitHub: azekillDIABLO
In-game: azekill_DIABLO
Location: OMICRON
Contact:

Re: Omicron - prerelease 0.2 *Update*

by azekill_DIABLO » Post

OMICRON pre-release 0.2

Update time boiz!!! I've added lots of new stuff in this update, I hope you'll enjoy it! Here is a detailed changelog:
  • caves improved
    • ores added
    • noises improved
    • cave entrances added
    • core's shell added
  • wip water
  • new block properties
    • buildable_to type
  • textures details improved
*red is important.

Some images of what you'll see in this update:
Image
Image
Image

EDIT: @Stix: Sorry to tell you this but it's one of my last steps. I need to implement life/HP and evrything related to it before. Lots of work. Also, thank you :D Hope you'll have fun with the update!
Attachments
screenshot-cave-entrance.jpg
A cave entrance in Omicron pre0.2
(228.66 KiB) Not downloaded yet

User avatar
LMD
Member
Posts: 905
Joined: Sat Apr 08, 2017 08:16
GitHub: appgurueu
IRC: appguru[eu]
In-game: LMD
Location: Germany
Contact:

Re: Omicron - prerelease 0.2 *Update*

by LMD » Post

First Issue ! https://github.com/azekillDIABLO/omicron/issues/new

Would you mind if I'd help out ?
My stuff: Projects - Mods - Website

User avatar
azekill_DIABLO
Member
Posts: 7494
Joined: Wed Oct 29, 2014 20:05
GitHub: azekillDIABLO
In-game: azekill_DIABLO
Location: OMICRON
Contact:

Re: Omicron - prerelease 0.2 *Update*

by azekill_DIABLO » Post

I looked at booth. Thanks for your help but I kinda want to do it myself or I'll never progress!

User avatar
Vapalus
Member
Posts: 112
Joined: Wed Nov 15, 2017 17:16

Re: Omicron - prerelease 0.2 *Update*

by Vapalus » Post

azekill_DIABLO wrote:I looked at booth. Thanks for your help but I kinda want to do it myself or I'll never progress!
From experience, that's the wrong way of "progressing".
We're talking about software here, and the biggest progress, or step, you can do is by working with other people and looking at their solution instead of just trying it all by yourself.
That's how open source should work, isn't it?
A man much wiser than me once said: "go away, you are bothering me"

User avatar
azekill_DIABLO
Member
Posts: 7494
Joined: Wed Oct 29, 2014 20:05
GitHub: azekillDIABLO
In-game: azekill_DIABLO
Location: OMICRON
Contact:

Re: Omicron - prerelease 0.2 *Update*

by azekill_DIABLO » Post

Yep you're quite right but I'm stubborn :D

User avatar
azekill_DIABLO
Member
Posts: 7494
Joined: Wed Oct 29, 2014 20:05
GitHub: azekillDIABLO
In-game: azekill_DIABLO
Location: OMICRON
Contact:

Re: Omicron - prerelease 0.2 *Update*

by azekill_DIABLO » Post

LMD what do I have to do to get an answer on github. I need you :D

User avatar
azekill_DIABLO
Member
Posts: 7494
Joined: Wed Oct 29, 2014 20:05
GitHub: azekillDIABLO
In-game: azekill_DIABLO
Location: OMICRON
Contact:

Re: Omicron - prerelease 0.2 *Update*

by azekill_DIABLO » Post

<sadpost style="dramatic=100%;">
LMD has disappeared. :'C
</sadpost>

Anyway I was bored today so I did this:

Code: Select all

printf("\n");
printf("▒█▀▀▀█ ▒█▀▄▀█ ▀█▀ ▒█▀▀█ ▒█▀▀█ ▒█▀▀▀█ ▒█▄░▒█ \n");
printf("▒█░░▒█ ▒█▒█▒█ ▒█░ ▒█░░░ ▒█▄▄▀ ▒█░░▒█ ▒█▒█▒█ \n");
printf("▒█▄▄▄█ ▒█░░▒█ ▄█▄ ▒█▄▄█ ▒█░▒█ ▒█▄▄▄█ ▒█░░▀█ \n");
printf("a game by azekill_DIABLO\n");
A terminal header for the game. I found ugly to only have a closing message so here it is. Tell me if there's a wiser way to do a multiline printf("lol")

EDIT: I'm stupid. \n are made for this. Oh, I'm tired of myself.

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests