Gah I think I'm going to have to roll my own XML parser - this is cheifly because I don't really want to use XML. I want to use bits of it. I want to embed pieces of code - code use < and > signs and that's exactly what I want to type. I don't want to do : lb or whatever special mark-up voodoo it is.
Also I find lots of tags tend to bulk up the files and make them unreadable. I'm going to be hand writing these files so they need to be clean. So that will give me something to do at work tomorrow.
About Game Development with particular focus on C#, Lua and procedural content generation.
Monday, October 31, 2005
Sunday, October 30, 2005
AI!
Yes now the warlord just starts running - clunky animation and all. It's quite cool.
The only problem is when he's out of the players view he continues to run. Maps are buffered around the player. When he manages to run off a map, well then the game crashes. He's checking if there's anything blocking him - as he moves from one map to another. The next map not being buffered means null pointer and CRASH!
Not an entirely unexpected bug. At this point the NPC should be promoted to metamap status, or depending on importantance - just turn around. Maybe as default I should always have the blocking state be returned as true.
There's also the problem that CPU cycles shouldn't be spent on what the player can't see and the distance he travels should just be estimates. All this is for another day.
I've succesful reached my goal yay! Not too hard it you keep them modest!
The only problem is when he's out of the players view he continues to run. Maps are buffered around the player. When he manages to run off a map, well then the game crashes. He's checking if there's anything blocking him - as he moves from one map to another. The next map not being buffered means null pointer and CRASH!
Not an entirely unexpected bug. At this point the NPC should be promoted to metamap status, or depending on importantance - just turn around. Maybe as default I should always have the blocking state be returned as true.
There's also the problem that CPU cycles shouldn't be spent on what the player can't see and the distance he travels should just be estimates. All this is for another day.
I've succesful reached my goal yay! Not too hard it you keep them modest!
Tea drunk. Warlord added.
A quite poorly drawn warlord has graced the world with his prescene. I'm going to put in some extremely stupid AI and then I'll be done and happy.
So how are the goals going ...?
Well I keep looking at my code and thinking - what is this? What does it all do? Why is all so messy?
It needs refactoring. Programming something so big - has really allowed me to see design flaws that much more sharply. So I'm noting down changes that are required. After every stage I refactor - and I'm oh so very near the end of this (stage 2).
I've written out a full plan on how I'd like my conversation tool set to progress. Then I did some programmer art for a warlord. Current he can walk forward - or run forward. It's not incredibly dire (artist ablility wise) but it's far far away from good or usable even. I really think I should start colouring the sprites in black and white and the colourize afterwards.
So I polished off some of the frames of the sprite. Great. Then I knitted together some code that was seperate in my project but required knitting. Then I checked and it seems to work rather nicely - just as it did in the test program.
Next up I need to write a very simple warlord brain, I need to hook a physical representation up to the warlord. Then I need everything to work. But first - a big mug of tea and then to work!
It needs refactoring. Programming something so big - has really allowed me to see design flaws that much more sharply. So I'm noting down changes that are required. After every stage I refactor - and I'm oh so very near the end of this (stage 2).
I've written out a full plan on how I'd like my conversation tool set to progress. Then I did some programmer art for a warlord. Current he can walk forward - or run forward. It's not incredibly dire (artist ablility wise) but it's far far away from good or usable even. I really think I should start colouring the sprites in black and white and the colourize afterwards.
So I polished off some of the frames of the sprite. Great. Then I knitted together some code that was seperate in my project but required knitting. Then I checked and it seems to work rather nicely - just as it did in the test program.
Next up I need to write a very simple warlord brain, I need to hook a physical representation up to the warlord. Then I need everything to work. But first - a big mug of tea and then to work!
Saturday, October 29, 2005
Goals rawr
Saturday, (time of writing), I generally don't work on my projects - as I need my socializing time away from work. The same is true of this saturday. Tomorrows goal is fixing up the warlord code but that's tommorrow.
I have an hour or two free this morning so I'm continuing to work on smaller programs that have caught my interest. These programs are generally written using SnippetCompiler or Lua.
Also I've been catching up on my mail list reading. It's quite useful to subscribe to a few technical mail lists as it keeps your knowledge fresh and up to date. This is the theory anyway. Generally I recieve the mail but never read it . . . I'm catching up on maybe a months worth now. I wish there was a simple extremely lightweight program that would download my unread gmails - without deleting them - and allow me to read them offline.
Anyhoo some clever chap got Lua up and running on the Nintendo DS! There's a screen shot of the console here.
This morning I'm working a little on my conversation modules - I'd say Engine but there's no architecture yet! It's all bottom level functions -> that have yet to be pulled into anything useful.
I also got around to downloading the version 2.0 of net or whatever it's called. Whatever gives me the new CSharp stuff. I want to start playing with generics - they sound groovy. I try not to worry about speed but all the boxing and unboxing with arraylists - always worried me in my program. I don't know if I'll convert my current code base though - it's a rather lot of work. I'll wait until I finish of need to optimize.
(offtopic:I also watched "The Corporation" which I quite enjoyed in a disturbing way. A bit like the No Logo book. Check it out, try a different perspective out, it's all about different experiences.)
I have an hour or two free this morning so I'm continuing to work on smaller programs that have caught my interest. These programs are generally written using SnippetCompiler or Lua.
Also I've been catching up on my mail list reading. It's quite useful to subscribe to a few technical mail lists as it keeps your knowledge fresh and up to date. This is the theory anyway. Generally I recieve the mail but never read it . . . I'm catching up on maybe a months worth now. I wish there was a simple extremely lightweight program that would download my unread gmails - without deleting them - and allow me to read them offline.
Anyhoo some clever chap got Lua up and running on the Nintendo DS! There's a screen shot of the console here.
This morning I'm working a little on my conversation modules - I'd say Engine but there's no architecture yet! It's all bottom level functions -> that have yet to be pulled into anything useful.
I also got around to downloading the version 2.0 of net or whatever it's called. Whatever gives me the new CSharp stuff. I want to start playing with generics - they sound groovy. I try not to worry about speed but all the boxing and unboxing with arraylists - always worried me in my program. I don't know if I'll convert my current code base though - it's a rather lot of work. I'll wait until I finish of need to optimize.
(offtopic:I also watched "The Corporation" which I quite enjoyed in a disturbing way. A bit like the No Logo book. Check it out, try a different perspective out, it's all about different experiences.)
Thursday, October 27, 2005
Beep beep boop beep
This week at work I managed to write my Context Free Grammar code entirely in C#. It now creates a C# datastructure rather than taking the easy way out and producing a Lua program (I didn't stick with this - 1. I wasn't sure about cleaning up the memory. 2. There where conflicts with Lua keywords in some cases 3. It would not be as fast. 4. It was pretty tricky to extend.)
So I did that. Checked it then wrote a nice dll to wrap it. I want to write code and forget about how it works - for me, the way Visual Studio works - doesn't let me do this easily. I want to write code that's done and then I never ever want to see that code again unless theirs a problem. The way I've been using Visual Studio - it's all their as clutter. DLLs are one way around this - but I don't want a billion dll files. I think perhaps the best way to do a large project is to write nearly everything as a dll then you can add a load of other projects to your solution that reference that dll. You can have a unit test project for instance. Lots of small projects that poke around with your main code. Surely the way to go. Currently I have three dlls - clock, GUI, grammatron. These are mine. I don't use the clock dll as the code's part of my project.
I've been playing a little bit with combat and I've been playing a little more with conversations - and the format for writing them. This weekend I try to reach last weekends goal :D
So I did that. Checked it then wrote a nice dll to wrap it. I want to write code and forget about how it works - for me, the way Visual Studio works - doesn't let me do this easily. I want to write code that's done and then I never ever want to see that code again unless theirs a problem. The way I've been using Visual Studio - it's all their as clutter. DLLs are one way around this - but I don't want a billion dll files. I think perhaps the best way to do a large project is to write nearly everything as a dll then you can add a load of other projects to your solution that reference that dll. You can have a unit test project for instance. Lots of small projects that poke around with your main code. Surely the way to go. Currently I have three dlls - clock, GUI, grammatron. These are mine. I don't use the clock dll as the code's part of my project.
I've been playing a little bit with combat and I've been playing a little more with conversations - and the format for writing them. This weekend I try to reach last weekends goal :D
Sunday, October 23, 2005
El Weekend
Argh nothing done this weekend at all due to various social commitments. During the week I wrote a game development tool but that's all!
Here's a cool site called distractionware which is chroncling the progress of an interesting looking RPG, there's video and screens shots and stuff.
Here's a a handy thesis on computer game architecture. I've not read it yet but it does look rather promising. It hosted a gamasutra - so you may need a free login - or use bugmenot.
Here's a podcast, that covers video games and ludology. I've not listened to it - and I'm a tiny bit suspscious of ludology as whole. There seems to be some real mindless rubbish written in it's name.
Nothing much else to add. Hopefully I'll get a chance this week to develop some bits and pieces more thoroughly.
Here's a cool site called distractionware which is chroncling the progress of an interesting looking RPG, there's video and screens shots and stuff.
Here's a a handy thesis on computer game architecture. I've not read it yet but it does look rather promising. It hosted a gamasutra - so you may need a free login - or use bugmenot.
Here's a podcast, that covers video games and ludology. I've not listened to it - and I'm a tiny bit suspscious of ludology as whole. There seems to be some real mindless rubbish written in it's name.
Nothing much else to add. Hopefully I'll get a chance this week to develop some bits and pieces more thoroughly.
Sunday, October 16, 2005
On Namespaces
I'm patching in the code today. In the past I've never got namespaces correct.
They tend to be:
I think I'm getting better lately though.
A general rule to try and follow is don't nest deeper than 3 steps.
For me it goes the first part is always the company name. Then the general division goes as follows:
These are all created to be as modular as possible - with the exception of IO. Though I did write the classes in there so as little as possible needs to be swapped around.
Game is the current namespace where I'm thowing plenty of stuff in.
They tend to be:
- Poorly Named
- Deepy Nested
I think I'm getting better lately though.
A general rule to try and follow is don't nest deeper than 3 steps.
For me it goes the first part is always the company name. Then the general division goes as follows:
EINFALL.GUI
EINFALL.Clock
EINFALL.Game
EINFALL.Engine
EINFALL.IO
EINFALL.Tests
EINFALL.Menu
These are all created to be as modular as possible - with the exception of IO. Though I did write the classes in there so as little as possible needs to be swapped around.
Game is the current namespace where I'm thowing plenty of stuff in.
Saturday, October 15, 2005
Code Finished
That's the code finished in snippet compiler, all that's left is to push it into the main trunk of my code in VS.net. That's not going to happen today though. I've been leisurely prodding at the code the last few hours and I'm out of ompff.
Working on.
It's working quite well now. About one more line to change then it's ready to throw into the main code brew.
Amazing what gets done while trying to avoid coding.
I've messed around with the template for the blog a bit. It's still not perfect but I think it's better.
The goal this weekend is getting the concept of a turn (as turn based game, type of turn) into a real system. Also having AI decide what to do and execute what to do over a number of terms. It's one of the complicated parts of my project - that really should get a lot more planning than I've given it.
I'm not messing around in my main code at least. I've just fired up Snippet Compiler and wrapped my clock code up to a .dll file. That way I'm free to mess around. This was on done while at work - which was busier than usual.
I've got a basic idea what to do but it's not straight forward and I'm making use of some design pattern stuff. To document the code I wanted something visual so I searched around a decent free UML package. AgroUml was the answer. Hosted on tigris - the same as Subversion content management. I think Tigris an open source intiative that has a goal - of fully completed projects - not just stuff that's hanging around hardly touched. Anyway it does everything I wanted - simple UML diagrams. I downloaded the c# plugin too - even though in the end I couldn't find how to make it work (I don't wanna spend too much time messing around). Also high level C# and Java aren't radically different so it suited my needs.
There's currently a nearly complete prototype sitting in the snippet compiler program now written in a pleasant manner. So I'll finish up that today and if I have time I'll pull it into the my main code.
There's a nice little blog / journal over on Gamedev.net it's all about creating a Final Fantasy Tactics style RPG in Java. The posts are quite informative! Worth checking out.
I also need sort out the comments on the blog as the new templates messed them up a bit.
Oh look at that I seem to have got tags working again as well
The goal this weekend is getting the concept of a turn (as turn based game, type of turn) into a real system. Also having AI decide what to do and execute what to do over a number of terms. It's one of the complicated parts of my project - that really should get a lot more planning than I've given it.
I'm not messing around in my main code at least. I've just fired up Snippet Compiler and wrapped my clock code up to a .dll file. That way I'm free to mess around. This was on done while at work - which was busier than usual.
I've got a basic idea what to do but it's not straight forward and I'm making use of some design pattern stuff. To document the code I wanted something visual so I searched around a decent free UML package. AgroUml was the answer. Hosted on tigris - the same as Subversion content management. I think Tigris an open source intiative that has a goal - of fully completed projects - not just stuff that's hanging around hardly touched. Anyway it does everything I wanted - simple UML diagrams. I downloaded the c# plugin too - even though in the end I couldn't find how to make it work (I don't wanna spend too much time messing around). Also high level C# and Java aren't radically different so it suited my needs.
There's currently a nearly complete prototype sitting in the snippet compiler program now written in a pleasant manner. So I'll finish up that today and if I have time I'll pull it into the my main code.
There's a nice little blog / journal over on Gamedev.net it's all about creating a Final Fantasy Tactics style RPG in Java. The posts are quite informative! Worth checking out.
I also need sort out the comments on the blog as the new templates messed them up a bit.
Oh look at that I seem to have got tags working again as well
Friday, October 14, 2005
Read This!
How origin fell! (personally I've always blamed EA it will be nice to finally know the truth.
http://www.escapistmagazine.com/issue/14/4
Origin was the best game company ever ever ever
Ultima Underworld's, Ultima Seven part one and two, Ultima Online (near the begining before it was decided that it should try and clone everquest as much as possible)
Also I really really want the offical book of ultima. So very badly.
Goals for this weekend include mixing turn based and real time time. Also some AI. My goals are little bit more detailed than that but my eyes hurt so I don't wanna type any more.
http://www.escapistmagazine.com/issue/14/4
Origin was the best game company ever ever ever
Ultima Underworld's, Ultima Seven part one and two, Ultima Online (near the begining before it was decided that it should try and clone everquest as much as possible)
Also I really really want the offical book of ultima. So very badly.
Goals for this weekend include mixing turn based and real time time. Also some AI. My goals are little bit more detailed than that but my eyes hurt so I don't wanna type any more.
Saturday, October 08, 2005
Pretty much done!
I'm calling it a day now. Every is oh so nearly complete. Users can be selected - but I haven't hooked up the new game launching code yet. That's all that's left to tackle for me to reach my goal of getting it done this weekend. Oh that and arrows and testing. I'd put up a screen shot if it didn't look so poor :D Maybe at the end of the next stage!
I think my work ethic today, left a little to be desired. Still I ploughing on - and that what's counts. It's starting to get a unique feel too instead of being a YAWAD (Yet Another Walk Around Demo) - I made that up all by myself :D.
There's another blogger over here, blogging about developing a 3D engine - hopefully it will make good reading!
I also changed my blog name from Game Dev to game development. I think it looks nicer - it always felt like seeing half a word before. Though Dev's easier to say / think.
I think my work ethic today, left a little to be desired. Still I ploughing on - and that what's counts. It's starting to get a unique feel too instead of being a YAWAD (Yet Another Walk Around Demo) - I made that up all by myself :D.
There's another blogger over here, blogging about developing a 3D engine - hopefully it will make good reading!
I also changed my blog name from Game Dev to game development. I think it looks nicer - it always felt like seeing half a word before. Though Dev's easier to say / think.
Progression
I've spent an hour or two messing with the GUI code. Luckily it's now cleaner rather than messier. I've managed to kill off two classes that were just replicating code - infact I suspect I'd intended to kill them earlier but forgot.
Some of the GUI artwork is up and running but it needs to be dynamically positioned by the computer - that's still to be done! Still it's nice to see progress!
Some of the GUI artwork is up and running but it needs to be dynamically positioned by the computer - that's still to be done! Still it's nice to see progress!
Goals for the weekend
I'm finishing off my menus - the codes done. I just need graphics then I need to hook everything up. Shouldn't be too hard ... graphics just take time.
Wednesday, October 05, 2005
Cultures
Today I cleaned up my XML io code. It's pretty simple - each object has information about it store about as XML. One function finds the XML files and then the information is loaded. It can save to - all pretty standard.
After that I moved on to my culture data sets. I'm really using Lua and C# here at the same time to represent "culture". (This is a word I've chosen don't read too much into - it's mainly gimmicks :D ) Anyway the cool thing is that a lot of the data is store in Lua tables that can be modified on the fly - I'd like cultures to be able to change. I'm being intentionally vague - as I don't want whippersnappers stealing my glorious ideas :D The C# code can also write out the state of the culture as Lua code - which is quite cool. It's a long way from being but into the game though.
That's pretty much it for today. I'm looking forward to fiddling with the main trunk of my code this weekend and possibly coming to the end of stage 2 of my development plan!
After that I moved on to my culture data sets. I'm really using Lua and C# here at the same time to represent "culture". (This is a word I've chosen don't read too much into - it's mainly gimmicks :D ) Anyway the cool thing is that a lot of the data is store in Lua tables that can be modified on the fly - I'd like cultures to be able to change. I'm being intentionally vague - as I don't want whippersnappers stealing my glorious ideas :D The C# code can also write out the state of the culture as Lua code - which is quite cool. It's a long way from being but into the game though.
That's pretty much it for today. I'm looking forward to fiddling with the main trunk of my code this weekend and possibly coming to the end of stage 2 of my development plan!
Tuesday, October 04, 2005
The worse XML parser ever
Today I wrote a very crappy XML parser (built on an XML library). It reads in some setup stuff but I'm pretty sure it will crash out on malformed XML.
All the XML will be computer generated though - so I'm leaving it, as it is. It's pretty much the final link in my menu system. Everything basic can now work. So I've managed to catch up on the coding I missed this weekend.
I also put word verification on the comments - because I started get lots of spam there. If you're logged into blogger though - I really don't think it should be required! I'm sure there's a better way; like making sure ips can submit many comments to many blogs impossibly fast. Or, heh, blogger's partnered up with google can't they use the same spam killing stuff that works on gmail? The current way is quite user unfriendly. (why do you have to type in 6 distorted letters - wouldn't 3 or even 1 have been just as effective?)
The Games Developers Refuge (GDR) seems to have been ressurected - a forum for indie game developers to chat. FrozenEmu and Tsugumo don't seem to have a had a hand in it though :( Still there seem to be a few interesting threads for it to be enough of a diversion.
All the XML will be computer generated though - so I'm leaving it, as it is. It's pretty much the final link in my menu system. Everything basic can now work. So I've managed to catch up on the coding I missed this weekend.
I also put word verification on the comments - because I started get lots of spam there. If you're logged into blogger though - I really don't think it should be required! I'm sure there's a better way; like making sure ips can submit many comments to many blogs impossibly fast. Or, heh, blogger's partnered up with google can't they use the same spam killing stuff that works on gmail? The current way is quite user unfriendly. (why do you have to type in 6 distorted letters - wouldn't 3 or even 1 have been just as effective?)
The Games Developers Refuge (GDR) seems to have been ressurected - a forum for indie game developers to chat. FrozenEmu and Tsugumo don't seem to have a had a hand in it though :( Still there seem to be a few interesting threads for it to be enough of a diversion.
Monday, October 03, 2005
Weekend woes
I got nothing done and managed to lose more sleep than I gained. Still today I managed to get some IO stuff done and tune my grammar front end a little bit.
Depending on what works is like I'll be able to polish up my io ready to slot it in on the weekend and add some pretty graphics.
Depending on what works is like I'll be able to polish up my io ready to slot it in on the weekend and add some pretty graphics.
Subscribe to:
Posts (Atom)