[QUOTE=MatheusMCardoso;45624480]If i could do half of what you can i would be a happy man. I just can't get into art and i've tried hard to.[/QUOTE]
The renderer makes it look at least 70% better than it actually is but thanks anyway!
[QUOTE=cartman300;45611794][IMG]http://i.imgur.com/TKJVun1.png[/IMG]
[IMG]http://i.imgur.com/X4Sd4yH.png[/IMG]
Part of the world generated with simplex noise. In second image every chunk (i call it macroblock) is colored randomly. It renders quite fast but it could be a lot faster, i have duplicate vertices and i'm generating some useless vertices that can't even be seen, but i'll work on that later.[/QUOTE]
I've always wanted to make a Minecraft clone in C++ since I know nothing about OpenGL. My GPU only supports OpenGL 3.1(maybe 3.3 if thats even a thing), but it's kinda painful. Someone should make a tutorial on getting started with an MC clone, even if its just basic voxels because I feel I could catch on after that.
[IMG]http://i.imgur.com/qhVmefV.png[/IMG]
Oops, i wanted to make my blocks similar to what [URL="http://www.ksalue.com/main/wp-content/uploads/2014/07/in-game-1.jpg"]Oort does[/URL] so i tried to write a shader, didn't work that well.
[editline]8th August 2014[/editline]
[thumb]http://i.imgur.com/H50OFnM.png[/thumb]
There we go (ignore the issue where chunk borders don't generate faces)
[editline]8th August 2014[/editline]
[QUOTE=Map in a box;45625397]I've always wanted to make a Minecraft clone in C++ since I know nothing about OpenGL. My GPU only supports OpenGL 3.1(maybe 3.3 if thats even a thing), but it's kinda painful. Someone should make a tutorial on getting started with an MC clone, even if its just basic voxels because I feel I could catch on after that.[/QUOTE]
It's quite simple actually once you figure out how to do it, these helped me
[URL]https://sites.google.com/site/letsmakeavoxelengine/[/URL]
[URL]http://codeflow.org/entries/2010/dec/09/minecraft-like-rendering-experiments-in-opengl-4/[/URL]
Edit:
Some more (played around with amplitude)
[url]http://i.imgur.com/FjJsKzf.png[/url]
[url]http://i.imgur.com/cszykOW.png[/url]
Here's something that's been bothering me: how do games with a fixed time step render faster than the time step? For example, Minecraft 'ticks' at 20 times per second. How can Minecraft run at 60FPS if things only update every third frame rendered? Do games like this just render the same scene three times over for no reason or am I missing something?
[QUOTE=Dr. Evilcop;45627124]Here's something that's been bothering me: how do games with a fixed time step render faster than the time step? For example, Minecraft 'ticks' at 20 times per second. How can Minecraft run at 60FPS if things only update every third frame rendered? Do games like this just render the same scene three times over for no reason or am I missing something?[/QUOTE]
Things like camera angles are at 60 fps (or any other fps) and ingame objects are interpolated between ticks. Like how Source does multiplayer.
[QUOTE=Ott;45627142]Things like camera angles are at 60 fps (or any other fps) and ingame objects are interpolated between ticks. Like how Source does multiplayer.[/QUOTE]
I see, that makes sense.
[QUOTE=Dr. Evilcop;45627124]Here's something that's been bothering me: how do games with a fixed time step render faster than the time step? For example, Minecraft 'ticks' at 20 times per second. How can Minecraft run at 60FPS if things only update every third frame rendered? Do games like this just render the same scene three times over for no reason or am I missing something?[/QUOTE]
Pretty sure Minecraft tick rate is regarding how often entities are updated like a pig taking a step or a plant growing. Other stuff can happen faster like user input being checked and entity position being calculated with its velocity each frame. Minecraft does this so it doesn't have to check every entity and block that are loaded each frame for an update. No one will notice if a pig steps forward a few frames later (especially because its a random event).
Yeah it makes sense now. Interpolation is a really complex concept to implement (at least from what I've read so far). I'll stick to variable timesteps until I can wrap my head around it better.
[QUOTE=Map in a box;45625397]I've always wanted to make a Minecraft clone in C++ since I know nothing about OpenGL. My GPU only supports OpenGL 3.1(maybe 3.3 if thats even a thing), but it's kinda painful. Someone should make a tutorial on getting started with an MC clone, even if its just basic voxels because I feel I could catch on after that.[/QUOTE]
Any card that supports OpenGL 3.0 should support up to 3.3 with the correct drivers. And probably some 4.x extensions.
And you should be targeting 3.x core profile regardless. Some 97% of Steam users support it or higher according to the Steam hardware survey. I go for 3.2 since that's the minimum OS X supports back to 10.7. 3.3 requires 10.9, even if you have a card capable of OpenGL 4.
For future reference for others: OpenGL 2 is roughly equal to DX9. OpenGL 3 equals DX10. OpenGL 4 equals DX11. Please don't program anything for DX9 or OpenGL 2.
[QUOTE=Extravagant;45620933](The Screen-O-Matic though ahaha, I honestly couldn't think of anything better to share this with)[/QUOTE]
Use ShareX, you can set it to record to webm.
Use [url=https://obsproject.com/]OBS.[/url]
[QUOTE=Dr. Evilcop;45627194]Yeah it makes sense now. Interpolation is a really complex concept to implement (at least from what I've read so far). I'll stick to variable timesteps until I can wrap my head around it better.[/QUOTE]
You really don't need a fixed one in 90% of the circumstances anyway. If you have a good dispatcher you can just run certain stuff at lower independent rates.
I admit that I haven't really solved how to balance expensive low-frequency stuff across multiple frames though, my dispatcher doesn't do load balancing like that.
[editline]8th August 2014[/editline]
On that note, is there anything on the feasibility of real time physics with ordered/"cascading" event resolution?
Such a simulation would be able to run very efficiently at (extremely) slow step rates and be not much worse than the usual one at fast ones I think. It's an optimisation for disjunct systems though, so it doesn't apply to groups of three or more rigid bodies connected with springs.
(Ropes cause instantaneous collision events and two masses connected with a spring are solvable towards arbitrary points in time, so their trajectories can be collided precisely without stepping I think. The only systems that would have to be solved iteratively are differentials of higher than second order, which provably irreducible.)
In practise physics in video games are almost entirely disjunct, so I think it would be a good optimisation to have imperceptible stuff update very slowly and just "jump ahead" while it doesn't collide with the perceptible area, and otherwise the ordered resolution would make sure you get accurate results even with a low frame rate.
[editline]8th August 2014[/editline]
I'm not planning to write a physics engine any time soon btw, the collision maths is a bit nasty even in 2D so it's inconvenient to learn all this stuff.
I've been working on the UI of my game a bit, mainly so I can easily test either singleplayer or multiplayer without having to open my config file first. Added a main menu, pause menu and added health and money to the HUD.
[vid]https://dl.dropboxusercontent.com/u/7113767/Videos/ZombieGame_UIStuff.webm[/vid]
I used GWEN for the input text boxes and the rest is dealt with the same way as the game animations (designed in Flash and exported out using my dynamic sprite sheet exporter).
So I changed the camera perspective from first person to a kind of full view, and made the area smaller. I also did a whole lot of other changes, and I'm starting to make the game more unique, looking less like 2048 and more of a game of its own. Possibly changing the name too, sometime.
The original gameplay had cubes spawning increasingly frequent in time and the goal was to survive as long as possible without getting the area overflown. This was very frustrating and not really that progressive.
Now you have energy, which is consumed when you throw cubes, and replenished when you merge a cube. Like the cubes are generating energy. The bigger cubes you merge, the more energy you gain, and you consume more and more energy per throw the further you progress in the game. So when there's no time element in the game and the outcome is based fully on your choices (excluding random events like "powerups"), the game is more strategy than hopeless smashing.
Here's some gameplay recorded with a shitty camera again.
[vid]http://winded.org/cubic2048/prev7.webm[/vid]
Today I learned that timezones in programming are a pain in the ass.
I was doing some web application where user has to input a date and time of arrival and departure using some 'fancy' date and timepicker. When user picked a date e.g. 8th August 2014, the date sent to the server was actually 7th August 2014. What happened was the datepicker took my local timezone into account and subtracted 2 hours from the selected date which I didn't want.
The timepicker had a similar problem but instead of subtracting 2 hours it subtracted only 1 hour. :suicide:
[QUOTE=tjaze;45629768]Today I learned that timezones in programming are a pain in the ass.
I was doing some web application where user has to input a date and time of arrival and departure using some 'fancy' date and timepicker. When user picked a date e.g. 8th August 2014, the date sent to the server was actually 7th August 2014. What happened was the datepicker took my local timezone into account and subtracted 2 hours from the selected date which I didn't want.
The timepicker had a similar problem but instead of subtracting 2 hours it subtracted only 1 hour. :suicide:[/QUOTE]
[video=youtube;-5wpm-gesOY]http://www.youtube.com/watch?v=-5wpm-gesOY[/video]
[QUOTE=jamie1130;45617705]You could perhaps make your commits a little more descriptive and say what you added, changed or removed instead of "updates" :v:[/QUOTE]
But that would mean I'd have to actually keep track of the changes I'm making
[QUOTE=RickDork;45630276]But that would mean I'd have to actually keep track of the changes I'm making[/QUOTE]
You can track them down when ding commits, by diff compairing.
That is a good idea mastersp.
[QUOTE=RickDork;45630338]That is a good idea mastersp.[/QUOTE]
It's what I always use, except with Fossil. So I usually just do "fossil commit" and "fossil diff | less" in a side-by-side tmux session.
In case anyone is interested, I have made [URL="http://berkin.me"]Webserver From Hell[/URL] open-source. If you would like to add some new phrases or something, feel free to submit a pull request. I would be delighted to have some fresh additions to the insanity.
[URL="https://github.com/TheBerkin/Manbox/tree/master/wsfh/lib"]GitHub Link[/URL]
[QUOTE=Berkin;45632133]In case anyone is interested, I have made [URL="http://berkin.me"]Webserver From Hell[/URL] open-source. If you would like to add some new phrases or something, feel free to submit a pull request. I would be delighted to have some fresh additions to the insanity.
[URL="https://github.com/TheBerkin/Manbox/tree/master/wsfh/lib"]GitHub Link[/URL][/QUOTE]
Only the Manhood code?
[QUOTE=DrTaxi;45633084]Only the Manhood code?[/QUOTE]
All the server does is run it. Manhood handles all the page generation logic, minus Googling pictures. But you can even change the queries it sends to Google through the script.
[QUOTE=ECrownofFire;45627222]I go for 3.2 since that's the minimum OS X supports back to 10.7. 3.3 requires 10.9, even if you have a card capable of OpenGL 4.[/QUOTE]
On the other hand, 10.9 is free and over 75% of Mac users on Steam have it already, and it hasn't even been out for a year yet.
In a few months the percentage of Mac users on Steam who have GL3+ capable hardware but don't have 10.9+ will be low enough that dropping 10.7/10.8 support won't be a big deal at all. :)
[QUOTE=slime73;45633659]On the other hand, 10.9 is free and over 75% of Mac users on Steam have it already, and it hasn't even been out for a year yet.
In a few months the percentage of Mac users on Steam who have GL3+ capable hardware but don't have 10.9+ will be low enough that dropping 10.7/10.8 support won't be a big deal at all. :)[/QUOTE]
Yeah but you're not accounting for the fact that not everyone will have GL3+ capable hardware. Toasters make up a significant portion of the computers currently in use, Mac or not. GL3 is a pretty safe bet, and isn't all that old anyways.
Skeletal animations from Lego Racers 2.
[video=youtube;iPcQRHgQ7YQ]http://www.youtube.com/watch?v=iPcQRHgQ7YQ[/video]
I've separately worked out most of the model format. Once I've worked out the part of the model format that ties vertices and bones together, I'll be able to have actually animated models.
[QUOTE=Dr. Evilcop;45634048]Yeah but you're not accounting for the fact that not everyone will have GL3+ capable hardware. Toasters make up a significant portion of the computers currently in use, Mac or not. GL3 is a pretty safe bet, and isn't all that old anyways.[/QUOTE]
[url]http://store.steampowered.com/hwsurvey/videocard/[/url]
97% of Steam users have hardware capable of DirectX 10, which is roughly equivalent to OpenGL 3.
So yes, OpenGL 3 is a [I]very[/I] safe bet.
[QUOTE=Dr. Evilcop;45634048]Yeah but you're not accounting for the fact that not everyone will have GL3+ capable hardware. Toasters make up a significant portion of the computers currently in use, Mac or not. GL3 is a pretty safe bet, and isn't all that old anyways.[/QUOTE]
Chances are if you making anything somewhat gpu heavy, that 5-8 year old GPU isn't capable of running it anyway.
Just released a beta of my DarkEden Sprite Editor to the public.
[media]http://www.youtube.com/watch?v=YjcBBBFQIEc[/media]
Now let the bug reports rain :(
I'm creating an uplink clone, we'll see how it goes..
Sorry, you need to Log In to post a reply to this thread.