List of *FREE* game programming resources

Game development specific discussions.
anonymous1337
Posts: 5494
Joined: Sep 12, 2005 20:06
Location: California

Post by anonymous1337 »

Lemon-Man wrote:I really like Tile Studio. But I can't use it with freeBasic...
Is there a way to use it with freeBasic?
What do you mean, 'use it with FreeBASIC'?
Lemon-Man
Posts: 184
Joined: Dec 04, 2006 17:47
Location: Minnesota, USA
Contact:

Post by Lemon-Man »

Well I don't know exactly how it works but you make the stuff and then it spits out code for various languages (not including freebasic...)
Kinda like a .bi file.
Dr_D
Posts: 2451
Joined: May 27, 2005 4:59
Contact:

Post by Dr_D »

Rel made something for Mappy. You could look to see how he did that... could be of some help. There is no reason you can't use TileStudio's tiles in a FreeBASIC program though. ;)
Lemon-Man
Posts: 184
Joined: Dec 04, 2006 17:47
Location: Minnesota, USA
Contact:

Post by Lemon-Man »

O.K.
Thanks. :)
Deleter
Posts: 975
Joined: Jun 22, 2005 22:33

Post by Deleter »

Yeah actually I used TileStudio to make some tiles for my game. You just export to bmps and you're good.
Red
Posts: 34
Joined: Aug 06, 2007 15:56
Contact:

Post by Red »

Just wanted to point out that the link to Blender is incorrect.
The actual link is: http://www.blender.org/
y offs et
Posts: 6
Joined: Sep 04, 2007 9:36
Location: Vernon,BC,Canada

Post by y offs et »

The DeleD 3d Editor is easy enough for a lazy noob like me to use. Don't know if it exports in a useful format for FB but it has a lot of plugins and SDK for writing more.


http://www.delgine.com
Shocking
Posts: 79
Joined: Nov 14, 2005 19:56

Post by Shocking »

If you can export to .obj format, sure I think freebasic can use it because of it's readable ASCII format.
badmrbox
Posts: 664
Joined: Oct 27, 2005 14:40
Location: Sweden
Contact:

Post by badmrbox »

Lemon-Man wrote:Well I don't know exactly how it works but you make the stuff and then it spits out code for various languages (not including freebasic...)
Kinda like a .bi file.
Actually my friend and fellow Ragnarok Games member Mr_T has written some code that makes you run your TileStudio maps without any problems at all. As far as I know the code's finished. I shall ask him and then if it is finished it'll end up on our homepage.
Merick
Posts: 1038
Joined: May 28, 2007 1:52

Post by Merick »

Here's a link you might want to add to the list:

http://www.lostgarden.com/index.html

It's a blog from a professional game programmer/artist, if you click on the "Directory of all Essays" link he's got a number of interesting articles up about game design.
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Post by D.J.Peters »

y offs et wrote:...Don't know if it exports in a useful format for FB but it has a lot of plugins and SDK for writing more.
here are the plugin framework for FreeBASIC
"plugin.def"

Code: Select all

LIBRARY test01.dll
EXPORTS
  PluginName
  PluginDescription
  PluginDeleDVersion
  PluginVersion
  PluginAuthor
  PluginEmail
  PluginSetCallback
  PluginExecute
"test01.bas"

Code: Select all

' DelEd FreeBASIC plugin framework
' fbc -Wl plugin.def -dll yourplugin.bas

#include "windows.bi" ' only for MessageBox

enum Requests
  PR_GETMEM  = 0
  PR_GETDATA = 1
  PR_SETDATA = 2
end enum

type TCallBackRecord
  as Requests    RequestID    ' reason for executing callback (0,1 or 2)
  as zstring ptr RequestXML   ' XML data send by the plugin to DeleD
  as zstring ptr ResponseXML  ' XML data send by DeleD to the plugin
  as integer     ResponseSize ' size of the response XML data in bytes
end type

' header items are passed to know what kind of data you want to use
#define HI_SCENEPROPERTIES    0 ' used for setting or getting scene properties
#define HI_OBJECTS            1 ' used for setting or getting all objects
#define HI_LIGHTS             2 ' used for setting or getting all lights
#define HI_MATERIALS          3 ' used for setting or getting materials
#define HI_SELECTEDOBJECTS   10 ' used for setting or getting only selected objects
#define HI_SELECTEDLIGHTS    11 ' used for setting or getting only selected lights
#define HI_SELECTEDMATERIALS 12 ' used for setting or getting only selected materials

' plugin errors returned by callback function
enum plugin_errors 
  PE_NOERROR             = 0 ' no errors in callback
  PE_NODATA              = 1 ' no data to set or get
  PE_INVALIDVERSION      = 2 ' invalid version
  PE_INVALIDMEM          = 3 ' invalid memory size
  PE_INVALIDGET          = 4 ' invalid get operation
  PE_INVALIDSET          = 5 ' invalid set operation
  PE_INVALIDHEADER       = 6 ' invalid header
  PE_INVALIDDATASTRING   = 7 ' invalid data string
  PE_INVALIDDATAPROPERTY = 8 ' invalid data property
  PE_OBJECTDATA          =11 ' invalid object data
  PE_LIGHTDATA           =12 ' invalid light data
  PE_MATERIALDATA        =13 ' invalid material data

  PE_UNKNOWNREASON       =98 ' callback reason unknown
  PE_UNKNOWNERROR        =99 ' unknown error
end enum

type TCallBackProc as function (ACallBackRecord as TCallBackRecord ptr) as plugin_errors
dim shared as TCallBackProc gCallback

function ErrorMessage(e as plugin_errors) as string
  select case as const e
    case PE_NODATA             :return "No Data present."
    case PE_INVALIDVERSION     :return "Invalid Version."
    case PE_INVALIDMEM         :return "Invalid GetMem Command."
    case PE_INVALIDGET         :return "Invalid GetData Command."
    case PE_INVALIDSET         :return "Invalid SetData Command."
    case PE_INVALIDHEADER      :return "Invalid Header."
    case PE_INVALIDDATASTRING  :return "Invalid Data String."
    case PE_INVALIDDATAPROPERTY:return "Invalid Data Property."
    case PE_OBJECTDATA         :return "Error in Object Data."
    case PE_LIGHTDATA          :return "Error in Light Data."
    case PE_MATERIALDATA       :return "Error in Material Data."
    case PE_UNKNOWNREASON      :return "Unknown Callback Reason."
    case PE_UNKNOWNERROR       :return "Unknown Error."
    case else                  :return "Unknown Error Code."
  end select
end function

' This function returns a pointer to a character string containing 
' the name of the plugin as being displayed in the Plugin menu with DeleD. 
' Typically, this character string is between 10 and 20 characters in size. 
function PluginName Alias "PluginName" as zstring ptr
  return @"the name"
end function

' This function returns a pointer to a character string containing 
' the description of the plugin. This description is displayed in the 
' Plugin window within DeleD. 
function PluginDescription Alias "PluginDescription" as zstring ptr
  return @"the description"
end function

' This function returns a pointer to a character string showing the minimal 
' version of DeleD needed to execute this plugin. DeleD uses this version 
' number to determine if the plugin can be run and thus, if it should be 
' listed in the Plugin menu. 
function PluginDeleDVersion alias "PluginDeleDVersion" as zstring ptr
  return @"1.6"
end function

' This function returns a pointer to a character string showing the current 
' version of the plugin itself. 
function PluginVersion alias "PluginVersion" as zstring ptr
  return @"2.0"
end function

' This function returns a pointer to a character string showing 
' the name of the author of the plugin. 
function PluginAuthor alias "PluginAuthor" as zstring ptr
  return @"the author"
end function

' This function returns a pointer to a character string 
' showing the emailaddress of the author of the plugin. 
function PluginEmail alias "PluginEmail" as zstring ptr
  return @"the_mail@xyz.com"
end function

' At startup, DeleD initializes all available plugins and calls the 
' PluginSetCallback routine automatically for each plugin. 
' This procedure saves a pointer to DeleD's callback routine 
' (as provided in the TCallBack parameter) into a parameter local to the plugin.
' The plugin then uses that local parameter to issue a callback to DeleD. 
sub PluginSetCallback alias "PluginSetCallback" (aCallBackProc as TCallBackProc)
  gCallback=aCallBackProc
end sub

' This procedure is executed when the user executes a plugin 
' from the Plugin menu within DeleD. 
sub PluginExecute alias "PluginExecute"
  ' do the job here
  dim as TCallBackRecord rec
  dim as string Test
  dim as plugin_errors ret

  test=!"<request>\r\n" & _
       "   <installdirectory />\r\n" & _
       "   <primitives subset=""all"" retrieveID=""true"" />\r\n" & _
       "   <materials subset=""all"" />\r\n" & _
       "   <lights subset=""all"" retrieveID=""true"" />\r\n" & _
       "</request>"

  ' find out how much memory we need for the specific request
  rec.RequestID   = PR_GETMEM
  rec.RequestXML  = strptr(test)
  rec.ResponseSize= 0
  rec.ResponseXML = 0
  ret=gCallback(@rec)

  if ret=PE_NOERROR then
    ' now get the string
    rec.RequestID=PR_GETDATA
    rec.ResponseXML=callocate(rec.ResponseSize)
    ret=gCallback(@rec)
    if ret=PE_NOERROR then
      MessageBox(0,rec.ResponseXML,"got data from DelDe",mb_ok)
    else
      beep
      MessageBox(0,ErrorMessage(ret) & ret,"error: PE_GETDATA !",mb_ok)
    end if
  else
    beep
    MessageBox(0,ErrorMessage(ret) & ret,"error: PE_GETMEM !",mb_ok)
  end if
  if rec.ResponseXML<>0 then deallocate(rec.ResponseXML)
end sub
fbc -Wl plugin.def -dll test01.bas

put the new created *.dll in the DelEd\plugin folder start DelEd.exe and select from plugin menu "the name" in this case.

Joshy
creek23
Posts: 261
Joined: Sep 09, 2007 1:57
Location: Philippines
Contact:

Post by creek23 »

I don't think I saw an AOI link -- the 3D software created with Java. Here it is:
http://aoi.sourceforge.net

(delete this post if it was already added) :P

EDIT: and oh, some of the links doesn't seem to exist anymore.
Merick
Posts: 1038
Joined: May 28, 2007 1:52

Post by Merick »

I just came across a site with free game music, they've even got a board where you can make requests for custom music:

http://www.sakari-infinity.net/index.php
Merick
Posts: 1038
Joined: May 28, 2007 1:52

Post by Merick »

MystikShadows
Posts: 612
Joined: Jun 15, 2005 13:22
Location: Upstate NY
Contact:

Post by MystikShadows »

Her'es one for those beginning to develop games

Game Design Novice
http://gamedesign.wikicomplete.info/getting-started

Even not so newbies might find something good there ;-).
Post Reply