Mar
05
2013
4

Rubinius support for rbSFML

After I finished the chapter deadline for the publisher I had some free time in the weekend. I spent some of it in making rbSFML compatible with the high performing Ruby implementation Rubinius. Sweet! Sure it required me to do a pull request to the Rubinius repository and do some fixes for them but it is now fully supported.

So if you want to do parallel tasks with rbSFML that should now be fully supported as well since Rubinius doesn’t have a GIL so using native threads there is actually worth it.

I’ve encountered a minor problem with it on Arch Linux. Somehow Rubinius gets it to crash inside Nvidia’s library libGL when the opengl context is being destroyed and I don’t understand why. But well I’ll track it down and fix it as soon as I get time. But it is still usable since the crash happens only when you are exiting the application and as it is destroying the last window created.

Jan
20
2013
0

Me, holding a seminar at Skövde University College? Madness I say!

No I actually were lecturing at Skövde University College for their game development program. It’s kind of crazy, the students were mostly in my age range and I stood in front of them lecturing about games. Afterwards I had more of a casual discussion with the students and talked about the book I am writing as lead author for Packt Publishing. I wanted to know what they had problems with and what I could help them with. The book is called SFML Game Development but I covered a lot more topics than just SFML with the students. I also went around in the groups as they were working on their projects and helped them and gave them hints and tips on how to solve the specific problems they had.

I found it extremely enriching and fun to do. Although it was a bit cold for a southern Swede like me to venture that far north.

Nov
15
2012
0

Making games in Ruby so far

Well I’ve been playing around in rbSFML now for a while and it’s been very satisfying to see how fast and easily your game evolves in Ruby. I recommend this language and I will try to give some tutorials for it.

Of course there are still some problems, like that every math operation is a heavy method call. Ruby truly embed the proverb for optimization:

The fastest code is the one never run.

(more…)

Nov
05
2012
0

Quickhull – Convex Hull mesh generation

I’ve written an article that is now available on Defrost Games. It’s about how to generate convex hulls and how I did it for our game Project Temporality.

Nov
01
2012
1

Working at Defrost Games

For the last couple of months I have been working at the indie game company Defrost Games. Been having a great time and been allowed to do some pretty neat stuff. Been playing around with pretty much everything in the game and the tools. I even got to fix some bugs in the time mechanics. Just recently I got to create straight up from nothing an algorithm that would let the artists place props in the level editor and then the level editor got to cut out the props geometry from the navigation mesh for the character. That was pretty cool, first I had to create everything that was needed in order to cut in the nav mesh that previously was made by artists in Maya. By that point it was using the geometry of the object but that won’t work since they are too highly detailed and it would result in a poor-performance navigation mesh with way too many triangles. So I had to come up with a way to optimize that as well.

Navigation mesh

Red lines are the navigation mesh and the blue represents the cut out area.

Yeah I’ve been having a blast at Defrost Games. I can’t wait till the game is released so I can brag about what I’ve worked on. Even though most of my stuff is not even directly visible. But most often it’s those things that are hard to do and interesting to make.

May
25
2012
0

Game projects have been updated yet again

Well just wanted to let know that the game projects have been updated again with more 3D projects and I have reformatted the pages a little to make them easier to read and take information from.

The Space Shooter, Real Time Strategy and the First Person Shooter games have all been uploaded and is now available for download. I hope you enjoy them.

Apr
22
2012
0

Game Projects updated

Alright my game projects page has been updated. There is still a lot more to add. Like the First Person Shooter and my current project I’m working on but also some more pictures and download links for the games already up.

Have a check and see what I have been part of creating!

Apr
16
2012
0

SFML 2.0-RC and rbSFML-RC

Since SFML 2.0 is getting a release candidate status now I will have to put out a release candidate for rbSFML as well. A tag has been put up on Groogy/rbSFML for the release candidate 1.0-rc.

Go ahead and use it and have fun coding in ruby! I am most interested in anything you have to show and especially if you find bugs or flaws in the design.

I was hoping to create documentation and RSpec specifications for the bindings but I don’t have the time currently. If anyone is interested to help me out and do some kind of tutorial or something like that please let me know.

Written by Groogy in: rbSFML | Tags: , , , , , ,
Aug
17
2010
1

Walk trough the memory with CallStack

Took me one day to complete this. These classes will let you walk trough the call stack with C++ and access local variables or arguments in other functions than the current one. I’m trying to follow the KISS(Keep-It-Simple-Stupid) method so it’s very straightforward to work with. The documentation can be found here. And here’s the GitHub repo.
(more…)

Aug
02
2010
1

Ascension – View script draft

Aight I’m coming somewhere now and is about to start on the three mode/view classes that will be called View, ViewController and ViewModel and they will work after the Model-View-Controller concept and first one to be made is the ViewModel which will be the configuration script interface to the application.

It will work like this that the game is going to open the folder “data/views” and in there it’s going to look up all the files that fit *.view and load each and one of them into their own ViewModel class.

Here’s an example script:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
self.SetName("Test")
 
OnInit = self.NewMethod("OnInit")
OnInit < Standard.Kernel.PrintLine("YAY! =D")
OnInit < quit_button.RegisterSignalHandler("Signal.Button.Click", OnButtonClick)
OnInit < background.FitToWindow()
 
OnDeinit = self.NewMethod("OnDeinit")
OnDeinit < Standard.Kernel.PrintLine("Auuw! D=")
OnDeinit < quit_button.UnregisterSignalHandler("Signal.Button.Click", OnButtonClick)
 
OnButtonClick = self.NewMethod("OnButtonClick", "b")
OnButtonClick < Application.Quit()
 
self.RegisterSignalHandler("Signal.Controller.Init", OnInit)
self.RegisterSignalHandler("Signal.Controller.Deinit", OnDeinit)
 
background = self.AddImage("data/graphics/background.png")
background.x = 0
background.y = 0
background.visible = true
 
quit_button = self.AddButton("Quit", "data/graphics/button.png")
quit_button.x = 100
quit_button.y = 50

There’s a lot more to be done here and some parts that I don’t show. For example I will also allow the ViewModel to receive the signal “Signal.Controller.Update” which is a signal from the controller that the view
is being updated. And the view always get updated once each frame. Though I would prefer to avoid the use of this signal as it will slow down the engine significantly if this method needs to be called each frame. And what if we got 100 objects showing that needs their own OnUpdate method called, and so on and so on. It will end up with that we only got 5 FPS or something like that. So instead I will add a lot of stuff like the “SetBackgroundImage” and the “AddButton” methods so that we prepare before it starts instead of working every frame.

Powered by WordPress. Theme: TheBuckmaker