Showing posts with label rbgooey. Show all posts
Showing posts with label rbgooey. Show all posts

Thursday, July 24, 2008

Release Log #1

Hi, I just released a new version of the rbgooey library in preparation for the RubyWeekend contest.

This version is 0.0.6 and it fix the crash bug associated with opening too many TTF objects.

You can download it at rbgooey's rubyforge page.

Monday, July 21, 2008

Day 13: Workload More Than Expected

Well, I certainly didn't ancipitate the amount of work it takes to get a framework ready. I could release just the engine but that mean developers have no context from which to work with. With the current workload, it seem that I will finish this in 3 days, not the next day. Never mind that the map editor will probably also take a long time too.

In any case, rbgooey-0.0.5 is released. This library will be necessary for the use of engine.

As for the experiment, I finished 13 days doing 4 hours of programming. As usual, there's a lot of commits. 17 more days to go.

Sunday, July 20, 2008

Day 12: Game Engine Complete

Day 12: 45 commits and 48 hours logged so far.

Well, the game engine is completed and it now have a name: KRPGE(Kiba Role Playing Game Engine).

The only thing left is actually preparing it for release. I have to get rbgooey out the door first since rbgooey was updated for use on the engine.

After that, I will be working on preparing the game engine framework so people can actually use it. It will have blanks placeholder files so people can add their code to it.

Once I am done with releasing the framework, I will be working on the map editor again.

I hope to finish it all before RubyWeekend #2. If not, at least I have some advantage over my peers in term of how much I have to do.(assuming at least I get the engine out)

18 more days to go before I complete my training. :)

Monday, June 4, 2007

Day 2: Learning the Art of Gimping and Everything Else




Day 2 Statistics:

Project: Rubyemon
Physical loc(sloccount): 156
Milestone: Work on loading menu begins, writing a system for saving and loading games.
Subproject: rbgooey
Physical loc(sloccount): 1,486
Milestone: Work on adding image loading for UI begin
Commits for Rubyemon: 10
Average time between commits: 1.38 hour(s)
Commits for rbgooey: 7
Average time between commits: 7.42 hour(s)
Commits total: 18 commits
End Time: 01:46:37 Tuesday UTC

Today, we add some images for the UI, toy with creating the game code, as well working on the interface for loading games. Some missing features forced me to go over to rbgooey project.

I am also developing a new feature in rbgooey that should allow me to add clickable images such as the button below the statistic. I am still not done with the addition of this new feature. We'll be done with this feature tomorrow. There is another feature that allow for omiting the background color for texts. That mean rbgooey will get yet another release by the end of this week.

17 commits. This is not exactly what I called "productive". Still it was not as bad waiting for the project at GNA.org to come alive and having to start late yesterday. I did however, start late today, intentionally. This shall not be tolerated in the later course of development of this game.

I also learned some nice tricks with GIMP. For example, how to draw a straight lines without the hassle of inaccuracy I also tried unsuccessfully followed a GIMP tutorial somewhere on the web. The result is a sucky button. So I learned how to make rounded rectangle, learn a few thing or two about selections, and other GIMPY stuff I forgot to mention.


Unfortunately, the fact is, I still did not get to the gameplay code yet. This is big reason enough for me to get urgent and serious about this or I won't finish these simple goals of finishing both the basic map system and battle mode.
2 days down and 5 more to go. Well then, I got to go back to hacking.

Happy hacking,

Kiba

If you have comments, please contact me at wikipediankiba__AT__gmail.com or you can also comment on this blog post.

Saturday, June 2, 2007

A Considerable Delay.......


This image below is all the progress I managed to make for this weekend for my space arcade game, Space Fighter Ace. The game will have to wait, or simply released later this week. It is not because I am busy or lazy, and other reasons relating to my productivity. Rather, I managed to get myself locked out from rubyforge(after giving the wrong passwords too many time), making me unable to commit anything to my project's subversion repository, thus delaying the progress. Afterward, I finally managed to regain access after the rubyforge administrator undo the automatic blacklist me but not enough time for me to meet my Saturday self imposed deadline.

As for rbgooey, the GUI library for Rubygame, their repository is hosted on a different site, so their progress wasn't delayed. Rbgooey got lucky, so we're releasing a new version after mere days of the first release. Version 0.0.2 sport a new feature and some bugs fixed. If you're a Rubygame user and in needed of a GUI library, check this out.

Tomorrow will be the start of a new project, Rubyemon. We'll chronicle this project's progress the whole week starting on Sunday. This project will enjoys one long hackathon.

By the way, we will be putting up donation links for those who enjoy our incoming and future games, and also somehow generous enough to donate some cash. We will also mention a donation request in new games coming soon like Space Fighter Ace, and as well Rubyemon. If I somehow managed to get enough money from donations to pay for web hosting for a year or two, I'll use that money to get a dirt cheap web host somewhere on the internet and get out of this place.

Good night and happy hacking,

Kiba

If you have any suggestions, opinions, ideas, etc, you're welcome to contact me at wikipediankiba_________gmail__________com. You can also comment on this blog post too.

Thursday, May 31, 2007

Annoucement of New Projects



I am here to announce you my first project to be unveiled here at this blog, rbgooey!

Rbgooey
is an alternative GUI library for Rubygame and also the first of its kind to be released for the Rubygame library.

This library, version 0.0.1 only support texts and limited typing operations. Over the following days, I'll continues to extend it and refine the API so everyone who use it will get a much better(and more awesome) experience in using the library. This library is the culmination of all my knowledge in writing a GUI library using Rubygame, although it isn't complete yet.

The image I show you below is the screenshot of a really cool example application I developed to demonstrate the rbgooey library. It randomly display new texts of five characters long in random locations on the display screen every second. 10 seconds latter, the application reset and the process started over. In total, there should be 50 pieces of texts every cycle.

Code:

Enough said, let get to the real code(Don't forget to install rbgooey)

require"rubygems"
require"rubygame"
require"rbgooey"
include Rubygame
TTF.setup()

class Timer
def initialize seconds , &action
@interval = seconds
@action = action
end
def check
t = Time.now.tv_sec
if t >= @fire_at
@action.call
@fire_at = t + @interval
end
end
def start
@fire_at = Time.now.tv_sec + @interval
end
end


class RandomText
def initialize
@display = Display.new
@display.setup(800,600,true)
@display.color([100 , 100 ,100],[20 , 20 ,20])
@background = Rubygame::Surface.new(@display.screen.size)
@data = UiData.new(@display)
@data.text.setup("freesansbold.ttf",12)
@data.text.render.surface(@background)
@clock = Rubygame::Clock.new
@clock.target_frametime= 40
@q = Rubygame::EventQueue.new()
@data.declare(:hello)
@random = Timer.new(1) { random() }
@delete = Timer.new(10) { delete() }
@random.start()
@delete.start()
end
#http://snippets.dzone.com/posts/show/2111
def String.random_alphanumeric(size=16)
s = ""
size.times { s << (i = Kernel.rand(62); i += ((i < string =" String.random_alphanumeric(5)">


action = RandomText.new
action.action()

Explaining Things:

The entire codebase of the program is about 77 lines long, including space. With some data files, the application should works. Well, it certainally won't work without data, so I am just offering this place to download the whole thing, just the codebase and some data files.

This demo program will probably not work in versions later than 0.0.1

Already, I discovered the first flaw in my library. Rbgooey required a hard coded path to an image. The path is "test/mouse.png". Even though we didn't use the mouse in the program, it is required for the application to work.

The entire code of this program is public domain, excluding a code snippet for generating random texts.

While this is not a tutorial, I would like to explain a few methods that I used with rbgooey. For example, UiData#text.add(string,x,y) is used for adding strings. UiData#clear is used to clear every information about texts, rect, and so on. Before you can create texts, you will need to declare a group you want a certain group of texts to be associated with. For that, you use Ui#declare(name here). UiData#text.render.undraw clears all the rendering of texts.

I'll stress one thing, this library is not ready for consumptions. It isn't used in real rubygame applications yet. Soon, I'll use this library and implement improvements as I muck around with video game creations.

A Roadmap:

The roadmap of rbgooey look like this for the next three versions:

Version 0.0.2 will includes file based configuration of basic setting such as screen size, mode, the font, and among other settings that I forgot to mention. It should help the code manage clutter. Bugfixes are the main focus here.

Version 0.0.3 will see some features for groups(the association of texts and other user interface elements) such as the ability to change the size of all texts within that group. Support for capital letters in typing will also be added.

Version 0.0.4 is where many of the major enhancement and improvement to the text library part will be added. In this version, you will be able to change the color for each individual characters, as well display different type of fonts for different texts. There will be lot of new features to manage texts in this version.

Some Other Announcements:


Now that we're finished with rbgooey introduction, I'll have a few projects that will be coming up. First, a new version of a simple game that I developed long ago will be released sometime on the weekend. It is called Space Fighter Ace. This game is a simple space invader clone that only work with previous version of Rubygame and only work on Window(Because I wasn't aware that linux is case sensitive). The target date I am aiming for is Saturday. New version of rbgooey should come out after this project's release.

Next, I'll start work on my first big commercial Free software game project. This new game will be called Rubyemon. Rubyemon will have similiar gameplay to the game Pokemon. We will chronicle that project for at least one week of its development, and then some update between there and here.

Wow, that's a mouthful. There are about 940 words in this post! If you got here without getting bored, congratulation.

It is time for me to get cracking on the various new projects.

Happy hacking!

~Kiba

P.S If you got any comments for this post, please post it, even if it is grammar nitpicking. You can alway contact me at my email address, wikipediankiba______AT______gmail.com