Woo, finally it all compiles!
I've completely restructured the program flow and delegated user input into an InputManager (which can do joysticks etc in the future) which responds with generic activity status (go forward, shoot gun, use button etc). This is then fed into the player entity (derived from the AI base) which then does shit with it. Any movement attempts are then fed through the collision manager, which uses obscenely simple bounding box math to clamp velocities to prevent penetration.
For the fun of it, I also made it compile in gcc's most anal setting.
Let's see if it works!
[vid]http://lexi.org.uk/files/waywo/wulf_collisions.webm[/vid]
Fuck.
Fuck it, I just can't make parsers in C. Perhaps I should try C++ instead.
:saddowns:
Here's a demo of the OCIW ported to Source 2007 MP:
[vid]http://dl.dropbox.com/u/39559521/ociwdemo.webm[/vid]
Until I upload the video to Youtube, it's like this.
[QUOTE=wutanggrenad;34324859]Here is a request guys : No matter the language, there is always some that are more skilled than others. Some people have a language burned into their mind and can practically code with a pen and paper.
I'm interested to know how many man hours you've put into your project. If you don't mind, with your next project update, could you also post how many hours you've put into it.
Not trying to be nosey or say you're slow or anything. As I'm not a C/Java programmer, when I see your work, I have no idea if you have put in 8 hours or 80 hours into it. It just helps me understand how much work is involved in creating something like that[/QUOTE]
For Umbra Engine through all the different versions (including rewrites) probably about 1024 man hours (around 512 each). This is a really rough estimate, which does not include thinking about algorithms and ideas behind the project. (Taking these numbers into account would probably bring the number up in the thousands for both of us)
Finally got off my fat ass and got my roguelike over to pdcurses, now that the output isn't shit I have some more motivation to keep working on it.
[media]http://www.youtube.com/watch?v=MNlfVE-6yRw[/media]
Now I need computers with hacking mini-games and enemies, sounds like hours of painful debugging is ahead :suicide:
[QUOTE=wutanggrenad;34324859]
I'm interested to know how many man hours you've put into your project. If you don't mind, with your next project update, could you also post how many hours you've put into it.
Not trying to be nosey or say you're slow or anything. As I'm not a C/Java programmer, when I see your work, I have no idea if you have put in 8 hours or 80 hours into it. It just helps me understand how much work is involved in creating something like that[/QUOTE]
I have been writing a Server Emulator for MapleStory. Not the newest Client though but a beta version from 2004 and 2003. The 2003 one is a Korean Beta, I had a friend of mine translate it with Olly.
I get the packet opcodes and structures by Dissembling the clients using IDA 6.2, After that it's pretty much a guessing game, But I have almost recreated the server, Then I started over completely from scratch. It's about 75% feature complete and we have scripted most of the NPC's. However my friend who translated the korean client is working on re-balancing most if not all the skills to provide a more fair and stable gameplay. Incase your curious we are using a CodeDom based scripting system mainly because I prefer a Direct Access sort of thing rather then having to write a API. Most of the NPC's are scripted in C# but a few are written in Boo, C++, and Oxygene.
An interesting feature that puts it over Odin and Vana. (Other server software) Is the fact my server supports Both the Korean Client from early 2003 and the Global client from 2004 at the same time. (Aka the people on the korean client can see the global players and vice versa)
All in all this project has taken a little over 2 years and I have written over 400k lines of code. (Stats based off of CommitLogs from both servers) But I think it has been worth it. I have learned alot about Networking, general server programing, and Hack prevention. Thats just naming a few.
If anyone is interested here is some screen shots
[url]http://farm8.staticflickr.com/7146/6685924079_bb76d8e9c4_b.jpg[/url]
[url]http://farm8.staticflickr.com/7158/6604501179_ff78098361_b.jpg[/url]
The Korean Client (Really old picture)
[url]http://farm4.staticflickr.com/3190/5861180359_b0a7987273_b.jpg[/url]
Edit: sorry for the wall of text :v:
Okay, since I can't make swords in paint, I will just use a large red penis.
[img]http://i.imgur.com/RXSFs.png[/img]
[QUOTE=Staneh;34328796]Okay, since I can't make swords in paint, I will just use a large red penis.
[img]http://i.imgur.com/RXSFs.png[/img][/QUOTE]
Those are some pretty sprites (the inventory, don't flatter yourself), where'd you find them?
[QUOTE=Ploo;34329217]Those are some pretty sprites (the inventory, don't flatter yourself), where'd you find them?[/QUOTE]
Google images.
[url=http://i.imgur.com/6b92b.jpg][img]http://i.imgur.com/6b92bl.jpg[/img][/url]
Added in-game drawing to my [url=https://github.com/miceiken/cleanLayer]WoW Memory Framework[/url] :D
Added a... button!
[img]http://www.horsedrowner.com/images/screenshots/NANO/TITS/201201212351592059-400x300.jpg[/img]
Now, the button itself was one call to CreateWindow. But to get the visual style applied, I had to add:
[code]#pragma comment(linker,"\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*'
publicKeyToken='6595b64144ccf1df' language='*'\"")[/code]
And to make it use the proper system font, I had to add:
[cpp]
NONCLIENTMETRICS info;
info.cbSize = sizeof(info);
SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(info), &info, NULL);
HFONT font = CreateFontIndirect(&info.lfMessageFont);
SendMessage(hButton, WM_SETFONT, (WPARAM)font, MAKELPARAM(FALSE, 0));
[/cpp]
I think I'll be using C# when I really want to get work done. Nonetheless, it's pretty fun seeing how it works internally.
Started working on early resource collection, here you see a lovely pile of programmer art gold and a small forest, next to a storage container of some sort. The "villager" collects bits of resources and then deposits them in the container.
[URL="http://imgur.com/Sjxhx"][IMG]http://i.imgur.com/Sjxhx.gif[/IMG][/URL]
Success! Ray tracing with textures at a usable FPS.
[IMG]http://i.imgur.com/lBuEp.png[/IMG]
I got the cursor/movement/aim working correctly too.
[QUOTE=Matte;34330637]Success! Ray tracing with textures at a usable FPS.
[IMG]http://i.imgur.com/lBuEp.png[/IMG]
I got the cursor/movement/aim working correctly too.[/QUOTE]
I like the effect of seeing the back of the wireframe.
[media]http://www.youtube.com/watch?v=YtJ24wGJ7K4[/media]
Made a video to show my awesome animations.
[editline]22nd January 2012[/editline]
Hue
[QUOTE=Matte;34330637]Success! Ray tracing with textures at a usable FPS.
[IMG]http://i.imgur.com/lBuEp.png[/IMG]
I got the cursor/movement/aim working correctly too.[/QUOTE]
How's the fps with usable resolution?
[QUOTE=farmatyr;34330778]How's the fps with usable resolution?[/QUOTE]
Not great. This will be greatly improved when we add optimization to the rays reaching the sky, though. If I look only at the ground I get 60 FPS, but if I look at the world with the sky, the ray has to march a long distance only to find that it shouldn't draw anything. This can be optimized by skipping empty chunks and in a lot of other ways too. We'll probably look into octree marching as well.
Image of FPS while looking at world/sky:
[thumb]http://i.imgur.com/s4mac.png[/thumb]
Welp, got the collision kinda working. Turns out the world was being rotated 90 degrees for some silly reason. Fixed that.
I had an interesting problem though. In one direction, collisions happened 1 block in front of them.
I changed std::ceil to std::floor to see if that was the problem.
[vid]http://lexi.org.uk/files/waywo/wulf_collisions2.webm[/vid]
Huh.
[QUOTE=Matte;34330891]Not great. This will be greatly improved when we add optimization to the rays reaching the sky, though. If I look only at the ground I get 60 FPS, but if I look at the world with the sky, the ray has to march a long distance only to find that it shouldn't draw anything. This can be optimized by skipping empty chunks and in a lot of other ways too. We'll probably look into octree marching as well.
Image of FPS while looking at world/sky:
[thumb]http://i.imgur.com/s4mac.png[/thumb][/QUOTE]
Keep up the good work fellow citizens.
[QUOTE=anthonywolfe;34328777]I have been writing a Server Emulator for MapleStory. Not the newest Client though but a beta version from 2004 and 2003. The 2003 one is a Korean Beta, I had a friend of mine translate it with Olly.
I get the packet opcodes and structures by Dissembling the clients using IDA 6.2, After that it's pretty much a guessing game, But I have almost recreated the server, Then I started over completely from scratch. It's about 75% feature complete and we have scripted most of the NPC's. However my friend who translated the korean client is working on re-balancing most if not all the skills to provide a more fair and stable gameplay. Incase your curious we are using a CodeDom based scripting system mainly because I prefer a Direct Access sort of thing rather then having to write a API. Most of the NPC's are scripted in C# but a few are written in Boo, C++, and Oxygene.
An interesting feature that puts it over Odin and Vana. (Other server software) Is the fact my server supports Both the Korean Client from early 2003 and the Global client from 2004 at the same time. (Aka the people on the korean client can see the global players and vice versa)
All in all this project has taken a little over 2 years and I have written over 400k lines of code. (Stats based off of CommitLogs from both servers) But I think it has been worth it. I have learned alot about Networking, general server programing, and Hack prevention. Thats just naming a few.
If anyone is interested here is some screen shots
[url]http://farm8.staticflickr.com/7146/6685924079_bb76d8e9c4_b.jpg[/url]
[url]http://farm8.staticflickr.com/7158/6604501179_ff78098361_b.jpg[/url]
The Korean Client (Really old picture)
[url]http://farm4.staticflickr.com/3190/5861180359_b0a7987273_b.jpg[/url]
Edit: sorry for the wall of text :v:[/QUOTE]
Shit man, I remember playing in beta. This is awesome work!
[QUOTE=Matte;34330637]Success! Ray tracing with textures at a usable FPS.
[IMG]http://i.imgur.com/lBuEp.png[/IMG]
I got the cursor/movement/aim working correctly too.[/QUOTE]
Couldn't you have a set distance where after that, you stop raytracing and use normal shadowing instead? It'd give you a large performance increase, and you wouldn't really notice the difference for far away objects
[QUOTE=charliel;34332403]Oh great, finally got turning sorted!
[video=youtube;1YftGGfOiTs]http://www.youtube.com/watch?v=1YftGGfOiTs[/video]
:suicide:[/QUOTE]
Wow! You're leading Big Rigs 2?
[vid]http://lexi.org.uk/files/waywo/wulf_collisions4.webm[/vid]
Collisions working on 3 out of 4 directions. (+x collisions act like glue for some reason).
You can clip through corners and it occasionally bugs out but I'm pretty pleased with it.
I'll have to look up how to do it properly tomorrow.
Bonus:
[vid]http://lexi.org.uk/files/waywo/wulf_collisions5.webm[/vid]
Sprite collisions. :o)
[QUOTE=charliel;34332403]Oh great, finally got turning sorted!
[video=youtube;1YftGGfOiTs]http://www.youtube.com/watch?v=1YftGGfOiTs[/video]
:suicide:[/QUOTE]
Uhh why are you moving the car relative to the camera if you want the car facing forward in relation to the camera?
Quake II Model (.md2 format) Viewer, in C++/OpenGL.
It's my first proper work with C++, I'm enjoying it a lot.
[t]http://i.imgur.com/QIA4i.png[/t]
My numbers-whos-roots-contain-themselves-program gives 763,932,023 as the largest number up to one billion that works.
The square root of [b]763,932,023[/b] is 2[b]7639.32023[/b]
One problem I'm running into is time. It takes over 16 minutes to go through all the numbers to 1,000,000,000. I feel the problem is converting integers to Strings to find the length. Is there any way to do this faster?
[code]private static boolean similarity(int i) {
String num = Integer.toString(i);
String root = Double.toString(Math.sqrt(i));
int length = num.length() + root.substring(0, root.indexOf('.')).length();
root = root.replace(".", "") + "00000000";
root = root.substring(0, length);
return root.contains(num);
}[/code]
[QUOTE=ryan1271;34335111]My numbers-whos-roots-contain-themselves-program gives 763,932,023 as the largest number up to one billion that works.
The square root of [b]763,932,023[/b] is 2[b]7639.32023[/b]
One problem I'm running into is time. It takes over 16 minutes to go through all the numbers to 1,000,000,000. I feel the problem is converting integers to Strings to find the length. Is there any way to do this faster?
[code]private static boolean similarity(int i) {
String num = Integer.toString(i);
String root = Double.toString(Math.sqrt(i));
int length = num.length() + root.substring(0, root.indexOf('.')).length();
root = root.replace(".", "") + "00000000";
root = root.substring(0, length);
return root.contains(num);
}[/code][/QUOTE]
Perhaps you can just use doubles instead of strings, divide it by 10 in a loop length (use log10 instead) times, while checking if all the digits in the difference after a point are zero? I'm not 100% sure that it would work or be faster, but it might.
[img]http://puu.sh/ebtt[/img]
Hello, quotes!
Sorry, you need to Log In to post a reply to this thread.