Development of Blake's 7 (was OASIS development)

Want to talks about games you like, would like to see developed on the Oric, it's here.
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: OASIS development

Post by Chema »

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.
Godzil
Squad Leader
Posts: 774
Joined: Sat May 21, 2011 7:21 pm
Location: Between UK and France
Contact:

Re: OASIS development

Post by Godzil »

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 :)
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: OASIS development

Post by Dbug »

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 :)
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: OASIS development

Post by Chema »

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!
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: OASIS development

Post by Chema »

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 :)
User avatar
Symoon
Archivist
Posts: 2307
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Re: OASIS development

Post by Symoon »

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 ;)
User avatar
dave3622
Flying Officer
Posts: 242
Joined: Wed Sep 03, 2008 12:13 pm
Location: Brighouse, UK

Re: OASIS development

Post by dave3622 »

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!
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: OASIS development

Post by Chema »

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:
2013_b7-liberator-flight-deck.jpg
2013_b7-liberator-flight-deck.jpg (18.67 KiB) Viewed 14132 times
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:
a1.png
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.
a2.png
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: OASIS development

Post by Chema »

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:
a3.png
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?
2016-09-04 (6).png
2016-09-04 (7).png
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: OASIS development

Post by Chema »

And after some more tweaks... 253 tiles and some more color using patterns. Do you like it?
2016-09-05.png
I hope that the rest of the rooms are easier, because I won't need such complex perspective.
User avatar
Xeron
Emulation expert
Posts: 426
Joined: Sat Mar 07, 2009 5:18 pm
Contact:

Re: OASIS development

Post by Xeron »

Thats awesome, and the end result looks really great!
User avatar
Symoon
Archivist
Posts: 2307
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Re: OASIS development

Post by Symoon »

Great ! Love the 6 pixels grid ;)
User avatar
ibisum
Wing Commander
Posts: 1646
Joined: Fri Apr 03, 2009 8:56 am
Location: Vienna, Austria
Contact:

Re: OASIS development

Post by ibisum »

This is going to be an amazing title to play one day ..
User avatar
coco.oric
Squad Leader
Posts: 720
Joined: Tue Aug 11, 2009 9:50 am
Location: North of France
Contact:

Re: OASIS development

Post by coco.oric »

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
coco.oric as DidierV, CEO Member
Historic owner of Oric, Apple II, Atari ST, Amiga
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: OASIS development

Post by Chema »

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 :)
Post Reply