Development of Blake's 7 (was OASIS development)
Re: OASIS development
Argh. I spent nearly three hours trying to solve a hideous lurking bug in the worst part of the engine possible: the memory management.
I was trying to figure out ways of storing things in a way that disk space was optimized and stumbled upon it. Something that should work wasn't.
Well, the best part is that I think I solved it and also optimized and simplified a couple of things, so for instance, graphical data is kept in memory only when it is needed and reloaded automatically. Believe it or not, this makes scripts dealing with objects simpler and it is possible to store the graphic of an object together with the room where the object is initially in. Also global object data can be stored altogether optimizing disk space.
I also printed the available memory after compaction to detct possible memory leaks, and I did not find any (yet).
I know this is quite a technical bit, but it is work done after all.
I was trying to figure out ways of storing things in a way that disk space was optimized and stumbled upon it. Something that should work wasn't.
Well, the best part is that I think I solved it and also optimized and simplified a couple of things, so for instance, graphical data is kept in memory only when it is needed and reloaded automatically. Believe it or not, this makes scripts dealing with objects simpler and it is possible to store the graphic of an object together with the room where the object is initially in. Also global object data can be stored altogether optimizing disk space.
I also printed the available memory after compaction to detct possible memory leaks, and I did not find any (yet).
I know this is quite a technical bit, but it is work done after all.
-
- Squad Leader
- Posts: 774
- Joined: Sat May 21, 2011 7:21 pm
- Location: Between UK and France
- Contact:
Re: OASIS development
Great!
Yeah a "debug screen" or some way to get various information of the engine is a good addition to use the engine for a project!
You could keep that when running a game as it could be used for debugging purpose
Yeah a "debug screen" or some way to get various information of the engine is a good addition to use the engine for a project!
You could keep that when running a game as it could be used for debugging purpose
My Projects: Replic'Oric Project - StratoCumulus Project
Re: OASIS development
The time spent in working in the technical stuff, laying out foundations, etc... are invisible to people, but it's what make it possible to make great games
Re: OASIS development
Hi guys!
I've been on summer holidays till today that is why I did not post anything on my progress. But there has been progress indeed.
I wished I could have brought to you a first alpha version of the first part (Episode I) of the Blakes'7 game, but I could not put in all the elements I wanted.
Nevertheless, I have put a lot of things in the game, made more puzzles and some adjustments to the plot and also spent time on bug hunting and adding some missing stuff.
This first episode (The Way Back) will serve as an introduction to the universe and to Blake's character, giving some background to the story. It will also serve me for testing many of the possibilities of the engine and check how elements work. It won't have many rooms, and some puzzles will be easy (others are not!) but it is a kind of introduction.
So progress is quite good. I hope to be able to put some of my free time these days to have something ready for testing.
Stay tuned!
I've been on summer holidays till today that is why I did not post anything on my progress. But there has been progress indeed.
I wished I could have brought to you a first alpha version of the first part (Episode I) of the Blakes'7 game, but I could not put in all the elements I wanted.
Nevertheless, I have put a lot of things in the game, made more puzzles and some adjustments to the plot and also spent time on bug hunting and adding some missing stuff.
This first episode (The Way Back) will serve as an introduction to the universe and to Blake's character, giving some background to the story. It will also serve me for testing many of the possibilities of the engine and check how elements work. It won't have many rooms, and some puzzles will be easy (others are not!) but it is a kind of introduction.
So progress is quite good. I hope to be able to put some of my free time these days to have something ready for testing.
Stay tuned!
Re: OASIS development
Hi again. I have just put the last scene for Episode I. Some tweaking can still be done (this kind of cutscenes is something you could spend the rest of your life tuning) and I am still deciding whether I put yet another room I had in mind or not, but basically all the Episode is there and can be played with no big problems.
I wish I could post a video or something, but that would spill the beans for many, so I am not sure.
Besides I would like to wait until I receive the final graphics for some important characters before showing anything else. Also I would like to change the game's font to something more readable and nice looking.
The full engine+the disk code+all the resources of Episode I are composed of 37 "files" (in Dbug's FloppyBuilder terms, though I like to name them "chunks") occupying 20% of the disk space:
// 296 sectors used, out of 1428. (20% of the total disk size used)
I have done my best trying to put together resources that can be grouped (loaded/unloaded together) but some times the space is not optimally allocated and some small resources (40-50 bytes) need to be in separate files, wasting the rest of the sector size.
Anyway this means that we could have a game which is x5 times this Episode. Let's say just x4 to be conservative (some graphics are still missing). In Episode I there are 13 rooms only (and some are wasted in the intro, episode presentation and ending). I know it seems small, but it is just the game introductory episode! So I could hold something such as +40 rooms in a single disk.
I would like to keep my game in just one disk. It simplifies things a lot. However, this means you need a 3.5" disk drive. Supporting 3" disks would mean the additional info to tell in which side/disk number things reside in (and ask the user to flip or change the disk) and probably duplicating some information in all the disks/sides. 160KB per side is too restrictive for a game with so much information to store.
As usual comments/suggestions are welcome
I wish I could post a video or something, but that would spill the beans for many, so I am not sure.
Besides I would like to wait until I receive the final graphics for some important characters before showing anything else. Also I would like to change the game's font to something more readable and nice looking.
The full engine+the disk code+all the resources of Episode I are composed of 37 "files" (in Dbug's FloppyBuilder terms, though I like to name them "chunks") occupying 20% of the disk space:
// 296 sectors used, out of 1428. (20% of the total disk size used)
I have done my best trying to put together resources that can be grouped (loaded/unloaded together) but some times the space is not optimally allocated and some small resources (40-50 bytes) need to be in separate files, wasting the rest of the sector size.
Anyway this means that we could have a game which is x5 times this Episode. Let's say just x4 to be conservative (some graphics are still missing). In Episode I there are 13 rooms only (and some are wasted in the intro, episode presentation and ending). I know it seems small, but it is just the game introductory episode! So I could hold something such as +40 rooms in a single disk.
I would like to keep my game in just one disk. It simplifies things a lot. However, this means you need a 3.5" disk drive. Supporting 3" disks would mean the additional info to tell in which side/disk number things reside in (and ask the user to flip or change the disk) and probably duplicating some information in all the disks/sides. 160KB per side is too restrictive for a game with so much information to store.
As usual comments/suggestions are welcome
Re: OASIS development
About multiple floppies - if you can store the engine + each episode on one disk (or side), this would simplfy the swapping wouldn't it? Only swap between episodes...
Episode 1 is 296 sectos, so about 75Kb... Seems like it could fit doesn't it?
Anyway, there are probably better things to think about before this
Episode 1 is 296 sectos, so about 75Kb... Seems like it could fit doesn't it?
Anyway, there are probably better things to think about before this
Re: OASIS development
I'm looking forward to playing this. The Monkey Island and Maniac Mansion point and click games are some of my favourite games of all time. To play a similar game on the Oric will be amazing!
Re: OASIS development
Thanks for your comments. Be sure that they mean a lot to me! (and contain excellent ideas!).
I'd like to share with you a bit of the process of designing the backgrounds (rooms). Just so you see why it is a long, complex process. Moreover if your skills in pixel art (or any kind of drawing whatsoever) are null.
For episode II it is time to design the Liberator. In this show the ship was so iconic as the Enterprise in Star Trek. At least on the first and second seasons. Then the cheesy set was too expensive to repair anymore and they decided to blow the ship up, but that is another story. So we want to recreate something like this: I usually start choosing the perspective and drawing some lines as reference using a picture as reference and any bitmap drawing program. I want to have in view the main entry, the lateral corridor, the seats and, of course, Zen (the ball in one of the walls) which is the ship's computer and AI.
After I have a sketch, I usually import it in my room editor and, as soon as the perspective results in many diagonal lines with different angles, I notice that the tile sectioner shows that too many tiles are needed. In this case I started with more than 300 (my limit is 256) so then comes the tedious work of tweaking lines and pixels to reduce this.
After some hours I end up with something such as this, using 199 tiles: Oh, and the command seats... where are those? Need to put them in and work more on reducing the number of tiles. Now down to 175.
I'd like to share with you a bit of the process of designing the backgrounds (rooms). Just so you see why it is a long, complex process. Moreover if your skills in pixel art (or any kind of drawing whatsoever) are null.
For episode II it is time to design the Liberator. In this show the ship was so iconic as the Enterprise in Star Trek. At least on the first and second seasons. Then the cheesy set was too expensive to repair anymore and they decided to blow the ship up, but that is another story. So we want to recreate something like this: I usually start choosing the perspective and drawing some lines as reference using a picture as reference and any bitmap drawing program. I want to have in view the main entry, the lateral corridor, the seats and, of course, Zen (the ball in one of the walls) which is the ship's computer and AI.
After I have a sketch, I usually import it in my room editor and, as soon as the perspective results in many diagonal lines with different angles, I notice that the tile sectioner shows that too many tiles are needed. In this case I started with more than 300 (my limit is 256) so then comes the tedious work of tweaking lines and pixels to reduce this.
After some hours I end up with something such as this, using 199 tiles: Oh, and the command seats... where are those? Need to put them in and work more on reducing the number of tiles. Now down to 175.
Re: OASIS development
After some more tweaks it is time to start using patters and some inverse video to create the white color on the ceiling. I usually copy the image and paste it on MSPaint, save as 1bit bitmap and use the patterns available for filling. At least to have a first idea. Then re-import the picture back.
Some work later I have this: Time to use the remaining tiles to work out some details and choose the color scheme. I tried CYAN/YELLOW and YELLOW/CYAN. Changing the order changes how the room looks like. Now it is pretty finished and I think it will work well in the game. The player will be able to move around, Zen will be able to talk (some light patterns illuminate when he speaks), and you can walk to the back of the room to get a closer look at both Zen and the entrance to the back corridor.
Which one do you prefer?
Some work later I have this: Time to use the remaining tiles to work out some details and choose the color scheme. I tried CYAN/YELLOW and YELLOW/CYAN. Changing the order changes how the room looks like. Now it is pretty finished and I think it will work well in the game. The player will be able to move around, Zen will be able to talk (some light patterns illuminate when he speaks), and you can walk to the back of the room to get a closer look at both Zen and the entrance to the back corridor.
Which one do you prefer?
Re: OASIS development
And after some more tweaks... 253 tiles and some more color using patterns. Do you like it?
I hope that the rest of the rooms are easier, because I won't need such complex perspective.
I hope that the rest of the rooms are easier, because I won't need such complex perspective.
Re: OASIS development
Thats awesome, and the end result looks really great!
Re: OASIS development
Great ! Love the 6 pixels grid
- ibisum
- Wing Commander
- Posts: 1646
- Joined: Fri Apr 03, 2009 8:56 am
- Location: Vienna, Austria
- Contact:
Re: OASIS development
This is going to be an amazing title to play one day ..
- coco.oric
- Squad Leader
- Posts: 720
- Joined: Tue Aug 11, 2009 9:50 am
- Location: North of France
- Contact:
Re: OASIS development
Very impressive
I didn't understand if the step between the sketch and the first step with tiles is manual or automatic.
But in both cases, it's a big piece of work
I didn't understand if the step between the sketch and the first step with tiles is manual or automatic.
But in both cases, it's a big piece of work
coco.oric as DidierV, CEO Member
Historic owner of Oric, Apple II, Atari ST, Amiga
Historic owner of Oric, Apple II, Atari ST, Amiga
Re: OASIS development
Thanks guys!
@coco.oric Unfortunately, it is a manual process. I can import (and even paste) bitmaps into my drawing tool, and the sectioning in tiles is done automatically, but that is all.
You have to make changes to the lines and patterns, re-use shapes, identify how to optimize the use of tiles all by hand, letting the program re-calculate the number of tiles to see when it is usable.
Most of the time it is a matter of changing some long angled lines or curves, as well as trying to avoid that an object or decoration uses extra tiles just for one pixel (fitting the shape in the least number of tiles, that is: sometimes just a matter of better alignment, others need slight changes in the design). That is why my drawing tool has a 6x8 grid
@coco.oric Unfortunately, it is a manual process. I can import (and even paste) bitmaps into my drawing tool, and the sectioning in tiles is done automatically, but that is all.
You have to make changes to the lines and patterns, re-use shapes, identify how to optimize the use of tiles all by hand, letting the program re-calculate the number of tiles to see when it is usable.
Most of the time it is a matter of changing some long angled lines or curves, as well as trying to avoid that an object or decoration uses extra tiles just for one pixel (fitting the shape in the least number of tiles, that is: sometimes just a matter of better alignment, others need slight changes in the design). That is why my drawing tool has a 6x8 grid