Author Topic: A question for the code-wizzards  (Read 4308 times)

0 Members and 1 Guest are viewing this topic.

Offline TrashMan

  • T-tower Avenger. srsly.
  • 213
  • God-Emperor of your kind!
    • FLAMES OF WAR
A question for the code-wizzards
A matter of advice.

I'm finishing college and for my very last "exam" (my paper, I can't remeber if this is the proper term for it) I chose 3D Graphics.

After going it over with the profesor, he specified I'd need to write about 50 pages AND make a practical presentation. Which means making something to show. He offered two variants - maing my own 3D engine, or modifiying an existing one with a new feature or two and showing off the features and models in it. Well suck.

I've been fidling with everything, from music to texture and msotly modeling, but my programing skills are basic. The last time I made something in C++ was 2 years ago, and was pretty basic stuff...multiple ineretance and. So of course, making a 3d engine from scracth is out of the question, it would take me a year just to get some basic skeleton working. This leaves modifying an existing 3D engine.

FSO engines immediately came to mind as a excellent candidate. I'll be honest - my knowledge of 3D engines sucks. Is this a good choce? I dunno.

This might sound bad, but would you mind if I used hte FSO, one of your builds? I'd like to see HOW you implemented some things like glowmaps and normal maps. And, if I fail to add anything good to it, I could allways fall back to what's allready in and take credit for at least 1-2 modifications in it (if it doens't bother you).

So, hwat say you? and where do I get the source code again? I recall there was a link somewhere for people who want to help the SCP but I can't seem to find it...
Nobody dies as a virgin - the life ****s us all!

You're a wrongularity from which no right can escape!

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Re: A question for the code-wizzards
http://www.hard-light.net/forums/index.php/topic,41234.msg842224.html#msg842224

That will show you how to check out the code.


I wouldn't try claiming anyone else's code though. Quite apart from the moral aspects, it's not hard for someone to annotate the code or simply check the online repository and realise that you're not the person who submitted it.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline TrashMan

  • T-tower Avenger. srsly.
  • 213
  • God-Emperor of your kind!
    • FLAMES OF WAR
Re: A question for the code-wizzards
I'ts only immoral if you don't have permission.

So, yes, I am asking for permission to take credit for 2-3 things added IF I fail to add anything good myself.
I'm not a programer really, and I prefer to spend my time finishing a few campaigns (my own + a few side wrok I do for others) rather than to learn things that I don't plan on using probably ever again in my life.
Nobody dies as a virgin - the life ****s us all!

You're a wrongularity from which no right can escape!

 

Offline Turey

  • Installer dude
  • 211
  • The diminutive form of Turambar.
    • FreeSpace Open Installer Homepage
Re: A question for the code-wizzards
I'ts only immoral if you don't have permission.

So, yes, I am asking for permission to take credit for 2-3 things added IF I fail to add anything good myself.
I'm not a programer really, and I prefer to spend my time finishing a few campaigns (my own + a few side wrok I do for others) rather than to learn things that I don't plan on using probably ever again in my life.

I am hereby stating, unconditionally, you may NEVER take credit for any of my art code.
Creator of the FreeSpace Open Installer.
"Calm. The ****. Down." -Taristin
why would an SCP error be considered as news? :wtf: *smacks Cobra*It's a feature.

 

Offline Inquisitor

Re: A question for the code-wizzards
The code is out there under open license, and I am sure if you cite your sources, your professor will be bright enough to check what you did versus what was available ;)

Another good educational choice would be the Torque Game Engine, but depeding on whether or not you need to modify C++ you might need money for that.

http://www.garagegames.com
No signature.

 

Offline WMCoolmon

  • Purveyor of space crack
  • 213
Re: A question for the code-wizzards
I believe what you're doing is immoral because it undermines the foundation of trust that makes a college degree worth anything.

If you don't intend to earn the skills, don't take the class. I ask this on behalf of everyone who does put forth the effort and time required.

I do not give you permission to use or take credit for any kind of contribution I have made. In addition, I will remember you as someone that I can't trust. I don't know if that's moral, but I believe it is fair.
-C

 

Offline Goober5000

  • HLP Loremaster
  • Moderator
  • 214
    • Goober5000 Productions
Re: A question for the code-wizzards
Given that the code is open-source, TrashMan is free to use and/or modify it in whatever noncommercial manner he chooses.  HOWEVER, claiming credit for another person's work is not something that is allowed by this or any other code license.

TrashMan, it sounds like you don't understand the difference between use and attribution.  You can "use" anything in the SCP that you want.  But you can't claim credit for it, because you didn't write it yourself.

I have no problem with anything in your post, except this part:
Quote
And, if I fail to add anything good to it, I could allways fall back to what's allready in and take credit for at least 1-2 modifications in it (if it doens't bother you).
This is plagiarism, which is not only immoral, but expressly prohibited by just about every single college code of conduct out there.  It's considered academic fraud, and it would disqualify you from passing your course and possibly lead to expulsion.  This would be true even if someone gave you "permission" to do it.
« Last Edit: October 27, 2007, 07:32:16 pm by Goober5000 »

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
Re: A question for the code-wizzards
you could write a fairly simple game engine in not too long. my own engine which just finally broke 1000 lines of code only took me a month or so to write, and ive been working on it at a rather casual basis. just start with basic vector and matrix classes. perhaps a model class as well. its not hard to make a simple model format, just store raw vertex data in a file and load it, i used a simple connect the dots rutine for my lua engine which would draw a line from vert to vert right on down the list. you had to use alot of redundant verts but it would render fairly fast. rather easy to implement.

you need to be able to do basic vector operations like add, subtract, multiply and divide. which is more than enough to get basic stuff going. also a matrix multiply function. i use a eulers to matrix function to generate the desired rotation for each frame and that gets multiplied by the matrix for the object->world space transform matrix to generate the new transform matrix for that object. ive overloaded my matrix mulotiply operator to take vectors as well which makes them easy to transform. i just loop through the vectors and transform each one.

then you need to do pixel and line draws. i used sdl for this as well as imput, but im sure theres an easyer way to get graphics. i just use software rendering through sdl. didnt bother accelerating it sence it was only a line engine. drawing lines isnt that hard but it can get pretty difficult sometimes to make an optimised rutine.  youl want some timing, i just used sdl to check the system time each frame, subtract the time from the last fram and you get how long the frame took. use this when handeling physics.

ive only really had trouble dealing with dynamic memory and especially all the pointers. i wrote a vector based font system which is giving me a segmentation fault. im probibly trying to access a member of an array which doesnt exist. its sorta haulting my progress. so just stick with fixed arrays in your first attempt.

anyway heres the lua version, my c++ version is full of bugs and im none too browd of it yet. you need luasdl to run it. just stick my code in __init__.lua and stick it in the same folder as luasdl.
Code: [Select]
-------------------------
-----init-----screen-----
-------------------------


SDL = SDL
SDL.SDL_Init(SDL.SDL_INIT_EVERYTHING)
screen = SDL.SDL_SetVideoMode(800, 600, 32, 0)
info = SDL.SDL_GetVideoInfo()

w,h = info.current_w, info.current_h
cx,cy = w/2,h/2

rect = SDL.SDL_Rect_local()
rect.x, rect.y = 0,0
rect.w, rect.h = w,h
grey = SDL.SDL_MapRGB(screen.format, 0x80, 0x80, 0x80)
blue = SDL.SDL_MapRGB(screen.format, 0x00, 0x00, 0x80)


---------------------------------------------
-----end init screen-----start type defs-----
---------------------------------------------


vec_2d = function(xy,ey)
local v = {}

if getmetatable(xy) == vec_2d_mt then
v.x = xy.x
v.y = xy.y
elseif type(xy) == 'table' then
v.x = xy[1]
v.y = xy[2]
elseif type(xy) == 'number' and type(ey) == 'number' then
v.x, v.y = xy, ey
else
v.x, v.y = 0, 0
end

setmetatable(v, vec_2d_mt)

return v
end


vec_2d_mt = {
__add = function(v1,v2) return vec_2d(v1.x + v2.x, v1.y + v2.y) end,

__sub = function(v1,v2) return vec_2d(v1.x - v2.x, v1.y - v2.y) end,

__unm = function(v) return vec_2d(-v.x,-v.y) end,

__mul = function(v1,v2)
if type(v1) == 'number' then
return vec_2d(v1 * v2.x, v1 * v2.y)
elseif type(v2) == 'number' then
return vec_2d(v1.x * v2, v1.y * v2)
else
return vec_2d(v1.x * v2.x, v1.y * v2.y)
end
end,

__div = function(v1,v2)
if type(v1) == 'number' then
return vec_2d(v1 / v2.x, v1 / v2.y)
elseif type(v2) == 'number' then
return vec_2d(v1.x / v2, v1.y / v2)
else
return vec_2d(v1.x / v2.x, v1.y / v2.y)
end
end,

__concat = function(v,r)
local nx = v.x * math.cos(r) - v.y * math.sin(r)
local ny = v.x * math.sin(r) + v.y * math.cos(r)
v = vec_2d( nx, ny )
return v
end,

__index = function(v,key)
if key == 'norm' then
local len = math.sqrt( v.x^2 + v.y^2 )
v.norm = vec_2d( v.x / len, v.y / len )
return v.norm
end
end
}


vec_3d = function(xyz,ey,ez)
local v = {}

if getmetatable(xyz) == vec_3d_mt then
v.x = xyz.x
v.y = xyz.y
v.z = xyz.z
elseif type(xyz) == 'table' then
v.x = xyz[1]
v.y = xyz[2]
v.z = xyz[3]
elseif type(xyz) == 'number' and type(ey) == 'number' and type(ez) == 'number' then
v.x, v.y, v.z = xyz, ey, ez
else
v.x, v.y, v.z = 0, 0, 0
end

setmetatable(v, vec_3d_mt)

return v
end


vec_3d_mt = {
__add = function(v1,v2) return vec_3d(v1.x + v2.x, v1.y + v2.y, v1.z + v2.z) end,

__sub = function(v1,v2) return vec_3d(v1.x - v2.x, v1.y - v2.y, v1.z - v2.z) end,

__unm = function(v) return vec_3d(-v.x,-v.y,-v.z) end,

__mul = function(v1,v2)
if type(v1) == 'number' then
return vec_3d(v1 * v2.x, v1 * v2.y, v1 * v2.z)
elseif type(v2) == 'number' then
return vec_3d(v1.x * v2, v1.y * v2, v1.z * v2)
else
return vec_3d(v1.x * v2.x, v1.y * v2.y, v1.z * v2.z)
end
end,

__div = function(v1,v2)
if type(v1) == 'number' then
return vec_3d(v1 / v2.x, v1 / v2.y, v1 / v2.z)
elseif type(v2) == 'number' then
return vec_3d(v1.x / v2, v1.y / v2, v1.z / v2)
else
return vec_3d(v1.x / v2.x, v1.y / v2.y, v1.z / v2.z)
end
end,

__index = function(v,key)
if key == 'norm' then
local len = math.sqrt( v.x^2 + v.y^2 + v.z^2 )
v.norm = vec_3d( v.x / len, v.y / len, v.z / len )
return v.norm
end
end
}


---------------------------------------
-----end type defs-----start maths-----
---------------------------------------


normalize_2d = function(v)
local len  = math.sqrt( math.abs( v[1]*v[1] ) + math.abs( v[2]*v[2] ) )
v[1], v[2] = v[1] / len, v[2] / len
end


normalize_3d = function(v)
local len  = math.sqrt( math.abs( v[1]*v[1] ) + math.abs( v[2]*v[2] ) + math.abs( v[3]*v[3] ) )
v[1], v[2], v[3] = v[1] / len, v[2] / len, v[3] / len
end


multmat = function(mat1,mat2) --multiply a couple 3x3 matricies
local mat3 = {}

mat3[1] = (mat1[1] * mat2[1]) + (mat1[2] * mat2[4]) + (mat1[3] * mat2[7])
mat3[2] = (mat1[1] * mat2[2]) + (mat1[2] * mat2[5]) + (mat1[3] * mat2[8])
mat3[3] = (mat1[1] * mat2[3]) + (mat1[2] * mat2[6]) + (mat1[3] * mat2[9])
mat3[4] = (mat1[4] * mat2[1]) + (mat1[5] * mat2[4]) + (mat1[6] * mat2[7])
mat3[5] = (mat1[4] * mat2[2]) + (mat1[5] * mat2[5]) + (mat1[6] * mat2[8])
mat3[6] = (mat1[4] * mat2[3]) + (mat1[5] * mat2[6]) + (mat1[6] * mat2[9])
mat3[7] = (mat1[7] * mat2[1]) + (mat1[8] * mat2[4]) + (mat1[9] * mat2[7])
mat3[8] = (mat1[7] * mat2[2]) + (mat1[8] * mat2[5]) + (mat1[9] * mat2[8])
mat3[9] = (mat1[7] * mat2[3]) + (mat1[8] * mat2[6]) + (mat1[9] * mat2[9])

return mat3
end


matxvec = function(mat,vec) --multiply a vextor by a matrix
local x = (mat[1] * vec[1]) + (mat[2] * vec[2]) + (mat[3] * vec[3])
local y = (mat[4] * vec[1]) + (mat[5] * vec[2]) + (mat[6] * vec[3])
local z = (mat[7] * vec[1]) + (mat[8] * vec[2]) + (mat[9] * vec[3])

vec[1],vec[2],vec[3] = x,y,z

return vec
end


rotnorm = function(norm,angs) --rotates a normal, in theory
local matx = {1,0,0,0,1,0,0,0,1}
local maty = {1,0,0,0,1,0,0,0,1} --create 3x3 matrix arrays for xyz and fill it in with an identity matrix
local matz = {1,0,0,0,1,0,0,0,1}

matx[5] = math.cos(angs[1])
matx[6] = math.sin(angs[1])
matx[8] = -math.sin(angs[1])
matx[9] = math.cos(angs[1])

maty[1] = math.cos(angs[2])
maty[3] = -math.sin(angs[2]) --fill in the nessicary parts of the matrix for each axis
maty[7] = math.sin(angs[2])
maty[9] = math.cos(angs[2])

matz[1] = math.cos(angs[3])
matz[2] = math.sin(angs[3])
matz[4] = -math.sin(angs[3])
matz[5] = math.cos(angs[3])

local mat = multmat(matx,maty) --multiply our matrixies
mat = multmat(mat,matz) --to get total matrix

norm = matxvec(mat,norm) --apply the matrix

return norm
end


rotpoint = function(norm,angs,axis) --point rotation
local mat = {}

local c = math.cos(angs)
local s = math.sin(angs)
local t = 1 - c

mat[1] = t * axis[1]^2 + c
mat[2] = t * axis[1] * axis[2] + s * axis[3]
mat[3] = t * axis[1] * axis[3] - s * axis[2]

mat[4] = t * axis[1] * axis[2] - s * axis[3]
mat[5] = t * axis[2]^2 + c
mat[6] = t * axis[2] * axis[3] + s * axis[1]

mat[7] = t * axis[1] * axis[3] + s * axis[2]
mat[8] = t * axis[2] * axis[3] - s * axis[1]
mat[9] = t * axis[3]^2 + c

if norm then --optionally return a matrix instead
norm = matxvec(mat,norm) --apply the matrix
return norm
else
return mat
end
end

---------------------------------------------
-----end maths-----start transformations-----
---------------------------------------------


transmodel = function(m, t)
for i=1, #m do
local pnt = m[i]

pnt[1] = pnt[1] + (t[1] or t.x)
pnt[2] = pnt[2] + (t[2] or t.y)
pnt[3] = pnt[3] + (t[3] or t.z)

m[i] = pnt
end

return m
end


rotmodel = function(m, r)
local posx = m[1][1]
local posy = m[1][2]
local posz = m[1][3]

m = transmodel(m, {-posx,-posy,-posz})

for i=1, #m do
if r[3] ~= 0 then m[i] = rotpoint(m[i], r[3], m[2]) end
if r[2] ~= 0 then m[i] = rotpoint(m[i], r[2], m[3]) end
if r[1] ~= 0 then m[i] = rotpoint(m[i], r[1], m[4]) end
end

m = transmodel(m, {posx,posy,posz} )

return m
end

rotscene = function(cmat, cpos, mods)
for i=1, #mods do
local tempmod = mods[i] --back up the model first
tempmod = transmodel(tempmod, {-cpos[1],-cpos[2],-cpos[3]})

for j=1, #tempmod do
matxvec(cmat, tempmod[j])
end

drawmodel(tempmod)
end
end


project = function(vec)
local X = cx + ( ((vec[1] or vec.x) / (vec[3] or vec.z)) * cx )
local Y = cy + (-((vec[2] or vec.y) / (vec[3] or vec.z)) * cy  * (w/h) )

return X,Y
end


--------------------------------------------------
-----end transformations-----start rendering------
--------------------------------------------------


drawline = function(v1, v2)
local xd = v1.x - v2.x
local yd = v1.y - v2.y
local len = math.sqrt( (xd^2) + (yd^2) )

xd = xd/len
yd = yd/len

for i=1, len, 1 do
local x,y = v1.x - i*xd,v1.y - i*yd

if x > 0 and y > 0 and x < w and y < h then
SDL.SDL_PutPixel(screen, x,y , blue)
end
end
end


drawmodel = function(m)
SDL.SDL_LockSurface(screen)
for i=6, #m - 1, 1 do
--if (m[i][3] + m[i+1][3]) / 2 > 0 then
if m[i][3] > 0 and m[i+1][3] >0 then
drawline( vec_2d( project( m[i] ) ),vec_2d( project( m[i+1] ) ) )
end
end
SDL.SDL_UnlockSurface(screen)
end


----------------------------------------------------------
-----start rendering-----start declarations and calls-----
----------------------------------------------------------


model = { {0,0,0},{0,0,1},{0,1,0},{1,0,0},{0,0,5000}, ---heh cobra mk3, format is position, fvec, uvec, svec, laser, model

{0, 15, 0}, --index 5
{0, 15, -32.5},
{44, 10, -32.5},
{65, -3, -32.5},
{60, -3, -13}, --use 9 for gun 1

{16, -0.5, 32.5}, --index 10
{-16, -0.5, 32.5},
{-60, -3, -13}, --and 12 for gun 2
{-65, -3, -32.5},
{-44, 10, -32.5},

{0, 15, 0},
{44, 10, -32.5},
{60, -3, -13},
{16, -0.5, 32.5},
{0, 15, 0},

{-16, -0.5, 32.5},
{-60, -3, -13},
{-44, 10, -32.5},
{0, 15, -32.5},
{16, -15, -32.5},

{-16, -15, -32.5},
{-60, -3, -13},
{-65, -3, -32.5},
{-44, 10, -32.5},
{0, 15, -32.5},

{-16, -15, -32.5},
{-65, -3, -32.5},
{-16, -15, -32.5},
{-16, -0.5, 32.5},
{16, -0.5, 32.5},

{16, -15, -32.5},
{65, -3, -32.5},
{60, -3, -13},
{16, -15, -32.5}
}

campos = {0,0,0}
camrot = {1,0,0,0,1,0,0,0,1}
mata = {1,0,0,0,1,0,0,0,1}
matb = {1,0,0,0,1,0,0,0,1}

model = transmodel(model, {0,0,200} )

vel = {0,0,0}
rot = {0,0,0}
drift = vec_3d(0,0,0)
shot = 0

-------------------------
-----start main loop-----
-------------------------

repeat
local event = SDL.SDL_Event_local()
SDL.SDL_PollEvent(event)
local key = event.key.keysym.sym

if event.type == SDL.SDL_QUIT then kill = true end --check for killbox

if event.type == SDL.SDL_KEYDOWN then
if key == SDL.SDLK_KP_MINUS then joyon = true end
if key == SDL.SDLK_SPACE then fire = 1 end
if key == SDL.SDLK_KP_PERIOD then kill = true end
if key == SDL.SDLK_KP8 then rot[1] = -0.01 end
if key == SDL.SDLK_KP2 then rot[1] = 0.01 end
if key == SDL.SDLK_KP4  then rot[2] = 0.01 end
if key == SDL.SDLK_KP6 then rot[2] = -0.01 end
if key == SDL.SDLK_KP7 then rot[3] = -0.01 end
if key == SDL.SDLK_KP9 then rot[3] = 0.01 end
if key == SDL.SDLK_KP1 then vel[1] = -0.001 end
if key == SDL.SDLK_KP3 then vel[1] = 0.001 end
if key == SDL.SDLK_KP_PLUS then vel[2] = 0.001 end
if key == SDL.SDLK_KP_ENTER then vel[2] = -0.001 end
if key == SDL.SDLK_KP5 then vel[3] = 0.005 end
if key == SDL.SDLK_KP0 then vel[3] = -0.001 end
elseif event.type == SDL.SDL_KEYUP then
if key == SDL.SDLK_SPACE then fire = 0 end
if key == SDL.SDLK_KP8 or key == SDL.SDLK_KP2 then rot[1] = 0 end
if key == SDL.SDLK_KP4 or key == SDL.SDLK_KP6 then rot[2] = 0 end
if key == SDL.SDLK_KP7 or key == SDL.SDLK_KP9 then rot[3] = 0 end
if key == SDL.SDLK_KP1 or key == SDL.SDLK_KP3 then vel[1] = 0 end
if key == SDL.SDLK_KP_PLUS or key == SDL.SDLK_KP_ENTER then vel[2] = 0 end
if key == SDL.SDLK_KP0 or key == SDL.SDLK_KP5 then vel[3] = 0 end
end

if SDL.SDL_NumJoysticks() and joyon then
stick = SDL.SDL_JoystickOpen(0)
axes = SDL.SDL_JoystickNumAxes(stick)
balls = SDL.SDL_JoystickNumHats(stick)
print(balls)

axisx = SDL.SDL_JoystickGetAxis(stick, 0)
axisy = SDL.SDL_JoystickGetAxis(stick, 1)
axisz = SDL.SDL_JoystickGetAxis(stick, 2)
axisx2 = SDL.SDL_JoystickGetAxis(stick, 3)
axisy2 = SDL.SDL_JoystickGetAxis(stick, 4)
axisz2 = SDL.SDL_JoystickGetAxis(stick, 5)

axisx  = axisx / 32768 --get sdl axes down to a -1 to 1 scale
axisy  = axisy / 32768
axisz  = -axisz / 32768
axisx2 = -axisx2 / 32768
axisy2 = axisy2 / 32768
axisz2 = axisz2 / 32768

if axes > 4 then vel[1] = axisy2 / 1000 end --check to make sure the axis exists before using it if no axis exists then use keyboard
if axes > 5 then vel[2] = axisz2 / 1000 end
if axes > 2 then vel[3] = (axisz + 0.333) / 333 end --throttle axis has 5x more forward than backward thrust
if axes > 1 then rot[1] = axisy / 100 end
if axes > 3 then rot[2] = axisx2 / 100 end
if axes > 0 then rot[3] = axisx / 100 end

fire = SDL.SDL_JoystickGetButton(stick, 0)

if SDL.SDL_JoystickGetButton(stick, 1) == 1 then --button 2 closes the stick and goes back to kb mode till kp- is hit again
joyon = false
SDL.SDL_JoystickClose(stick)
end
end

SDL.SDL_FillRect(screen, rect, grey)

muc = vec_3d( model[1] )
muf = vec_3d( model[2] )
muu = vec_3d( model[3] )
mus = vec_3d( model[4] )

meow = ( (mus - muc) * vel[1] )+( (muu - muc) * vel[2] )+( (muf - muc) * vel[3] )

drift = drift + meow

model = transmodel(model, drift)
model = rotmodel(model, {0.0,0.0,0.0})

mata = rotpoint(false, rot[1], {camrot[1],camrot[4],camrot[7]})
matb = rotpoint(false, rot[2], {camrot[2],camrot[5],camrot[8]})
mata = multmat(mata,matb)
matb = rotpoint(false, rot[3], {camrot[3],camrot[6],camrot[9]})
camrot = multmat(mata,matb)
--camrot = multmat(camrot, mata)

models = {model}

rotscene(camrot, campos, models)

--drawmodel(model)

if fire == 1 then
shot = math.random(-5,5)
if shot > 0 then drawline(vec_2d(project(model[10])),vec_2d(project(model[5]))) end
if shot < 0 then drawline(vec_2d(project(model[13])),vec_2d(project(model[5]))) end
end

SDL.SDL_UpdateRect(screen, 0, 0, 0, 0)
until kill ~= nil

mind you youre not controling the ship youre flying around it. keypad does everything, period exits. if you hit - tou should get joystick imput.
« Last Edit: October 27, 2007, 09:28:24 pm by Nuke »
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline Bobboau

  • Just a MODern kinda guy
    Just MODerately cool
    And MODest too
  • 213
Re: A question for the code-wizzards
"I'll be honest - my knowledge of 3D engines sucks."

then I don't think you should be writeing a 50 page paper on the subject then.

"take credit for at least 1-2 modifications in it"

yeah, that's not a good idea, don't do that, it will have some very bad consequences for your life as a whole.
Bobboau, bringing you products that work... in theory
learn to use PCS
creator of the ProXimus Procedural Texture and Effect Generator
My latest build of PCS2, get it while it's hot!
PCS 2.0.3


DEUTERONOMY 22:11
Thou shalt not wear a garment of diverse sorts, [as] of woollen and linen together

 

Offline TrashMan

  • T-tower Avenger. srsly.
  • 213
  • God-Emperor of your kind!
    • FLAMES OF WAR
Re: A question for the code-wizzards
This is plagiarism, which is not only immoral, but expressly prohibited by just about every single college code of conduct out there.  It's considered academic fraud, and it would disqualify you from passing your course and possibly lead to expulsion.  This would be true even if someone gave you "permission" to do it.

I'm well aware of that, but the "colege code of conduct"means little to me in this instance.
I only took this college becose it had something to do with computers....AFAIK, there is no game-making college. And alltough I learned a lot of interesting stuff, such as databeses, networking, interface design, half of the stuff I learend doesn't interest me at all.
Progrmaing being one of them. Funny tough..I used to have a knack at programing, was the best in my class, found it interesting...till I discovered modeling that is :P

The only thing I want to do right now is finish the college and get a job, hopefully in a game company (there are 2 big ones in Croatia). Programing is not what I want to do in my life, but my choices of the subjects were very limited, and no matter what I choose, programing would be involved. So frankly, I don't really care HOW I finish the paper as long as it gets done.

Now technicly, if I were a SOB, I could just claim credit for everything you guys did, no one would ever know.
Luckily, I'm not like that and I'll add something to the code, alltough I'm not sure what yet (you did it all allready dammit! :lol: )
Nobody dies as a virgin - the life ****s us all!

You're a wrongularity from which no right can escape!

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Steam
    • Something
Re: A question for the code-wizzards
You try pulling this stunt, and it's very likely that you'll never see any sort of job in the gaming industry.  Professors aren't stupid; they're perfectly capable of finding out if you've ripped off sections of code.  You get caught plagiarizing code, and you can kiss your game development career (and hell, maybe even your college career) goodbye.  And they'd be fully justified to do it to you, too; taking someone else's hard work and slapping your name on it is lower than low.  If you have no knowledge at all of 3D engines and no desire to learn, then why the hell did you select that topic for a paper in the first place?  No offense, but your entire post reeks of incredibly extreme laziness, and that's not going to get you anywhere no matter what career you go into.

 

Offline StarSlayer

  • 211
  • Men Kaeshi Do
    • Steam
Re: A question for the code-wizzards
Quite frankly you have just been told explicitly by the coders involved not to do it.  If you follow through i wouldn't be surprised if they banned you from the community for that offense.  I'm not sure what the conditions are for FS2 being open source but as a software developer for business applications what your proposing generally has all sorts of legal repercussions outside of the "college code of conduct" you seem eager ignore.  This is the type of thing that would get you blacklisted from getting any job in the field.  I very much doubt the "gain" outweigh the  possible consequences if you are caught.

Personally your honor and integrity are among the only things inherently your own.  No one can take them away from you, only you can destroy them.

“Think lightly of yourself and deeply of the world”

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Re: A question for the code-wizzards
Whatever happened to

I don't lie....EVER.

?
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline TrashMan

  • T-tower Avenger. srsly.
  • 213
  • God-Emperor of your kind!
    • FLAMES OF WAR
Re: A question for the code-wizzards
Quite frankly you have just been told explicitly by the coders involved not to do it.  If you follow through i wouldn't be surprised if they banned you from the community for that offense.  I'm not sure what the conditions are for FS2 being open source but as a software developer for business applications what your proposing generally has all sorts of legal repercussions outside of the "college code of conduct" you seem eager ignore.  This is the type of thing that would get you blacklisted from getting any job in the field.  I very much doubt the "gain" outweigh the  possible consequences if you are caught.

IF I'm caught...not that none would ever know. I's not like the profesor even knows this exists.
So easy, so tempting....so wrong. :lol:

But no worries, I am notgoing to do it
So, can someone tell me where I can get a CLEAN Freespace Egnine code (without any modifications from you guys)?
B.t.w. - I just thought what I could put in - bump maps. Yeah, I know normal mapping in better and it's allready in, but I have to do something, and bump maps don't sound too complicated. :p

EDIT: Hm...SVN doens't work.. I get a completely different interface for my Tortose SVN with differetn fields. Both for the older tortoise and hte newer version. What gives?
« Last Edit: October 29, 2007, 05:39:14 am by TrashMan »
Nobody dies as a virgin - the life ****s us all!

You're a wrongularity from which no right can escape!

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Re: A question for the code-wizzards
SVN and CVS are different ways of doing the same thing. I'm pretty sure you need tortoiseCVS to check out CVS modules.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline TrashMan

  • T-tower Avenger. srsly.
  • 213
  • God-Emperor of your kind!
    • FLAMES OF WAR
Re: A question for the code-wizzards
I didn't even notice...LOL..though it was a typo

K, thnx
Nobody dies as a virgin - the life ****s us all!

You're a wrongularity from which no right can escape!

 

Offline Inquisitor

Re: A question for the code-wizzards
Not to mention, they would figure out pretty quickly when you took the job that you didn't have a clue.

Taking credit for other peoples work is fraught with dangers. You'll piss us off, you could get expelled from college, you could get blackballed in the industry, and if you got the job under false pretenses, you could lose that job as soon as they realized you didn't know anything, or fired when they found out. People eventually find out.

When I hire programmers, I want to see their portfolio. Which means I want to see what they have done and I have an expectation that what they show me is actually their work. When I hire employees generally, and ask them where they went to school, I expect them to tell me the truth. We have not hired a fair few people who have exagerated their education, because who would ever bother to check? The answer is: almost everyone. I daresay that even in Croatia they'd care if you presented work that was not actually yours.

If it turns out not to be, I fire them. Its a really, really bad idea.

Closing this.
No signature.