Futurecraft Forums

A forum dedicated to communication and innovation!
 
HomeCalendarFAQSearchMemberlistUsergroupsRegisterLog in
Welcome, one and all, to the Futurecraft Forums!

Share | 
 

 Programmer

Go down 
Go to page : 1, 2, 3, 4  Next
AuthorMessage
cascaid
Newbie
Newbie
avatar

Posts : 22
Join date : 2012-02-29

PostSubject: Programmer   Wed Feb 29, 2012 5:21 pm

Hi Guys

I am an experienced Java developer, looking to delve into the joys of minecraft modding.
I think that you're project sounds like a fantastic and ambitious concept, and would love to get involved.
If you think you could make use of another java developer, who loves to learn by doing, then it'd be great to hear from you.

*Username:
Cascaid
*Timezone:
GMT
*Java experience:
Masters Degree in Computer Science, three years commercial development
*Minecraft modding experience
I have yet to get past the "recolour all the sheep" phase of modding.
1- What you can help with, and your preferred article to mod
Ideally, I would like to get involved in anything from the item/block modification to the combat system, but I am quite flexible.
3- When you can work
I work a full time job, so can only offer a few evenings per week
4- What access to resources you have
I have my own proliant server running for testing things out myself, but have so far kept away from publishing my server's IP to the masses.
Back to top Go down
View user profile
fr0stbyte124
Super Developrator
Super Developrator
avatar

Posts : 1835
Join date : 2011-10-13

PostSubject: Re: Programmer   Wed Feb 29, 2012 6:04 pm

Interesting. I think you are probably the first formal computer scientist I've seen here besides myself.
Like I've said elsewhere, we are working on engine modding right now, rather than content. It's higher level work, and only a handful of mods have attempted. Futurecraft will be by far the most extreme case.

Could you tell me more about yourself as a programmer. For instance, what was your degree focus, and what kind of projects have you worked on before this? What kind of things do you like to do?

For instance, my formal background was in robotics and computer vision, which admittedly hasn't helped very much here. My best skills are algorithm drafting and researching, and I'm a little obsessed with performance, which is a major reason the engine work isn't further along. I mostly use C++, but started learning Java for this project, and now I am learning OpenGL and GLSL.

So, how about you?
Back to top Go down
View user profile
cascaid
Newbie
Newbie
avatar

Posts : 22
Join date : 2012-02-29

PostSubject: Re: Programmer   Wed Feb 29, 2012 6:30 pm

Hi Frostbyte,

Good to hear from you.

At university I specialised in the lower level aspects of computer science, ranging from Digital Circuits to computer architecture, wihle still covering the basics of vision/graphics/software architecture.
For the last two years, I've been working in the betting industry, which has led to a lot of work in feed processing, mathematical algorithms and database work.
In my free time Ive tried my hand at Indie development, throwing stuff together with XNA, delving into the scary world of HLSL, and also messed around with Unity3D.
My language of choice at University was Java, and since then have used quite the range, including C, C#, VBA, SQL and TCL

Overall, not much points towards a proficiency in minecraft modding, and as I say, except for a few luminous sheep, I have little experience with it, however I'm a keen fan of learn-by-doing, and would be very keen to have a crack at the more challenging aspects, such as the engine work.
Back to top Go down
View user profile
fr0stbyte124
Super Developrator
Super Developrator
avatar

Posts : 1835
Join date : 2011-10-13

PostSubject: Re: Programmer   Wed Feb 29, 2012 6:50 pm

I'll make a writeup of what projects we are doing, and you can see what you might be interested in.
Back to top Go down
View user profile
Danice123
DEV
DEV
avatar

Posts : 607
Join date : 2012-01-06
Age : 24
Location : The Dankins

PostSubject: Re: Programmer   Wed Feb 29, 2012 6:56 pm

Hey cascaid

I'm Danice123, one of those non-formal computer scientist people frost was talking about Wink. Hope you can be part of our team, I think your assistance would be much appreciated. Frost has been complaining that no one understands what he says around here.
Back to top Go down
View user profile http://wbcentral.com
Last_Jedi_Standing
Moderator
Moderator
avatar

Posts : 3033
Join date : 2012-02-19
Age : 105
Location : Coruscant

PostSubject: Re: Programmer   Wed Feb 29, 2012 7:56 pm

Danice123 wrote:
Hey cascaid

I'm Danice123, one of those non-formal computer scientist people frost was talking about Wink. Hope you can be part of our team, I think your assistance would be much appreciated. Frost has been complaining that no one understands what he says around here.
There's a reason he thinks that.
Back to top Go down
View user profile
fr0stbyte124
Super Developrator
Super Developrator
avatar

Posts : 1835
Join date : 2011-10-13

PostSubject: Re: Programmer   Wed Feb 29, 2012 9:31 pm

I was going to PM it, but since Danice joined in, I guess I'll just put it here.

=======================================
Things Danice is working on:

Power System.
Based on wire blocks and power the hardware that will be on the ships. Right now it's a simply a resource pool all power supplies and hardware will tap, no power loss or packets or any silliness like that. This is technically part of the content phase, but Danice is just starting out as a programmer and can't to the sciency stuff yet.

Computers.
I don't really know anything about this. Danice will have to explain.


=======================================
Things Ectrimble is working on:

Database access.
Giving Minecraft a native interface for communicating with an SQL database. Will be used to transfer player and ship data from server to server. Later on it will be used to load or update item data or set up economies. We haven't heard from him for a while, and it's possible this stuff is lost to us.

Server-to-Server communications.
Related to ship and player transfer, but theoretically should be able to handle any sort of data transfer.

========================================
Things Fr0stbyte is working on:


Ship based:

Concurrent worlds.
Modifying the way the World class works to allow multiple worlds to exist is the same phyiscal universe, rendering all of them efficiently, and letting entities travel from one to another. This is the current bottleneck in Futurecraft development, and is unfortunately the most difficult thing on this list. Ties very heavily into Minecraft code, and Minecraft is not set up to do this sort of thing.

Collision.
I've got a fast collision algorithm already optimized for grid-to-grid collision. Waiting on concurrent worlds. I'm thinking of developing a custom collision object which can decide how to handle collisions based on the type of collision object interacting with it. That would give us things like slope collision or more complex surfaces.

World based:

Ship worlds.
Can move freely through a host world. Bound to an internal grid, but not aligned to the host world's. Like the zeppelin mod but with 6dof. Waiting on concurrent worlds.

Space.
Probably not too difficult. Works like a regular world, except there is no resident grid or chunks. Only Planets, ship worlds, and entities are active here. Very long draw distance.

Planets.
Planets are finite worlds, spherical in shape and probably about 40 km across the circumference. Actually, they are cylindrical in shape and deformed into a sphere at high altitudes. There's not a lot of ways around this since seams cannot be hidden when your terrain is made up of cubes. Considered cube worlds, but the edge conditions get really ugly.

Incorporating cubic chunks.
Will allow for super-massive structures, like what you would expect from a science fiction game. Might be a little tough to integrate, though, since we don't control the source.

========================================
Things nobody is working on yet:
Some of this is more content oriented, but the game needs to be able to support it early on.

Scripting support.
Allowing computers to interact with the world in elaborate ways, lets servers set up their own content ranging from mini-games to local economies to NPCs, factions, and missions.

Modular equipment.
An engine is assembled from different components, each of which will have different models varying in appearance and stats. Ultimately, everything from personal armor to fighters to ship-board facilities and power plants will be constructed in this manner. Small things can be assembled by hand in the field (i.e. slap it on, no crafting table). Large things will have to be transported by machines, as they won't fit into chests.

Ship segmentation.
Different sections of ships will have different roles, as well as sectional hitpoints. There aren't many limitations to how a ship is designed, so the question remains, how do we assign these things properly?

Ship yards.
A facility for quickly and easily drafting ships with editing tools. Allows you to save the schematic and will even construct it for you (for a price). It is also used for fitting ships with special facilities which can't be constructed by hand, like sensor arrays or guns. You can do most other things by hand, but shipyards allow for mass production, which is nice for PVPers.

Netcode overhaul.
This part will be a separate mod, and hopefully will eventually become the new standard. First stage is changing the protocol to UDP and prioritizing certain packet deliveries. Second stage is rewriting certain packets to work more efficiently. Additionally there is improved client-side prediction and optional caching of server data to hard drive storage. Possibly even support for P2P communication between trusted nodes to reduce server bandwidth requirements.

========================================
Experimental work (more along the lines of research than direct Futurecraft development):

Graphics performance:
Aimed at improving performance without changing the appearance of the game. The user needs to be able to travel anywhere between space and a planet's surface seamlessly, which can't be done naturally in Minecraft.

Occlusion culling.
First attempt was with cpu-based culling. Used some quick and dirty chunk-based precomputation to produce potentially visible sets and then some bitwise magic to quickly evaluate visibility. It is faster than the "Advanced OpenGL" occlusion culling, but is also less aggressive, making the two roughly even on an 8800 and the cpu version winning slightly on older cards. Might be useful in future work as a first pass.

Super draw distance:
Not sure if feasible with current generation of hardware, but would use GLSL to produce a true voxel renderer with an oct-tree data structure stored in virtual texture memory. With sufficient memory, it has a potentially unlimited draw distance, making it ideal for very long distance draws.

Optimized polygon method:
My current line of experimentation, and the one most likely to produce good results. This one is specifically for opaque cube blocks. Drastically reduces geometry of the world by covering the surface with giant triangle meshes and disregarding boundaries between types of blocks. Surface textures, lighting, and biome colors are stored in orthogonally projected texture patches managed with another virtual texture memory and calculated per-pixel with a fragment shader.
Besides reduced geometry, larger meshes mean better spacial understanding which in turn means interesting opportunity for things like portal rendering and other occlusion culling methods.
I'll be writing an article about this soon.

Faster distant chunk loading:
Plays a major role in Futurecraft, but is useful for anything. Distant chunks are only loaded for rendering purposes, but it is loaded and stored in memory the same way as active chunks, which is wasteful. Assuming that for the most part, distant chunks will only be visible from above ground, there should be a lot of ways to optimize it in terms of filesize and rendering.

Other planet drawing methods:
Google-Earth style texture loading. Precomputed and pieced together by the client. Easy to do and really cheap to draw, but offers no depth and looks like crap at shallow angles.
2.5D parallax occlusion. Blends billboard textures from different angles. Difficult to precompute and wasteful with textures, but provides basic illusion of depth.
Marching cubes mesh construction. Relatively cheap and works at any resolution, but you loose the blocky look of terrain and would be difficult to texture.

========================================

So that's the current state of things here at Futurecraft. There's more stuff than this in the works, but this is the stuff we are doing first and actually have working plans for. You can help with any of it that you would like, or come up with something we haven't even thought of. If there are any particular features you would like to see in the game that we don't have, we can add it to the list.
Back to top Go down
View user profile
Danice123
DEV
DEV
avatar

Posts : 607
Join date : 2012-01-06
Age : 24
Location : The Dankins

PostSubject: Re: Programmer   Wed Feb 29, 2012 10:14 pm

Quote :
Modular equipment.
An engine is assembled from different components, each of which will have different models varying in appearance and stats. Ultimately, everything from personal armor to fighters to ship-board facilities and power plants will be constructed in this manner. Small things can be assembled by hand in the field (i.e. slap it on, no crafting table). Large things will have to be transported by machines, as they won't fit into chests.

technically I'm working on parts of this, but no work has been done yet haha..
Back to top Go down
View user profile http://wbcentral.com
Keon
Lord/Lady Rear Admiral 1st
Lord/Lady Rear Admiral 1st
avatar

Posts : 3075
Join date : 2012-01-17
Location : Hahahaha.

PostSubject: Re: Programmer   Thu Mar 01, 2012 12:11 am

Oh, is Shipyards going to be like a cad? I figured you would build a ship, put it there, click the Scan-Button, and then have it mass produce them.
Back to top Go down
View user profile
Dux Tell31
Recruit
Recruit
avatar

Posts : 378
Join date : 2012-01-05
Location : That is out of the question

PostSubject: Re: Programmer   Wed Mar 07, 2012 9:03 pm

I think all this means you've been accepted.
Have fun! Wink
Back to top Go down
View user profile
Laibach
General
General
avatar

Posts : 2024
Join date : 2012-01-23
Age : 67
Location : Frozen Fields

PostSubject: Re: Programmer   Wed Mar 07, 2012 9:20 pm

nice picture!

and I hope that you haven't disappeared like a lot of devs, WHY ECTRIMBLE???

welcome to the mod thing! (not that I have the authority to... meh)
Back to top Go down
View user profile
Keon
Lord/Lady Rear Admiral 1st
Lord/Lady Rear Admiral 1st
avatar

Posts : 3075
Join date : 2012-01-17
Location : Hahahaha.

PostSubject: Re: Programmer   Wed Mar 07, 2012 9:29 pm

Is he a mod now?

Doesn't have the color. He can't be a dev.

Also, Fr0st, you are the only one really doing the hard stuff. And Ectrimble, but he is... missing. Me and Danice are both doing somewhat normal things. Challenging normal things, but we do not boldly go where no Cthulhu / robot thing has ever gone before. Anyway, this will be the biggest Minecraft mod ever made, no exaggeration. So, I think we need some more people. After all, 51 is dark and old these days.

We are running out of Devs!

If Cascaid comes back, I vote that he be promoted. Also, epic avatar.

Oh, and I have been pouring over Ectrimble's writings. I think I understand his plan.
Back to top Go down
View user profile
fr0stbyte124
Super Developrator
Super Developrator
avatar

Posts : 1835
Join date : 2011-10-13

PostSubject: Re: Programmer   Wed Mar 07, 2012 10:37 pm

Cascaid hasn't left. He's just not saying anything. I certainly hopes he's decided to join and that I didn't scare him off, but ultimately it's up to him.
Back to top Go down
View user profile
Laibach
General
General
avatar

Posts : 2024
Join date : 2012-01-23
Age : 67
Location : Frozen Fields

PostSubject: Re: Programmer   Wed Mar 07, 2012 10:41 pm

Alright, I hope he's just getting comfortable with MC code

plan?

do you mean coding or..?



...world domination? o-O
Back to top Go down
View user profile
Keon
Lord/Lady Rear Admiral 1st
Lord/Lady Rear Admiral 1st
avatar

Posts : 3075
Join date : 2012-01-17
Location : Hahahaha.

PostSubject: Re: Programmer   Wed Mar 07, 2012 11:28 pm

I do too. Cascaid seems logical. Maybe he can revitalize 51 again. Plus, he has an avatar of Hobbes. How can you go wrong with Hobbes?

I mean, it's Hobbes! (Now that I think about it, that is such a weird name. But a great character. Actually, I am going to read some strips again, just because you reminded me.)

Oh, introductions. I am Keon, a Dev, also one of the non-official computer-scientists around here, if you can call me even that. I work mostly on shipyards. So, anyway, hope to see you around. And, Fr0st, he app'd, what else does he need to do before we decide whether to accept him?
Back to top Go down
View user profile
fr0stbyte124
Super Developrator
Super Developrator
avatar

Posts : 1835
Join date : 2011-10-13

PostSubject: Re: Programmer   Wed Mar 07, 2012 11:32 pm

Well for starters he has to decide what he actually wants to work on. I haven't been handing out assignments since this is strictly volunteer work.

Still waiting to hear back from him.
Back to top Go down
View user profile
Keon
Lord/Lady Rear Admiral 1st
Lord/Lady Rear Admiral 1st
avatar

Posts : 3075
Join date : 2012-01-17
Location : Hahahaha.

PostSubject: Re: Programmer   Wed Mar 07, 2012 11:36 pm

Scripting, fr0st? As in the whole minigame thing?

What is your plan for that? I had no idea it was being worked in. Is this wireless redstone basically?
Back to top Go down
View user profile
fr0stbyte124
Super Developrator
Super Developrator
avatar

Posts : 1835
Join date : 2011-10-13

PostSubject: Re: Programmer   Thu Mar 08, 2012 12:37 am

Haven't looked at it yet, but it's probably necessary for some of the things we'll want to do down the road in terms of content. I suspect it will be LUA based like computer craft, maybe even using computer craft itself. But this is long-term stuff again.
Back to top Go down
View user profile
cascaid
Newbie
Newbie
avatar

Posts : 22
Join date : 2012-02-29

PostSubject: Re: Programmer   Thu Mar 08, 2012 9:42 am

Hey guys,

Don't worry, I'm still here!

Frostbyte threw a lot of information at me, so I'm just working my way through it, and trying to understand the hierarchy of the world class at the same time.

It seems there's a very big threshold to get even a basic ship working, but it certainly seems doable.

From what I've seen so far, the "world" class seems a level of complexity higher than what we require for a ship.
Looking at the functionality required, it seems a ship could be easily represented as a modified chunk, reducing the need for moving entities between worlds, and taking away some of the constraints.
However! As I've not got anything to show yet, I could very easily be wrong, especially as I have not looked into rotating/rendering chunks.

As an aside, Ive been looking at custom dimensions, for allowing additional planets on a server, in the same way as the nether is implemented.
Is this the method you were thinking of using for planets/space? as the implementation seems relatively simple, and easy to get something to show in fairly little time.
For example: add a "moon" dimension, with grey blocks, only one type of ore (moon-dust, inheriting glowstone) , using the plains texture generation, and as a placeholder, teleport there using a stone portal.
Is this something anyone has done any work on yet? (If not, it looks fun and I'd like to do some prototyping work on it)

While I'm commenting here, regarding textures, I personally use pureDBCraft, and would love it if we could support that. I don't know if someone else wants to look after that, if not, im happy to do it myself in parallel to the main textures we provide, as I imagine we would mostly be using recoloured versions of existing blocks for starters.

Final spam: do you know what direction the missing guy was going with the database stuff? If we think there is nothing to be salvaged, I am happy to look at picking this up as well, but I am in the process of changing jobs, so don't expect me to get anything done that quickly just yet. I'm banking on getting a lot of coding done once I start spending 2 hours on the tube per day in April!!
Back to top Go down
View user profile
cascaid
Newbie
Newbie
avatar

Posts : 22
Join date : 2012-02-29

PostSubject: Re: Programmer   Thu Mar 08, 2012 9:42 am

Based on the time you guys reply, are people mostly from the US here?
Back to top Go down
View user profile
Laibach
General
General
avatar

Posts : 2024
Join date : 2012-01-23
Age : 67
Location : Frozen Fields

PostSubject: Re: Programmer   Thu Mar 08, 2012 11:12 am

yup, mackeroth's actually from Australia though (I think), and I think the last standing jedi guy is welsh/British empire

Where are you from? (if you don't mind me asking)

Back to top Go down
View user profile
cascaid
Newbie
Newbie
avatar

Posts : 22
Join date : 2012-02-29

PostSubject: Re: Programmer   Thu Mar 08, 2012 11:17 am

London, UK.
So happily sat in the middle of the time zones =0)
Back to top Go down
View user profile
Last_Jedi_Standing
Moderator
Moderator
avatar

Posts : 3033
Join date : 2012-02-19
Age : 105
Location : Coruscant

PostSubject: Re: Programmer   Thu Mar 08, 2012 11:17 am

CoalMiningAlchemist wrote:
yup, mackeroth's actually from Australia though (I think), and I think the last standing jedi guy is welsh/British empire

Where are you from? (if you don't mind me asking)

Nope.
Back to top Go down
View user profile
Laibach
General
General
avatar

Posts : 2024
Join date : 2012-01-23
Age : 67
Location : Frozen Fields

PostSubject: Re: Programmer   Thu Mar 08, 2012 11:29 am

oh ok, someone said they were welsh on the server

i don't remember then

And I think that ships are going to be done as complicated entities on the outside and concurrently-running worlds(IE nether, end) on the inside

I think, I really have no idea, I'm just guessing from what I've heard frost byte talk about

Back to top Go down
View user profile
cascaid
Newbie
Newbie
avatar

Posts : 22
Join date : 2012-02-29

PostSubject: Re: Programmer   Thu Mar 08, 2012 11:42 am

So is the plan to have the concurrent world as a separate dimension (you could be ported to it when using a teleporter item) and then you can run around inside...
Or is the concurrent world actually within the main world (as I understood it) which would allow a ship to be open-top, and you could get a jet pack, and fly up to it, land on top and interact with that.
The second option being more like the zeppelin mod, but when you activate it, it doesnt become un-interactable.

If the outside of the ship were to be an entity as you suggest, then would that not make the code borrowed from the zeppelin mod sufficient (after adding another 2 degrees of movement, roll and strafe).
I do not know what's been done so far, but is frost's youtube vid of the large working ship, taken from zeppelin, or based on a completely separate remote-rendering type thing?
And would the inside of a ship work as a standard dimension, as they exist now (although dynamically generated) not be sufficient for your method? as opposed to trying to create a second world object within the first.
Having the ships as some form of modified chunk would seem to allow the ship to be a "real" object in the world.

Back to top Go down
View user profile
Sponsored content




PostSubject: Re: Programmer   

Back to top Go down
 
Programmer
Back to top 
Page 1 of 4Go to page : 1, 2, 3, 4  Next

Permissions in this forum:You cannot reply to topics in this forum
Futurecraft Forums :: Development :: Modding Team Applications-
Jump to: