Total servers: 6
  •  Janko
  •  Janko
Post your pic! (Members Introduction board) by Thor Today at 10:04:23 pm
[Army of Glory] - [AoG] ([AoG]) by Morby May 22, 2013, 10:33:37 pm
- Like a Boss - (Clan threads) by Morby May 22, 2013, 10:30:55 pm
Old community member outreach (LieroX2 General Discussion) by JasonB May 21, 2013, 12:50:52 pm
Saturday Nights (Graveyard [RIP]) by MiLeC May 19, 2013, 01:10:07 am
classic 24/7
Liero v1.0 – 100lt
IP: 37.205.11.54
Game Mode: Death Match
Lives: 7
Max Kills: 15
Version: OpenLieroX 0.58 rc3
Players:
Kurko's testlab
Liero v1.0 – 100lt
IP: 91.156.42.210
Game Mode: Death Match
Lives: 5
Max Kills: 20
Version: OpenLieroX 0.58 rc3
Players:
Cruel Mod by iRod
Cruel v0.96 – 50lt
IP: 69.255.183.244
Game Mode: Death Match
Lives: 5
Max Kills: 0
Version: OpenLieroX 0.58 rc3
Players:
iRod(0 lives, 0 kills)
[CPU]I'm Not A Human(0 lives, 1 kills)
MGamingAssassin(4 lives, 2 kills)
84.215.30.47
Unknown
Unknown – 0lt
IP: 84.215.30.47
Game Mode:
Lives: 0
Max Kills: 0
Version: LieroX 0.56b
Players:
ZEUS
Powerstruck - Dawn – 100lt
IP: 50.155.121.36
Game Mode: Hide and Seek
Lives: 0
Max Kills: 15
Version: OpenLieroX 0.58 rc3
Players:
OpenLieroXor(0 lives, 0 kills)
Gone4life(0 lives, 0 kills)
Genetics(0 lives, 7 kills)
OpenLieroXor(0 lives, 0 kills)
Frokost
WH40K 0.13 – 100lt
IP: 84.215.30.47
Game Mode: Team Death Match
Lives: 4
Max Kills: 0
Version: OpenLieroX 0.58 rc3
Players:
[OwZ] Janco(4 lives, 0 kills)
[OwZ] Wander (4 lives, 0 kills)
Pages: [1]   Go Down

Author Topic: Dev Blog - May/June  (Read 1386 times)

JasonB

Dev Blog - May/June
« on: June 26, 2012, 01:08:05 pm »
Over the last couple of months i've continued with the theme of refactoring the core game engine code into something that is a bit more maintainable and overall more reliable.

This time around i ripped out the core graphics code and replaced it with a hardware accelerated version. Basically replacing the DirectDraw blitting approach with an OpenGL 2D engine. The idea was to get the GPU doing all the drawing work, and the CPU can do more work with collision detection.





In the past i've associated a change like this with filtered textures, blending/alpha effects, and so on. However i've made sure the renderer looks exactly the same as the previous versions of LieroX, but now there is less load on the CPU.

One of the issues with converting a sprite based game to use an OpenGL renderer is lots of tiny little sprite images don't really work efficiently with a texture based system. So i created a dynamic texture atlas system that builds up large textures internally, which contain lots of the little sprites packed together.





Still more development left with this renderer change, but the majority of it is complete & working. Hopefully this will be the last major engine update, and with any luck, Dev Blog - July will be more game based.

Ahmed

Re: Dev Blog - May/June
« Reply #1 on: June 27, 2012, 11:28:44 am »
Nice work Jason, no need for rushing but when do you see a beta release coming? I'll actually play the game again when you release this :D
Logged
Learning about chemistry all day is more fun than anything... sorry LieroX.

JasonB

Re: Dev Blog - May/June
« Reply #2 on: June 27, 2012, 12:14:44 pm »
Definitely before the end of the year :)

I keep creating big tasks for myself (like the one above) and it blows out any timeframes. So it's hard to say.
I'll keep you guys posted like i've been doing and we'll see how it goes.

k00man

Re: Dev Blog - May/June
« Reply #3 on: June 27, 2012, 12:18:13 pm »
Are you going to allow players to use bigger resolutions and maybe widescreen too? What about ability to change your aim speed like in OLX, I personally don't like 0.56 aim at all.
Logged
Check out my level: Warriors Stronghold

JasonB

Re: Dev Blog - May/June
« Reply #4 on: June 27, 2012, 01:35:18 pm »
Are you going to allow players to use bigger resolutions and maybe widescreen too? What about ability to change your aim speed like in OLX, I personally don't like 0.56 aim at all.

The new renderer makes it heaps easier to support different resolutions. I've also tried out x2 mode for the entire game so it's easier to see in windowed mode.

Both questions effect the game quite a bit, so it's a tricky one. I'm sticking to v0.56 gameplay for the first release and i'll let the game evolve from there.

Kurko

Re: Dev Blog - May/June
« Reply #5 on: June 27, 2012, 05:32:44 pm »
OffTopic... doesn't OLX have support for hardware rendering as well? I mean the "Use OpenGL rendering" option which makes graphics look a bit different and it also increases max FPS, at least if the CPU is slow. It was buggy when I tested it years ago but now it seems to work better.
Logged

albert

Re: Dev Blog - May/June
« Reply #6 on: June 27, 2012, 09:05:08 pm »
OffTopic... doesn't OLX have support for hardware rendering as well? I mean the "Use OpenGL rendering"

It uses OpenGL and thus at some places some hardware blitting instead of software blitting but not to full extend as it would have been possible.

Some preparation was done to extend it even more whereby at some places, some pixel manipulations would still be needed (e.g. particle effects, blood, carving, etc.). Also, since 0.59, much more pixel-based effects has been introduced, e.g. lighting, shadows, map distortion, etc. They are quite hard to replace by OpenGL -- at least some shader programming would be needed. But even then, e.g. you can do pixel effects in your Lua map/mod scripts now, that would be faster if we do it all in software at that level. Or you can even do custom visual map distortion via Lua.

So, the plan was that most of the effects on this level (also blood, carving, etc.) would all be in software and then some clever way to get it from there into the GPU (clever = amount of transfered data is minimized) and then all the other blitting is done there.

I guess this is similar to how Jason did it.
Logged

JasonB

Re: Dev Blog - May/June
« Reply #7 on: June 28, 2012, 01:36:37 am »
OffTopic... doesn't OLX have support for hardware rendering as well? I mean the "Use OpenGL rendering"
So, the plan was that most of the effects on this level (also blood, carving, etc.) would all be in software and then some clever way to get it from there into the GPU (clever = amount of transfered data is minimized) and then all the other blitting is done there.

The level is broken up into smaller 'tiles'. Any level carving then uses the SubTex to reupload the new pixel data around just that region to the GPU

I had to make a similiar engine work on iPhone 3G a while back, and this was the fastest way i found. For whatever reason, doing a subtex function on a smaller texture was faster than on a larger texture. Even if the region being updated is exactly the same.

Kurko

Re: Dev Blog - May/June
« Reply #8 on: July 04, 2012, 09:44:49 pm »
You said you've ported the server code to Linux, right? Did you mean the master server or (dedicated) game server?

Logged

JasonB

Re: Dev Blog - May/June
« Reply #9 on: July 05, 2012, 06:55:56 am »
You said you've ported the server code to Linux, right? Did you mean the master server or (dedicated) game server?

Both

Kurko

Re: Dev Blog - May/June
« Reply #10 on: July 08, 2012, 10:17:39 pm »
Sounds good.. Another question: Are you still going to keep health, dirt etc. client-side, like they're on LX 0.56 (0.6x had partial server-side dirt, right...?) or is it finally time to move the most cheat-prone parameters to server side?

As most of us know, server-side health didn't work well when it was added to 0.56 engine but since you're (more or less) revising the entire engine it might work better...
Logged

JasonB

Re: Dev Blog - May/June
« Reply #11 on: July 09, 2012, 02:31:05 am »
Sounds good.. Another question: Are you still going to keep health, dirt etc. client-side, like they're on LX 0.56 (0.6x had partial server-side dirt, right...?) or is it finally time to move the most cheat-prone parameters to server side?

Health is server side. I tried making projectiles server side too with a few different methods, but there are just too many projectiles to make it feasible. (Most mods use projectiles as graphical effects)

Dirt data is transmitted to clients when they join, but it's mostly client side.
Pages: [1]   Go Up