10.03.2019 - Round 1 results of our "A Love Letter For FreeBASIC" game dev competition have been published. Please be sure to check the results thread: http://games.freebasic.net/forum/index.php?topic=629.0. Don't forget that the competition is continuing with a round 2, lasting till 29th of April, 300 USD first prize. Stay tuned!

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - rdc

Pages: [1]
1
Showcase / Golf Solitaire
« on: July 18, 2011, 10:07:57 AM »
Golf Solitaire is a patience game where you play nine holes (deals) and try and get the lowest score. Playable with mouse or keyboard, has sound and music. Uses fmod for sound and music.

Download Win32 binary and source files here.

Picture gallery here.

2
Work In Progress / Golf Solitaire
« on: July 09, 2011, 08:47:32 AM »
Some screens of my WIP golf solitaire card game. Play nine holes (deals) and try to get the lowest score.


3
Work In Progress / House on the Hill
« on: April 10, 2011, 07:25:23 PM »
I got the urge to do a little text adventure game myself. Here is the title sequence and backstory to the game.

http://users.freebasic-portal.de/rdc/programs/hoh.zip

The zip has a Win32 exe and support files.

4
Game Dev / Let's Build a Roguelike (Draft)
« on: March 12, 2011, 01:35:19 PM »
Let's Build a Roguelike is a step-by-step tutorial in ebook format on creating a roguelike game from conception to finished product. The tutorial covers all the aspects of the game, from creating the title page, dungeon building, inventory items, monster ai, combat, file saving and creating a morgue file. The draft version is now available.

Chapter List, download and screenshots available at:

http://users.freebasic-portal.de/rdc/tutorials.html

5
Programming / Vector Object
« on: October 26, 2009, 06:37:44 PM »
I developed a 2D vector object for DDD2 so I thought I'd post it in case someone may find it useful. I only added the operators I needed.

Code: [Select]
/'****************************************************************************
*
* Name: vec.bas
*
* Synopsis: 2D Vector object
*
* Description: This implements a 2D vector as an object along with useful operators.
*
* Copyright 2006, Richard D. Clark
*
*                          The Wide Open License (WOL)
*
* Permission to use, copy, modify, distribute and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice and this license appear in all source copies.
* THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF
* ANY KIND. See http://www.dspguru.com/wol.htm for more information.
*
*****************************************************************************'/

'2D Vector type.
Type vec
Private:
_x As Integer
_y As Integer
Public:
Declare Constructor ()
Declare Constructor (x As Integer, y As Integer)
Declare Property vx (x As Integer)
Declare Property vx () As Integer
Declare Property vy (y As Integer)
Declare Property vy () As Integer
Declare Operator Let (rhs As vec)
Declare Operator += (rhs As vec)
Declare Operator += (rhs As Integer)
Declare Operator -= (rhs As vec)
Declare Operator -= (rhs As Integer)
Declare Operator *= (rhs As Double)
Declare Sub ClearVec()
End Type

'Empty constructor. Used when part of another object.
Constructor vec ()
_x = 0
_y = 0
End Constructor

'Initialzed vector.
Constructor vec (x As Integer, y As Integer)
_x = x
_y = y
End Constructor

'Properties to set and return the x and y components.
Property vec.vx (x As Integer)
_x = x
End Property

Property vec.vx () As Integer
Return _x
End Property

Property vec.vy (y As Integer)
_y = y
End Property

Property vec.vy () As Integer
Return _y
End Property

'Assignment operator.
Operator vec.Let (rhs As vec)
_x = rhs.vx
_y = rhs.vy
End Operator

'Translation operators. These operate on both components.
Operator vec.+= (rhs As vec)
_x += rhs.vx
_y += rhs.vy
End Operator

Operator vec.+= (rhs As Integer)
_x += rhs
_y += rhs
End Operator

Operator vec.-= (rhs As vec)
_x -= rhs.vx
_y -= rhs.vy
End Operator

Operator vec.-= (rhs As Integer)
_x -= rhs
_y -= rhs
End Operator

'Scaling operator.
Operator vec.*= (rhs As Double)
_x *= rhs
_y *= rhs
End Operator

'Translation operators.
Operator + (lhs As vec, rhs As vec) As vec
Dim tmp As vec

tmp.vx = lhs.vx + rhs.vx
tmp.vy = lhs.vy + rhs.vy

Return tmp
End Operator

Operator - (lhs As vec, rhs As vec) As vec
Dim tmp As vec

tmp.vx = lhs.vx - rhs.vx
tmp.vy = lhs.vy - rhs.vy

Return tmp
End Operator

'Scale operator.
Operator * (lhs As vec, rhs As Double) As vec
Dim tmp As vec

tmp.vx = lhs.vx * rhs
tmp.vy = lhs.vy * rhs

Return tmp
End Operator

'Sets vector to 0.
Sub vec.Clearvec ()
_x = 0
_y = 0
End Sub

'*****************************************************************************
'*****************************************************************************

'Test program.

Dim v1 As vec
Dim v2 As vec = vec(10, 10)
Dim v3 As vec

'Show initial values.
Print "Inital Values"
Print "Vector 1 x: " & v1.vx & " y: " & v1.vy
Print "Vector 2 x: " & v2.vx & " y: " & v2.vy
Print

'Translate vec1 by 1.
v1 += 1
v2 += 1
Print "Translate +1"
Print "Vector 1 x: " & v1.vx & " y: " & v1.vy
Print "Vector 2 x: " & v2.vx & " y: " & v2.vy
Print

'Translate by -1.
v2 -= 1
Print "Translate -1"
Print "Vector 2 x: " & v2.vx & " y: " & v2.vy
Print

'Scale by .5
v2 *= .5
Print "Scale .5"
Print "Vector 2 x: " & v2.vx & " y: " & v2.vy
Print

'Translate operators
v1 += v2
Print "Translate by Vector (+=)"
Print "Vector 1 x: " & v1.vx & " y: " & v1.vy
Print

v1 -= v2
Print "Translate by Vector (-=)"
Print "Vector 1 x: " & v1.vx & " y: " & v1.vy
Print

v3 = v1 + v2
Print "Translate by Vector (+)"
Print "Vector 3 x: " & v3.vx & " y: " & v3.vy
Print

v3 = v1 - v2
Print "Translate by Vector (-)"
Print "Vector 3 x: " & v3.vx & " y: " & v3.vy
Print

v2 += 1
v3 = v2 * .5
Print "Scale by Vector (*)"
Print "Vector 3 x: " & v3.vx & " y: " & v3.vy
Print

v3.ClearVec
Print "Clear Vector"
Print "Vector 3 x: " & v3.vx & " y: " & v3.vy
Print

Sleep

6
Work In Progress / DDD2
« on: October 18, 2009, 09:48:20 AM »
DDD2 is a complete rewrite of my first major roguelike game, Deep Deadly Dungeons. In DDD2 you must find the Crown of Alegare, along with the seven Stones of Power to claim the throne and kingdom.

DDD2 will feature different player races, different player classes each with a set of unique skills. Explore 24 massive randomly generated dungeons, fight against 52 different classes of monster, with each monster uniquely generated so no two monsters are ever the same, and a large set of armor, weapons, potions, spells and other items.

DDD2 will also feature an alchemy and crafting system so that you can upgrade weapons and armor, and create new items by combining traits of existing items.

The homepage for DDD2 is here. I have a couple dev screen shots there now, but not much else.

7
Work In Progress / 7dRL: Escape from Lab 42
« on: March 08, 2009, 03:39:32 PM »
As some of you may know, the 7 Day Roguelike challenge has started. I decided to throw my hat in the ring and work on a little 7dRL called Escape from Lab 42. I am posting daily updates and in-development screenshots on my blog:

http://rickclark58.spaces.live.com/blog/

I am off work until Wednesday, so I hope I can get the majority of work done in this time, and then spend the rest of the week tweaking the gameplay.

8
Work In Progress / Alphabit Rogue
« on: March 05, 2009, 03:39:20 AM »
I have set up a page for Alphabit Rogue on my Google Pages. I have also uploaded some updated screen shots as well. The program is about 75% feature complete at this point. I still need to work on the spell system and puzzle parts of the game.

9
Game Dev / Black Art of 3D Game Programming
« on: March 02, 2009, 07:17:21 AM »
I found an old (1995) classic book Black Art of 3D Game programming online. This book was written before DirectX or OpenGL were available on personal computers.

I have set up a section on my wiki where I will post the FB code converted from the C sources. I thought it would be fun to create an old skool 3D engine using FB gfx and code.

Pages: [1]