Jump to content
  • Advertisement
Sign in to follow this  
SteveDeFacto

I'm back and I have a new plan!

This topic is 2950 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

It's been awhile since I have posted on here because I have not had a computer for 4 months. Anyway I have had lots of time to think about what I wanted to do when I got my computer back and I think I have a good plan now.

Before my computer broke I was working on this which was an idea that I had from working on my game engine. I thought it was a good idea and I still do but I don't think I will have enough time to do everything I wanted to since I will be starting school in spring.

I was trying to make my game engine able to do everything, and so I added plugins, advanced scripting features, and all sorts of crazy awesome stuff but I still have so much work to do. It is full of bugs, it still needs lots of features, and the code is becoming a mess to maintain. I thought about a new goal that I can actually reach before I start classes. The idea is simple yet just as powerful and easy to use as my game engine.

I want to create a simple lua scripting shell that allows plugins. I also will write a plugin SDK that will use luabind to bind functions and classes to the shell. I want to make it open source, modify my website and call it luashell.org ( which I just registered ), and maybe even if it takes off I can create a none profit organization called the LuaShell Foundation or something just for fun. [smile] I want to also create tools like level builders and stuff that run off of the shell.

Another advantage to my scripting shell would be the ability to fit any situation. For instance if you wanted to use it to run a simple console application on a Linux server all you have to do is use only the plugins you need. You can take it all the way from a console application that takes a few k bytes of space and very little CPU to a full scale game engine.

In closing I think the idea is so simple that I can actually finish it, and it can be used for anything such as video games or applications. I can use it for my own projects and create a library of plugins and scripts that can be used for any project I want. It would also be useful to other people, and I think it would be good for my portfolio as well. I imagine if I use it to make a really cool game people would start to take a liking to it. So anyway what are all of your thoughts on this idea of mine?

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by SteveDeFacto
luashell.org ( which I just registered )

Did you actually intend it to be read as I see it LuasHell and did you look for any other libraries of the same name http://luaforge.net/projects/luashell/

Share this post


Link to post
Share on other sites
Quote:
Original post by magic_man
Quote:
Original post by SteveDeFacto
luashell.org ( which I just registered )

Did you actually intend it to be read as I see it LuasHell and did you look for any other libraries of the same name http://luaforge.net/projects/luashell/


Registered: 2008-04-08 02:23
Activity Percentile: 0%

That project has been dead for over 2 years and never even got started...

Share this post


Link to post
Share on other sites
Quote:
Original post by SteveDeFacto
Quote:
Original post by magic_man
Quote:
Original post by SteveDeFacto
luashell.org ( which I just registered )

Did you actually intend it to be read as I see it LuasHell and did you look for any other libraries of the same name http://luaforge.net/projects/luashell/


Registered: 2008-04-08 02:23
Activity Percentile: 0%

That project has been dead for over 2 years and never even got started...


Was it a gamedev member?

Share this post


Link to post
Share on other sites
Quote:
Original post by magic_man
http://ztact.com/software/Luashell
It does say on LuaForge to download the add-on from the project page.


The project consists of about 450 lines of code of which 50% is white space. The last time it was updated was 2008. I'm not too concerned about it...

Share this post


Link to post
Share on other sites
Quote:
Original post by theOcelot
I don't see what this system gains over standard C Lua extensions, except maybe a nicer API for writing them.


Let me put it this way. If someone wanted to make a FPS or what ever they can either use a pre-existing engine or build their own. If they use a pre-existing engine then they are confined to the limits of that engine, and generally speaking most games made with an engine look and feel similar to other games made with that engine. If they build their own it could take years and have thousands of lines of code to make a half decent engine.

If they use my shell and plugins then it could be as simple as this:


function On_Start( )
load_plugin( "data/plugins/GUI.dll" )
load_plugin( "data/plugins/3DScene.dll" )
Res = desktop_resolution()
GameWindow = create_window()
GameWindow.title = "Demo"
GameWindow.top = 0
GameWindow.left = 0
GameWindow.width = Res[0]
GameWindow.height = Res[1]
GameWindow.maximize = true
GameWindow.size = true
GameWindow.icon = "Default.ico"
GameWindow.vsync = true
GameWindow.full_screen = true
GameWindow.aspect = Res[0] / Res[1]
GameRenderTarget = GameWindow:create_rendertarget()
GameScene = create_scene()
GameScene:load_bsd("level01.bsd")
Charater01 = create_mesh("Data/Meshes/charater01.smd")
Player = GameScene:create_actor( Woman, 1.5, 4, {0, 3.5, 0} )
GameRenderTarget.view = Player.camera
end

function On_RawMouseEvent( x, y, buttons )
if (MainMenu == false) then
mouse_x = mouse_x + (x / 250)
mouse_y = mouse_y + (y / 250)
if (mouse_y > 1.5707) then
mouse_y = 1.5707
elseif (mouse_y < -1.5707) then
mouse_y = -1.5707
end
Player.look_direction = { mouse_x, mouse_y }
end
end

function On_KeyDown(key)
if(running == true) and (stamina > 0) then
if ( key == 87 ) then
Player.trajectory = { Player.trajectory[1], Player.trajectory[2], Player.trajectory[3] + 0.2 }
Animation01:play( 2, true )
end

if ( key == 83 ) then
Player.trajectory = { Player.trajectory[1], Player.trajectory[2], Player.trajectory[3] - 0.2 }
end

if ( key == 65 ) then
Player.trajectory = { Player.trajectory[1] - 0.2, Player.trajectory[2], Player.trajectory[3] }
end

if ( key == 68 ) then
Player.trajectory = { Player.trajectory[1] + 0.2, Player.trajectory[2], Player.trajectory[3] }
end
else
if ( key == 87 ) then
Player.trajectory = { Player.trajectory[1], Player.trajectory[2], Player.trajectory[3] + 0.1 }
Animation01:play( 2, true )
end

if ( key == 83 ) then
Player.trajectory = { Player.trajectory[1], Player.trajectory[2], Player.trajectory[3] - 0.1 }
end

if ( key == 65 ) then
Player.trajectory = { Player.trajectory[1] - 0.1, Player.trajectory[2], Player.trajectory[3] }
end

if ( key == 68 ) then
Player.trajectory = { Player.trajectory[1] + 0.1, Player.trajectory[2], Player.trajectory[3] }
end
end

if ( key == 16 ) then
if (stamina > 0 ) then
running = true
Player.trajectory = { Player.trajectory[1] * 2, Player.trajectory[2] * 2, Player.trajectory[3] * 2 }
end
end

if ( key == 17 ) then
Player.crouch = true
end
if ( key == 32 ) then
Player:jump( 1 )
end
end

function On_KeyUp(key)
if(running == true) then
if ( key == 87 ) then
Player.trajectory = { Player.trajectory[1], Player.trajectory[2], Player.trajectory[3] - 0.2 }
Animation01:set(1)
end

if ( key == 83 ) then
Player.trajectory = { Player.trajectory[1], Player.trajectory[2], Player.trajectory[3] + 0.2 }
end

if ( key == 65 ) then
Player.trajectory = { Player.trajectory[1] + 0.2, Player.trajectory[2], Player.trajectory[3] }
end

if ( key == 68 ) then
Player.trajectory = { Player.trajectory[1] - 0.2, Player.trajectory[2], Player.trajectory[3] }
end
if ( key == 16 ) then
running = false
Player.trajectory = { Player.trajectory[1] / 2, Player.trajectory[2] / 2, Player.trajectory[3] / 2 }
end
else
if ( key == 87 ) then
Player.trajectory = { Player.trajectory[1], Player.trajectory[2], Player.trajectory[3] - 0.1 }
Animation01:set(1)
end

if ( key == 83 ) then
Player.trajectory = { Player.trajectory[1], Player.trajectory[2], Player.trajectory[3] + 0.1 }
end

if ( key == 65 ) then
Player.trajectory = { Player.trajectory[1] + 0.1, Player.trajectory[2], Player.trajectory[3] }
end

if ( key == 68 ) then
Player.trajectory = { Player.trajectory[1] - 0.1, Player.trajectory[2], Player.trajectory[3] }
end
end
if ( key == 17 ) then
Player.crouch = false
end
end






Of course there would be a little bit more code for other things but that would be basically all you would have to do.

Share this post


Link to post
Share on other sites
I think you could do basically that with regular extensions, designed with nice API's. Which isn't to say that that or your project or whatever isn't a good idea.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!