jump to navigation

2012 Begin January 3, 2012

Posted by Trezker in allegro, life, programming.
Tags: ,
add a comment

A new year just got started and I felt maybe it’s a good idea to write something here again.

As I wrote in the last post, I got a job. That’s what I’ve been doing most of the time 2011 and I haven’t had much energy for anything else. But in exchange I’m earning money so I can eventually pay off my debts and I’m learning stuff that I probably wouldn’t have gotten around to learning for decades yet otherwise.

One big thing is that I’ve learned web development. My old views of web coding was that it’s an area not designed for real programmers. Many areas of web development is made for designers and the programming languages involved are big ugly hack-jobs from top to bottom. But now I know my way around enough of those ugly hacks that I wont rage quit after a few hours of being baffled at how crappy everything is.

The GUI library I was working on last post has not been worked at much since then. But a few things have happened from time to time when I felt a surge of motivation. I converted the string handling to use Allegro’s Unicode strings, added a controller class that I think should be helpful in organizing the handling of events and the editor is pretty much fully functional even though a bunch of usability features need to be added.

What the GUI library needs now before making a first release (alpha) is customizable skinning and documentation. There’s not a single line of documentation written for the whole project and I’m almost fearing I wont be able to remember why some parts of it is made the way it is… So one major reason to write good documentation now is that otherwise I won’t be able to answer the questions people will have when I try to present a release.


White apple March 22, 2011

Posted by Trezker in allegro, computer, life, programming.
add a comment

It’s been a while since I posted anything on this blog. I haven’t felt like there was much to blog about in my life for quite some time.

But now a whole lot of stuff has happened all at once. Well, not exactly all at once but at the pace I was living before it seems pretty much instantaneous to me.

I can first mention I’ve been working as a programmer fulltime at http://www.vastgotadata.se/ since the end of January. So I’m finally earning some money from the skills I’ve spent so many years learning.

This led to me buying a MacBook which I’m now writing this blog post on. It takes a bit of training to get used to the fn/ctrl/alt/cmd buttons, both in their layout and function. Not to mention all the other little differences from what I’m used to.

Third and last thing I’ll mention is the state of the Allegro game development community. They recently released the long awaited Allegro 5 which is a huge step into modern times. Event based input, hardware accelerated graphics out of the box and lots of other improvements making the library a much more viable option for serious game development for anything from the simplest to the most advanced game projects.

Allegro misses one big part though, and that is a GUI library. Allegro 4 came with a minimalistic GUI that you could use for quick interface needs. So now that the new library got release a whole bunch of different people announced they’re working on their own GUI library, and I’m one of them.

I started working on my library a few months before the release of Allegro 5. But now that I have a full time job and the travel time is rather tiring the project has been going rather slowly due to lacking energy reserves.

The library is a very dynamic creation. I’m aiming to make it as flexible as possible. Skinning, behaviour, layout etc. should all be easy to modify. I’m building a layout editor which saves YAML files that you can load in your C++ code so you wont have to hard code your interfaces. You’ll only have to handle the events from the widgets.

There’s no screenshots as I haven’t gotten to the eyecandy stage of the project. But if your enough of a code monkey you might appreciate a link to the projects repository https://github.com/trezker/SWAG.

It’s supposed to be a lion May 24, 2010

Posted by Trezker in 3D, modeling.
1 comment so far

Since I have had thoughts about games that involve realistic hunting, among other ideas that would involve quadrupeds, I felt a need for animal models. I also want to get better at making my own 3D resources.

So I chose to model a Lion. Below you can see the lowpoly model that I just made. If you excuse the lack of texture, would you say it looks like a Lion?

Parts coming together in 2010 January 3, 2010

Posted by Trezker in programming.
add a comment

In the last three posts I have written about Allua, 3D modeling and the build system premake4. During the last year I have had my focus switching from one topic to the next over and over. But I have never been able to stay focused on anything for longer periods of time. There have been times where I wondered if I may have some mental disorder since I could never fully commit to anything.

But a while after the post about premake4, I decided to start working on something again. This something happens to be a 3D library/engine written in C++ and a binding library that makes it available to Lua. The idea is to build a full game development environment. It also gathers the pieces of all the things I’ve been poking around with over the last year into one big picture.

Now that a new year has started, I have also begun coding a little game using this environment. It’s not much to see, but I thought I’d share an early screenshot of what I’m hoping will become something enjoyable in the near future.

Using premake4 to build C/C++ projects November 28, 2009

Posted by Trezker in programming.
add a comment

Build scripts have been my nemesis in C++ development ever since I started making projects with multiple files. I never got the logic of makefiles, sure the basics are simple enough but as soon as you want to do anything fancy it gets nasty.
For a long time I used IDE’s like Code::Blocks and MS visual studio that did the building for me, all I had to do was set some options in various menus. IDE’s also often have a good way to integrate testing and other fanciness. So I guess if you have a good IDE, and everyone you’re working with have the same IDE then all is good.

However, now I’m in Linux and as far as I have looked I can not find an IDE that’s good enough for me. One should pop up soon though, Linux is moving fast these days. Still, even if one did show up, it may not quite solve one problem. Namely, working with people who use other development environments!

Anyway, for me the most important issue is that I’m working without an IDE and I need a good simple way to write build scripts with all the bells and whistles. I found my way one week ago by googling build systems. The search turned up premake, I recognised the name because a friend had mentioned it before. After looking at it, I realised it was awesome.

Some points that should tell you why it is awesome:

  • Lua, you get a full scripting Language out of the box. With standard libraries!
  • Can generate build scripts for whatever IDE/platform/target you want.
  • Very logical structured description of projects and configurations.
  • Very easy to add custom commandline options and actions.

Check it out at http://industriousone.com/premake and you will experience joy.

In a future post I may share my library building script which demonstrates building, unit testing and installing.

Working on my 3D modeling skills October 9, 2009

Posted by Trezker in Uncategorized.
Tags: , ,

A while ago I started working on a game with networking, 3D and all that. At the time I didn’t feel like modeling a proper character to put in the game, so I made the simplest boxy placeholder model I could just to have and be able to do 3D stuff with like rendering and animation. Of course, I still had to do the UV mapping, rig, skinning and animation(simple animation). All that was quite challenging, but I go through it.

Yesterday I somehow got the idea that I wanted to do a somewhat proper human model for the game. So I searched for, and found, a really nice video tutorial that shows how to make a low poly character in Blender. It took me about 5 hours to make the full model and I was surprised at how simple it felt, both the making of the character in itself but also working with Blender. I have worked a little with Blender before (with that simple model thingy) so I’m familiar with it, but this time it really flowed. I felt like a pro, even though I’m well aware that I am just a newbie following a simple video tutorial.

Well, here’s the tutorial:http://montagestudio.org/tutorials-page/modeling-tutorials-page/modeling-a-lowpoly-character/
(link to download hi-res version in the comments to the tutorial)

And here’s my result:

Allua August 13, 2009

Posted by Trezker in Uncategorized.
Tags: , , , ,
add a comment

This post is not about a Linux distro. Now it’s time for something else.
For a few months now I’ve been working on a programming project called Allua, and a few days ago I made a first release of it.

Allua is a library for the scripting language Lua. A library that provides functions from the game programming library Allegro. This means it provides features like graphics displays, images, drawing, sound, input and fonts. I don’t know exactly how many functions there are, I didn’t bother to count.

If you are interested in using this creation, learning something about Lua or just see it, here’s the project page. http://wiki.github.com/trezker/allua

For those who wonder why I decided to create Allua I will now explain.
About a year ago me and some guys on allegro.cc spawned a community project. Usually this kind of project starts with a guy feeling enthusiastic on a monday, he starts a thread, people discuss, people disagree a lot and the thread dies.

But this thread didn’t die. A somewhat solid group got along quite well and decided to try and make an Adventure game. I started coding, another guy set up source control server, there was a small website with design docs and info. We called the project Monday of course. Few people dared believe we’d actually finish it. It went strong for a while, but then I hit a bunch of motivation killers and stopped working on it. Now it’s a project on hold and I don’t know if it will be revived.

Now onto how that project connects with Allua. It’s pretty simple, the Monday project was integrated with Lua. It was made so certain stuff could call Lua scripts so designers could work on it without rebuilding the whole project. But because I was a Lua newbie, the whole Lua integration was done wrong. This is one of the big reasons I stopped working on the project.

But some time after my stop, I kept thinking about how Lua should be used properly. Which is how I came to the idea of Allua. I wanted to put more of the power into the Lua side. Then I realised if I wanted a library like that, I’d have to make it myself.

So now it’s done, at least an early version of it. So some day, I might revive the Monday project. I like the design docs that another guy in the project made, so I’d like to see it become a playable game.

OpenSUSE followup June 29, 2009

Posted by Trezker in Uncategorized.
1 comment so far

In the last post I made about OpenSUSE I complained about the folder sharing issue. Well now I remembered ssh and discovered that Nautilus has it, so the foldersharing issue is moot. Who needs it when you can just ssh everywhere?

On the system update feature. I think I said that there were two separate areas of updates. Security and “other”. But when the system pops a notice in the taskbar saying there are updates available it actually gives you the option to install security or all upgrades. So it all fine. I’m starting to get rather fond of this distro.

Another thing I like is that you can right click in any folder and choose “open in terminal”. Why doesn’t ubuntu have this?

However, there’s one thing I don’t like. The Computer menu, especially the applications. It just shows the last like 6 programs you’ve used. If you want to choose another application to start, you need to load up a program with search feature and stuff and it’s rather sluggish on the old laptop I’m using.

I’m starting to really like OpenSUSE. It seems to be a rather pretty good distro, very usability oriented like Ubuntu. I don’t know which of OpenSUSE and Ubuntu is best, each has their own issues and advantages. I am not in a good position to judge, I have one on a somewhat new desktop and the other on a rather old laptop. Since I don’t feel like messing around with changing places on the two, I will just leave it at saying that both are very good overall.

OpenSUSE May 9, 2009

Posted by Trezker in computer, linux.
add a comment

The livecd version of this distro didn’t install on the laptop due to too little memory, it needs more than 256 mb. (Did I mention that in an earlier post?)

Anyway, the “regular” DVD version worked fine. The installer was very nice. During the big install phase you not only have a slideshow but also details on the install process and release notes to occupy yourself with.
Note though: It automatically selected a too large resolution that did work, but it didn’t fit on the display. I had to restart the install because I couldn’t navigate the buttons that were outside the screen.

This distro correctly handled both the display and my wireless network, which is quite nice. The package manager is also rather nice. I think this might be a good distro to live with.

But there was a big showstopper which causes me to loose the will to run it. Folder sharing, denied! I would sure like to see a thing like this easy to enable. But in OpenSUSE I couldn’t find any settings in the control panel. I had to start digging in the configuration files, googling and all that. And even after a sizeable amount of work, it didn’t work. So if they want me using this distro in the future, this has to be fixed.

PC-BSD May 2, 2009

Posted by Trezker in computer.
add a comment

PC-BSD looks and works nicely.
It asks for root passwords often, so I guess it’s a secure system. I heard that’s what it’s famous for.

A lot of nice applications where installed by default, like remote desktop, personal organizer, address manager, media player, etc. The update manager works nicely, though it was split in two sections. System and PBI (programs), so you need to process them separately. The add/remove applications program seems nice. They have a good website where you can browse available applications.

As for hardware, it set up the display properly, something that Linux mint failed to do. It was nice to have a better resolution and no black border.

The D-Link wireless card didn’t work. BSD detected it but seems to have chosen the wrong driver or something. I failed to find an easy way to fix this problem. My Linksys USB wireless dongle worked though, that’s what I have on my main desktop. So at least I know BSD is capable of working some type of wireless.