Freebasic Newton+Irrlicht Scene Manager

User projects written in or related to FreeBASIC.
siskinedge
Posts: 86
Joined: Aug 31, 2009 15:46
Location: london
Contact:

Freebasic Newton+Irrlicht Scene Manager

Postby siskinedge » Oct 02, 2009 14:23

This is a game engine you can use as you like under the GPL for reference for makeing or developing a 3d game with newton physics. if you want help with it I set up a forumn to help you get to grips useing it, also you can submit ideas to be added to it there. I have tried to code it simply with working physics, level loading and 3d it has these features:
Newton Physics (somewhat incomplete implementation)
Irrlicht wrapper 3d (by frank dodd, awesome guy) helped turn the engine into an effective header
level loading (very incomplete, only submaps of the structure load)

anyone can download it from here:
http://cid-b9ce7ad2336a82ca.skydrive.live.com/self.aspx/.Public/IrrlichtNewton%20v0.02.zip

to compile you need the irrlicht wrapper from here:
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=12416
(newton's header is included in freebasic)

I even set up a forumn so I can try to help peeps useing it. I hope this'll lead to some good games from freebasic on par with half life 2. you can visit it here:
http://freebasicphysics.freeforums.org/index.php

Here is a screenshot
Image

anyway, have some fun with it.[/url]
Last edited by siskinedge on Dec 22, 2009 14:29, edited 2 times in total.
Frank Dodd
Posts: 444
Joined: Mar 10, 2006 19:22

Postby Frank Dodd » Nov 18, 2009 15:31

Absolutely fantastic piece of work. I've been playing about with it all day and a bit of yesterday too. I'll be posting again shortly once I have finished fiddling. I am creating a new wrapper example using this code as a support library and after working out how important setting the weight is I am all smiles. I am trying to modify the system to create a working physics environment in just four calls :D

Great job that deserves more attention.
siskinedge
Posts: 86
Joined: Aug 31, 2009 15:46
Location: london
Contact:

Postby siskinedge » Nov 18, 2009 21:49

thx man, I'll definitly look into your code once it's done - at the moment I'm trying to implement some more functionality into it with a function to streamline irrlicht wrapper object to irrlicht/newton object. something that would set the object, position, rotation and mabey a couple other variables like mass could be set to a defualt like say 10. might also implement user data too through a function like newton. though development has been slow the last 5 weeks due to working at a work placement to try to get some experience for my CV repairing computers. in about 3 weeks I'll be developing full speed again.

on a side note, any chance that your wraper has a hidden but somehow accessable obsoleted pointer that could be used for user data in node objects or that a future release could have a IrrGetPointerFromNode() command for user data. it's just that ray casting in your wrapper is way easier than in newton although for colision I should move fully to newton due to it being a physics engine so that colision isn't calculated twice.
Frank Dodd
Posts: 444
Joined: Mar 10, 2006 19:22

Postby Frank Dodd » Nov 18, 2009 23:50

The nodes are direct casts from Irrlichts ISceneNode and this unfortunately does not contain any user data. It does contain an ID as an int32 that could have a pointer cast into it (IrrGetNodeID, IrrSetNodeID). It does also have a name field as a string that could also have data encoded into it(IrrGetNodeName, IrrSetNodeName). Neither is an ideal solution.

I have made a few changes to the IrrlichtWrapper to address some problems I had including BSP files into the Newton interface, previously Get Vertices and Indicies only drew on the first mesh buffer whereas the IrrlichtWrapper example BSP contained 22 mesh buffers! These functions now return all verticies and incidies from all mesh buffers. The change is completely transparent so there are no code changes required. I will try and release a beta of this this week.

Thanks very much for your work on this great feature and good luck with your work placement.
siskinedge
Posts: 86
Joined: Aug 31, 2009 15:46
Location: london
Contact:

Postby siskinedge » Nov 28, 2009 20:23

the SetNodeID function will work perfectly, it'll takes some work but I recon I can make it function with a couple functions that'll rely on an array that the ID corosponds to a given element and each pointer is defined. I cant wait to get all the basic functionality out the way so I can start codeing the bits to shoot stuff. mabey even try to get a sorta - shoot off limb X (arm/ leg / head) cause status effect Y (drops gun and runs/ drops to floor and crawls to cover / brutal death lol).
Frank Dodd
Posts: 444
Joined: Mar 10, 2006 19:22

Postby Frank Dodd » Dec 03, 2009 0:22

Hi Siskinedge,

I have included a modified version of this package in an Alpha version release of the irrlicht wrapper, I will also post the IrrlichtNewton.bi file here if you would like.

Many many thanks for the work you have done on this, it is working very well.
siskinedge
Posts: 86
Joined: Aug 31, 2009 15:46
Location: london
Contact:

Postby siskinedge » Jan 06, 2010 14:35

would that version the one based on v0.01 that I've already downloaded and then modified to be the v0.02 codebase or one based on v0.02
siskinedge
Posts: 86
Joined: Aug 31, 2009 15:46
Location: london
Contact:

Postby siskinedge » Sep 26, 2010 13:20

Currently working on an alpha for version v0.03 here is a video demoing it's features. this is an alpha, so it is buggy but nearly feature complete. I still need to work on stability, rewriteing a large section of it and adding cloud objects (groups of particles can have forces applied to all particles in it and a couple interesting callbacks)
danny
Posts: 5
Joined: Jan 14, 2011 8:38

Postby danny » Jan 20, 2011 5:46

I am not a FreeBASIC programmer, but bumping into this forum I would like to try my hand on the open source environment. I love playing 3D games and always dreamt of developing one. I am impressed that Newton physics is used in developing of 3D game here. It is always the teamwork that makes everything work well in developing a game and that is what is seen here.

Return to “Projects”

Who is online

Users browsing this forum: No registered users and 3 guests