The Icon Bar: The Playpen: Slightly cold news on page 10! Phlamey breaks the server.
|
Slightly cold news on page 10! Phlamey breaks the server. |
|
This is a long thread. Click here to view the threaded list. |
|
Tony Haines |
Message #101693, posted by Loris at 10:21, 23/4/2007, in reply to message #101641 |
Ha ha, me mine, mwahahahaha
Posts: 1025
|
After a bit of poking around, I think you should have a look at Escape, from codecraft 2 (fetch from IceBird). Look at the Int (=interupts) source file. It is working with screen interrupts rather than sound, but presumably the same principle applies. Beer, by Alain, might be useful too. (I'm sure I came across something where he mentioned his no-hanging-crash system, but where that was I'm not sure exactly.)
Incidentally, if you are bothered about your cache filling up - it occurred to me that if your cars are symmetrical then you could halve the size quite easily. |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #101695, posted by Phlamethrower at 10:30, 23/4/2007, in reply to message #101693 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
After a bit of poking around, I think you should have a look at Escape, from codecraft 2 (fetch from IceBird). Look at the Int (=interupts) source file. It is working with screen interrupts rather than sound, but presumably the same principle applies. Beer, by Alain, might be useful too. (I'm sure I came across something where he mentioned his no-hanging-crash system, but where that was I'm not sure exactly.) Cheers, I'll remember to take a look sometime. |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #101925, posted by Phlamethrower at 23:51, 1/5/2007, in reply to message #101695 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
After much debugging, and then some tweaking, the first version of the new converter is working. Yay!
Some more tweaking of the scaling code is still needed (e.g. to fix the left edge being outlined in blue but the right edge outlined in black), but at the moment it seems to be picking colours a lot better than the old converter.
I haven't tested the palette generator properly yet, either - this test image doesn't have enough colours for the colour reduction code to be needed.
The next test will probably be on a proper vehicle, complete with door and damage deltas. |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #102004, posted by Phlamethrower at 10:32, 6/5/2007, in reply to message #101693 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
After a bit of poking around, I think you should have a look at Escape, from codecraft 2 (fetch from IceBird). Look at the Int (=interupts) source file. It is working with screen interrupts rather than sound, but presumably the same principle applies. Beer, by Alain, might be useful too. (I'm sure I came across something where he mentioned his no-hanging-crash system, but where that was I'm not sure exactly.) Escape was from CC1, not CC2
http://abrobecker.free.fr/alien/cc1.htm
...and doesn't seem to do anything to protect against crashes
Beer seems to set up its own exit handler, but I'm fairly certain I've tried that at one point and not had any success.
[Edited by Phlamethrower at 11:41, 6/5/2007] |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #102043, posted by Phlamethrower at 20:20, 6/5/2007, in reply to message #102004 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Today, I start the long and arduos task of designing the game. Yes, I've come this far without actually designing it (Well, not properly)
So now I'm writing a plethora of docs covering each aspect of the game, from initial ideas, to the design chosen to be implemented, to how the code works (or doesn't ). This is a Good Thing, as it will allow me to keep track of the project a lot better than just posting random thoughts in this forum thread or cryptic notes in my todo list. It may also allow me to do some work away from the source code, as I'll be able to much easier spot bits where the design needs fleshing out (assuming I have the docs with me)
[edit]
And if we get really desperate for front page content, I could serialise them and release them as weekly/monthly/yearly programming/games design articles
[edit #2]
cryptic notes in my todo list Such as, "CallASWI mention to requirements!!!", which appears to have been written during a temporary bout of dyslexia.
[Edited by Phlamethrower at 21:22, 6/5/2007]
[Edited by Phlamethrower at 23:57, 6/5/2007] |
|
[ Log in to reply ] |
|
Tony Haines |
Message #102093, posted by Loris at 13:59, 8/5/2007, in reply to message #102004 |
Ha ha, me mine, mwahahahaha
Posts: 1025
|
[escape] doesn't seem to do anything to protect against crashes
Beer seems to set up its own exit handler, but I'm fairly certain I've tried that at one point and not had any success. It doesn't? I just managed to salvage my 3-screenbank interrupt code from an old (and ridiculously ambitious) project, and I'd have sworn that I saw how to do it somewhere like that.
... Oh yeah, Flu was CC2, and also did that. So Escape must have been CC1...
You really should set up a test system to develop that sort of thing. All the exit handler does is turn off the interrupts, restore the previous exit-handler and call it. You'll have to turn the interrupts off somehow anyway, so you might as well put the code where it'll prevent fatal crashes. |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #102122, posted by Phlamethrower at 21:07, 10/5/2007, in reply to message #102093 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
I was about to say that it could be the sound code that's causing the game to crash, by trying to play a sound attached to a deleted object... but then I realised I'd already covered for that eventuality |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #102165, posted by Phlamethrower at 15:45, 13/5/2007, in reply to message #102122 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
...still working on documentation stuff. Most of the code docs are now done; the only major bits missing are collison detection, screen rendering, and mission variables. Once I've done the code docs I should be able to dive headlong into the proper game design stuff (factions, missions, gameplay, AI, etc.), as well as expand some of the weaker bits of the code docs/design.
I have, however, written the all-important pipe dream doc, including subjects such as:
* Linux/DS/other cross-platform support * network play * lighting/day-night cycles * support for older machines (i.e. 8bit sound and 8bpp screen rendering) * seamless maps * increased texture resolution * full 3D
Some of these are obviously more achievable than others, but all will have to wait until the main game (or at least the engine) is complete.
[Edited by Phlamethrower at 20:28, 13/5/2007] |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #102344, posted by Phlamethrower at 20:10, 20/5/2007, in reply to message #102165 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
A musical update:
It looks like some professional bands like to give their music away under the Creative Commons license. Which is good because it means I can steal (some of) it for use in the game. Yay!
If I can find enough bands giving their stuff away for free, then I should easily be able to pick and mix enough music for use as the radio stations. Of course I'm still open to submissions from budding RISC OS musicians, but I also now know that I won't have to spend a few hundred hours slaving away over !Tracker writing my own music for the game Since the music is likely to be mostly/all MP3, I'll probably provide it as a seperate download, so people who have adequate supplies of their own music won't need to be bothered about it. |
|
[ Log in to reply ] |
|
Ian Cook |
Message #102347, posted by ilcook at 20:41, 20/5/2007, in reply to message #102344 |
Resident idiot
Posts: 1077
|
A musical update:
It looks like some professional bands like to give their music away under the Creative Commons license. Which is good because it means I can steal (some of) it for use in the game. Yay!
If I can find enough bands giving their stuff away for free, then I should easily be able to pick and mix enough music for use as the radio stations. Of course I'm still open to submissions from budding RISC OS musicians, but I also now know that I won't have to spend a few hundred hours slaving away over !Tracker writing my own music for the game Since the music is likely to be mostly/all MP3, I'll probably provide it as a seperate download, so people who have adequate supplies of their own music won't need to be bothered about it. Lazy cheapskate. |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #102349, posted by Phlamethrower at 23:02, 20/5/2007, in reply to message #102347 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Lazy cheapskate. Well, I can use commercial music if you want, if you don't mind paying for the game instead of getting it for free
Although I haven't done much on the game this past week, I have just finished the "Everything that's been said on TIB ever" doc, which will hopefully help me a great deal as I try to pin/pen down some gameplay designs over the next few weeks. I'm also going to have to try hard to forget about the current limitations of the engine while doing the gamplay design work, as well as try and avoid getting sidetracked by designing the code for different gameplay elements. This is probably something I'm not very good at, since I've never really got far enough with a project before to be working on gameplay designs instead of the core engine
The fact that I've got all the useful info I need from TIB also means that I can do more stuff on-the-go (Note: So far I've done practically nothing on-the-go), or alternatively from my bed (without having to worry about the wifi on my zaurus draining the batteries, or the fact that the network card/driver seems a bit dodgy and has trouble connecting to the network. Although I have seen a potential fix for that on the internet) |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #102463, posted by Phlamethrower at 14:46, 26/5/2007, in reply to message #102349 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Progress update:
I'm now in full swing with the story/gameplay design. Although the backstory is still a bit bare, I've managed to come up with a list of around 15 unique factions, and will soon be working out the exact political motivations and relations of each faction. Unfortunately 15 is perhaps a bit of a large number, since the game would essentially need one city per faction in order for them to be all represented, which would result in a perhaps too large play area, and perhaps too many missions for me to write. Not to mention the number of unique cars, buildings, textures, etc. that would need developing. So once the relationships between the factions have been worked out I may try trimming out a few factions which are too similar to each other (or maybe merge some together), to come up with the list which will make it into the game. Or maybe if the play area is restricted to one island/continent, I can keep the other factions in, but the game will only make references to them in mission text or they will make the occasional appearance during a mission, etc.
Developing the ideas for the factions is also helping me clear up some of the implementation concerns - i.e. it's now quite clear to me that all peds of a certain type will belong to a certain faction. Thus the only way for a ped (mainly the player) to change to a different faction would be for him to change to a different type of ped - which makes sense anyway, since if you were to convert to a faction that makes heavy use of cybertechnology then your appearance will change because you've been given a cyborg body. However this may result in some transformations being one-way only - if you've had your body replaced with a mechanical one, would you later be accepted into a technophobe society? Or would you first go to the genetic-enhancement society and get them to grow you a new body?
Or, alternatively, the player would be restricted from officially joining any of the major factions; thus the player exists in his own special faction. This would also simplify the task of handling relationships with the factions (i.e. the respect system), because it would just be faction vs. faction instead of player vs. faction and faction vs. faction (or even ped vs. faction if peds in general are able to change faction).
See? I told you I was in full swing with the design
[edit]
Also, more potential art/sound assets to 'steal' from the internet.
[Edited by Phlamethrower at 15:48, 26/5/2007] |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #102505, posted by Phlamethrower at 14:20, 28/5/2007, in reply to message #102463 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
I think I've finally worked out a cohesive plan for the game:
* The backstory is basically the one that's listed above. Ecological collapse leads to people living in mega cities, followed by nuclear war which destroys the old countries and gives rise to the tyrannical mega corporations. * At the start of the game, the player will be in a refugee town - a town that's mainly a stopoff point for people migrating between cities. This means that it isn't controlled by any of the main factions, and that none of the main factions really care about it. * The aforementioned pre-game section will likely only be a few minutes long. It will end when a train full of zombies rolls into town, resulting in mass panic and zombification. And one way or another, the main transport routes into and out of the city will be cut off (probably because the mega cities don't want any zombies getting in) * This will give the player an immediate goal of survival. He'll have to gather whatever he can from the city (killing a few zombies along the way), before heading off (either on his own or with others) towards a mega city. * But the mega cities won't be very interested in taking in a bunch of refugees who have no paperwork (or a bunch of refugees from a quarantined zombie town), so you'll either have to break in, or prove your worth to the people in charge (i.e. do some missions for them) * Once you're inside, you'll be relatively safe (unless you broke in, of course). But if you want to go anywhere else, you'll have to get your hands on some train tickets/a passport/etc. This will require doing missions to gain the favour of whoever is in control of the town you want to go to. Or you could just go for a trek through the desert, but that's more dangerous and you'd have to break in to the other city once you reach it. * The game would basically progress in that manner; whenever the player wants to go to a new city, he'll have to go the hard way of breaking in, or the potentially just as hard way of doing missions to gain the favour of the people in charge. * The eventual goal would therefore be to have gained access to all the cities in the game, so that you are free to travel the world and to do whatever it is you want to do.
This does mean that in effect many of the cities will be closed off from the player at the start, but I think this is a requirement if the game is to work as a running-around-and-shooting-things style game. I could easily have all the cities open at the start, and implement missions where the player is a delivery boy, pizza chef, flower arranger, etc., but it wouldn't make for a very interesting action game, would it? For it to be an interesting action game, the player needs to be forced into "action" scenarios if he wants to progress, and with the absense of a proper storyline to follow, those action situations are going to have to come as a way of enabling the player to explore new cities (or make money once inside them).
Or at least, that's what I'm going to keep telling myself, in the hope that I don't spot a flaw in this design and have to start from scratch again
[edit]
Also, I've cut down the list of factions to the (minimum) number that will be making it into the game. Yay!
[edit #2]
And of course, if you decide not to enter a city at all, then you'll be playing a game of survival vs. roaming tribes, hoardes of zombies, terminators, etc., as per the initial idea of a nethack/GTA crossover.
[Edited by Phlamethrower at 15:34, 28/5/2007] |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #102664, posted by Phlamethrower at 21:30, 3/6/2007, in reply to message #102505 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Today, I've done lots of stuff. Yay!
Apart from a bit of design stuff (mainly working out that I'll need around 7 sets of ped sprites), I've been going through a rather long todo list of bits of code to tidy up. This now means that:
* The game is more RISC OS-y - it has the new RO 5 system variables, HTML help, Help option on main menu, stores the config file in the Choices folder, menus stay open when right-clicked, and it supports Interactive Help for what little of the frontend there is. * It finally supports TimPlayer (although TimPlayer seems to lack fine-grained control over where playback starts) * It has a hard limit of 32 concurrent sounds (will likely be an automatic/user defined limit in the future, but it's there now just incase something goes horribly wrong) * There is the ability to use different HUD sprites/font sprites depending on screen resolution * Tiles on the sides of blocks can now be rendered to the full height of the block, instead of clipped to the height of the top tile (important for putting railings on the sides of bridges, etc.) * Ped and car definition files can now INCLUDE each other, to help reduce redundancy (particularly useful for things like the ped animation definitions, since there will be around 7 animation sets shared between 20-ish ped types) * Naughty mission scripts have much fewer ways of making the game crash * The code is a bit tidier
I've also been looking a bit deeper into implementing a day/night cycle, as (a) it isn't technically hard to do, and (b) it won't slow down the game much. But it would require changing a few significant bits of code. For now, I think I'll just continue designing the game around being set in the daytime (since all the textures I have are daytime photographs). I can then add a quick-and-dirty function to recolour the screen, to let me see roughly what the day-night cycle would look like. And if I decide the game looks better in the dark, I can write a few simple scripts to recolour all the sprites and textures, keeping a copy of the originals somewhere for when the day/night cycle gets implemented properly. That way I can leave the pipedreams until the engine is complete, like I'm meant to be doing
Tomorrow, I may have a go at looking into those nasty machine lockups. Or maybe try compiling the code, since I haven't actually checked whether anything I've done the past month works |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #102713, posted by Phlamethrower at 08:22, 5/6/2007, in reply to message #101641 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
I've fixed the error handling. Yay!
The current code installs a handler on ErrorV, which will remove the sound handler when there's an error. Although looking at the code, it also seems to remove the error handler, which could be confusing the OS and causing things to go horribly wrong. I'm not even sure if I've ever seen the error handler get used and save the machine
Perhaps I'd better check the PRMs. It *was* the bit where it tries to remove the error handler that was causing the crash. So now the setup is that:
a) The error handler on ErrorV disables sound playback b) The atexit handler disables sound playback (again), and then disables the error handler
Which seems to work under all situations tried (division by zero, data abort, branch through zero). But if the atexit handler gets called every time (evidenced by the fact the machine doesn't go crazy the next time an error occurs), then I have to wonder whether the sound-specific error handler is actually needed. And it also leaves me wondering how the atexit handler is able to remove the ErrorV vector, considering that the atexit handler is likely to be called from an error vector itself. Maybe I was calling it from the wrong processor mode, or not preserving the right registers, or it's OK to remove it as long as you're not removing the current function in the chain, etc.
But it seems to work now, so perhaps I should just leave it alone (Although I will write a new atexit handler that returns you to the desktop properly instead of leaving the last game frame on screen) |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #102841, posted by Phlamethrower at 20:09, 10/6/2007, in reply to message #102713 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Weekend update thing:
* The map plotter has finally been amended so that it draws peds, cars and objects interleaved with map blocks. I.e., when an object is behind a wall or under a bridge, you will no longer be able to see it. The technique it uses for working out if something is visible is rather simplistic, however - so currently it will make the wrong decisions under some circumstances. With a few more tweaks it should hopefully work well enough for use in the finished game. * I added a quick function to recolour the screen in a custom colour. It works well enough to give me an impression of what a proper day/night cycle would look like, which is all that I really wanted it to do. It's also fast enough for me to play the game at the same time, which is a good sign * DMA plotting now uses two buffers in main RAM, so you won't get flickering where it's started to redraw the buffer contents while the copy is still in progress. However there are still some odd things happening where the entire screen seems to shift down and to the side for one frame - I'm not entirely sure what could be causing it. * The HUD has been greatly improved. The mission script can now specify the font, size, and colour of all text; it can turn individual HUD elements on and off; and I've implemented the first version of the compass. To be finished the compass will need to have multicolour needles, and fly out from the player towards the target instead of jumping straight to it when the target comes onscreen - nothing that's too hard to do. * I've ripped out all the old 'gang' code and replaced it with the new 'faction' code. However it's still lacking a design to decide exactly what actions will cause respect changes, and how much of a change it will be. * Map zones are implemented - so you'll see place names appear on screen as you wander around, and mission scripts can create zones and use them as area triggers. * I've started implementing the new resistance-based damage/armour system. Hopefully the system will be kept fairly simple, so that a player can judge whether car A has better armour than car B just by looking to see how many armour plates are on the sprite, instead of having to do anything too indepth like compare numerical resistance values. * Various other small fixes and improvements
I've also made a list of "things which must be done", to help me differentiate the important things from the unimportant things. Apart from doing all the art/sound assets and writing mission scripts, the biggest things on the list at the moment (in terms of trickyness/time taken to implement) seem to be:
* Finish the map generator * Write the AI * Finish the car physics
The other entries shouldn't take too long (i.e. between an hour and a day each). Since those three are the biggest tasks, I think I'll try focusing on them next - and once they're done the game will seem much better
[Edited by Phlamethrower at 21:15, 10/6/2007] |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #102991, posted by Phlamethrower at 14:32, 17/6/2007, in reply to message #102841 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Weekend update thing:
After looking at the big three items for a bit, I decided that the best (and biggest) thing to start with was the map generator. So the past week has mainly been spent designing the missing bits of the algorithm - splitting the map into zones, placing buildings, and (once the map is complete) deciding exactly which peds and cars will spawn in each zone. Most of this was a case of deciding the best way for a 'user' to communicate his needs to the map generator, in terms of what types of ped/car/building he wants to appear where. And then writing code to parse the text files where that information will all be contained, and to store it in memory ready for the generator to use.
As it stands now, some bits are fairly clearcut - e.g. how the map is divided into zones, and the rules for what peds, cars and buildings will spawn in each zone. But other bits are still a bit fuzzy - mainly how buildings are made. There were basically three options for this - a 'prefab' approach where the game copies premade buildings, a 'descriptive' approach where the game has some rough rules for what constitutes a building, and a completely freeform approach based around rules governing the combination of different block types.
The prefab approach is a very viable option, and one which I'm sure has been used in other generators. But it would require manually writing the definitions for hundreds of building designs, something which could take almost as long as making the levels from scratch, or may require me to write a near fully-functional map editor, etc. And in the end it would suffer problems if I run out of ideas for buildings, as you'd end up with half the buildings in the map looking identical. Although I have no current plans to implement prefab support, I suspect that it will be added in the future in order to buildings that are specific to certain missions.
The freeform approach is one that is possible to implement, but would be almost impossible to control (it could take anything from minutes to years to 'grow' a map in that manner), and would likely result in very odd, un-city like results (unless the combination rules were very complex - but the more complexity that's put into the rules, the more time it would take to generate the map).
So I've gone for the compromise, the 'descriptive' approach. This involves the map generator having an innate knowledge of certain things (e.g. shapes of buildings, bridges, walls, roads), but with other bits such as textures and min/max sizes specified by configuration files. This means that the generator can look at the shape of an empty city block, look at the list of building configurations, and instantly work out a list of buildings that can fit inside that block. Then it just picks one at random, chooses the texture set/style to use, and paints it into the map. Initially there will only be one building type - a simple rectangle - but more can be added over time as the code matures. The only real downside to the 'descriptive' approach is in the use of textures - each building type will need to specifically check for the existance of certain textures, in order to place doors, windows, roof decorations, etc. onto the building. For this I've created a 'surface definition' file format, which will tell the game which textures can be used (and for what) for a specific type of building/road/footpath/etc. But I suppose this requirement is only to be expected, as there's no way the game can guess itself what textures can be used for what
Once the code is done, I should be able to write a few simple zone/building/surface defintion files and see if the generator actually works. |
|
[ Log in to reply ] |
|
Simon Wilson |
Message #103109, posted by ksattic at 06:45, 19/6/2007, in reply to message #102991 |
Finally, an avatar!
Posts: 1291
|
I downloaded build 882 of DeathDawn (20/04/2007), but it stiffs my Iyonix after walking around for 10 seconds or so. I tried different resolutions and DMA on/off. Any ideas why?
I get a constant tone from the speaker when it crashes, as if it was the last sample being output at that time. |
|
[ Log in to reply ] |
|
Jason Togneri |
Message #103110, posted by filecore at 08:07, 19/6/2007, in reply to message #101693 |
Posts: 3868
|
Beer might be useful too. Without doubt |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #103111, posted by Phlamethrower at 08:11, 19/6/2007, in reply to message #103109 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Turn off sound in the options. That'll make it crash normally instead of stiffing the machine.
If you want I can upload a new build tonight, but apart from fixing the sound crash and the crash-crash there aren't really any major visible changes (unless you turn on R/B swapping and play with the mouse buttons )
What would be more interesting would be to wait until the weekend, when I should be able to upload a build with the first version of the full city generator working. |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #103160, posted by Phlamethrower at 17:18, 23/6/2007, in reply to message #103111 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
The map generator is working. Woo!
Except at the moment the output looks almost the same as from the old generator, except with some green blocks for buildings
I'll put in some proper textures and (if my fancy texture painting code works) post some screenies. The roads won't be done properly, but the buildings and ground should be.
The good news is that it only takes around 30 seconds to generate the map on an Iyonix. So unless the algorithm gets significantly more complex, it should only take a minute or two to generate a map on a RiscPC. And I can even provide a nice display of the map as it's being built, so people don't get bored, |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #103164, posted by Phlamethrower at 21:29, 23/6/2007, in reply to message #103160 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
...and some screenshots. Woo!
I think processing the textures I've got (i.e. duplicating and modifying them to make the variants required) is going to take a long time. And there's no guarantee that the end result will look any good I should probably go looking for some more at some point. Or maybe I just need to be a bit more thorough, i.e. get some simple base textures (ordinary tarmac, ordinary brick, ordinary windows) and cut-and-paste the different elements ontop of each other to manually put road markings on a road, windows on a building, etc. Which is perfectly possible, but would still involve me finding some more textures so I can work at a higher resolution.
[Edited by Phlamethrower at 22:32, 23/6/2007] |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #103185, posted by Phlamethrower at 18:54, 28/6/2007, in reply to message #103164 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
...and that's the new build uploaded. Apart from having the sound crash and crash-crash fixed, other notable additions compared to the last build are:
* TimPlayer support in the radio code * Sound code fixed so it doesn't silence any other SharedSound clients that were registered before you started the game * It's more RISC OS-y (Choices go in the choices folder, HTML & text help files, Interactive help, new RISC OS 5 system variable stuff) * Random map generator is more fully implemented, (moreso than it was at the weekend), and is enabled by default * The camera viewpoint has been tweaked a bit - it now has a 45 degree FOV instead of 90. This gives it a more "top-down" viewpoint, allowing you to see the tops of taller buildings, but more importantly helps to hide a current problem with the renderer if a block gets too close to the camera * Lots of design/code docs in the source .zip, if you're into that sort of thing. Also the car drawfile importer is included, and there's updated mission editing/etc. documentation.
Apart from being a bit tidier, I think the biggest change to the map generator since the weekend was the design & implementation of the road intersection planning code. Which was actually quite easy, even if it does seem to have a couple of bugs at the moment.
The next thing for me to do is to write the code to convert the per-building zone information into zones that cover larger areas of the map. This zone list is what's going to be used to work out what peds and cars spawn can spawn in each area of the map (as well as to provide place names for map areas). It's the only thing missing that's stopping me from starting on the ped & car spawning/AI code, since the map generator now correctly marks roads and pavements with the appropriate flags to allow the peds and cars to move around.
[edit]
Oh yes, I also wrote a sed script to convert HTML to text, so I don't have to manually keep the HTML and text help files in sync. It does fancy stuff like underlining headings, formatting the keyboard controls table using tabs, and retaining the URLs of any links where the link text isn't the URL itself. Go, me!
[Edited by Phlamethrower at 20:04, 28/6/2007] |
|
[ Log in to reply ] |
|
Andrew |
Message #103187, posted by andrew at 19:08, 28/6/2007, in reply to message #103185 |
Handbag Boi
Posts: 3439
|
Well that's about the most graphically impressive game RISC OS has seen since Darkwood.
Is there supposed to be sound? |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #103188, posted by Phlamethrower at 19:16, 28/6/2007, in reply to message #103187 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Well that's about the most graphically impressive game RISC OS has seen since Darkwood. Sad but true, probably (Unless you count ports from other platforms) [edit - Don't forget Destiny, though. Graphics-wise/technically speaking it's perhaps the most impressive home-grown RISC OS game, even if it was let down heavily by only having the monsters rendered facing 4 directions instead of 8 or 12. And no, Iron Dignity doesn't count, because it was never released for RISC OS ]
Is there supposed to be sound? Not at the moment, no. As I'm sure you know the engine supports sound, it's just the case that at the moment nothing makes sounds unless you use a mission script to tell it to.
[Edited by Phlamethrower at 20:38, 28/6/2007] |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #103192, posted by Phlamethrower at 19:58, 28/6/2007, in reply to message #103188 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
For a laugh I just tried running it on Red Squirrel, and:
a) It actually got 15-20fps (at 320x256 resolution) through most areas of the map. Some bits did seem considerably slower (mainly I think where blocks got too close to the camera), but it bodes well for anyone who wants to try playing the game on pre-StrongARM machines.
b) I think it has trouble starting if you don't have a CD drive/CDFS. So if any A9 users are having trouble (a hang at the "loading radio" stage), then you will need to open !DeathDawn.gameconfig and comment out/remove the LOADRADIO line. Simply turning the radio off in the options doesn't seem to cut it.
This will be fixed in the next release. |
|
[ Log in to reply ] |
|
Andrew |
Message #103194, posted by andrew at 22:47, 28/6/2007, in reply to message #103188 |
Handbag Boi
Posts: 3439
|
Well that's about the most graphically impressive game RISC OS has seen since Darkwood. Sad but true, probably (Unless you count ports from other platforms) [edit - Don't forget Destiny, though. Graphics-wise/technically speaking it's perhaps the most impressive home-grown RISC OS game, even if it was let down heavily by only having the monsters rendered facing 4 directions instead of 8 or 12. And no, Iron Dignity doesn't count, because it was never released for RISC OS ]
Is there supposed to be sound? Not at the moment, no. As I'm sure you know the engine supports sound, it's just the case that at the moment nothing makes sounds unless you use a mission script to tell it to.
[Edited by Phlamethrower at 20:38, 28/6/2007] When did Destiny finally get released? It was certainly around in 1996 but seemed to take forever to find a distributor. |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #103196, posted by Phlamethrower at 07:29, 29/6/2007, in reply to message #103194 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
The CD release seems to be from early 1999. There was apparently a floppy disk version released earlier, but I'm not sure by how much.
Looking at the code, most of it seems to be a mix of BASIC and assembler. I'm not sure whether to be more impressed or more worried |
|
[ Log in to reply ] |
|
VinceH |
Message #103197, posted by VincceH at 07:53, 29/6/2007, in reply to message #103196 |
Lowering the tone since the dawn of time
Posts: 1600
|
Destiny Heh. Can you remember all those arguments Destiny's coder had on csa* with a coder from another company. Round and round they went... |
|
[ Log in to reply ] |
|
Richard Goodwin |
Message #103198, posted by rich at 09:58, 29/6/2007, in reply to message #103196 |
Dictator for life
Posts: 6828
|
Looking at the code, most of it seems to be a mix of BASIC and assembler. I'm not sure whether to be more impressed or more worried A lot of RISC OS stuff is like this - I remember E-Type (probably v2) was like this, which made it easier to hack And a certain well-known bitmap graphics app uses this approach (BASIC for all the WIMP stuff, assembler for all the hard stuff), once you get past the obfuscation... ________ Cheers, Rich.
|
|
[ Log in to reply ] |
|
Pages (22): |< <
18
> >|
|
The Icon Bar: The Playpen: Slightly cold news on page 10! Phlamey breaks the server. |
|