News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Amstrad CPC 16KBs ROM Game Development Competition!

Started by SyX, 20:31, 01 January 13

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

arnoldemu

Quote from: duncan_bayne on 09:56, 01 February 13
I get that, but the grey area I'm concerned about is that my plan currently revolves around the players first typing in their AI rules in BASIC (or loading them from cassette or disc if they choose).

Hence why I'm hoping for a yes or no answer.  Yes, and I go off and try to figure out how to invoke BASIC from ASM.  No, and I go off and see if I can fit Forth into 16K along with the game, which I'd much rather not do.
it is possible to start a basic program from asm, but not so easy to do "gosub" from rom. So your basic program could be in your rom, downloaded into ram, and executed.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Bryce

If it's possible to type in the AI and the tape/Disk loading of an AI is only an option, then it should be fine I think. But I'm not an official of the competition, so you'll need that confirmed from one of them.

Bryce.

duncan_bayne

Quote from: arnoldemu on 09:59, 01 February 13
it is possible to start a basic program from asm, but not so easy to do "gosub" from rom. So your basic program could be in your rom, downloaded into ram, and executed.

But the point is that the BASIC programs - the AIs which will compete in the game - are entered by the players themselves!  So they can't live in the ROM, they have to be entered into RAM (either manually from the keyboard, or loaded from cassette or disc).

Quote from: Bryce on 10:00, 01 February 13
But I'm not an official of the competition, so you'll need that confirmed from one of them.

Hence my (hopefully) polite request for a yes or no from TotO :)

TotO

Quote from: duncan_bayne on 09:49, 01 February 13
So is that a yes to my plan, or a no?  I'm sorry, but I really don't understand your answer.
If your game must load AI parameters to work, it's NO.
If your game allow the user to set thoses parameters in-game, it's YES.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

duncan_bayne

Quote from: TotO on 10:06, 01 February 13
If your game allow the user to set thoses parameters in-game, it's YES.

This is how I plan it to work:

       
  • the ROM is inserted and the system powered on
  • the first player enters an AI routine, starting with 'REM player 1' so the game ROM can find it
  • ditto for the second player, starting with 'REM player 2'
  • the game is started with |play
So the 'parameters' - the AIs that will compete - are actually short BASIC routines entered by the users themselves before the game starts.

Is that acceptable?

TotO


OK, we allow to use the BASIC like a "terminal" to enter AI inputs before launching a game as, those data will fit inside the 64K RAM.
That will avoid to reprogram a in-game terminal to do the same and not penalise your game idea to interact with the BASIC.

But, the game must work as "RANDOM" AI if no program was set before launching it.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

duncan_bayne

Quote from: TotO on 10:24, 01 February 13
OK, we allow to use the BASIC like a "terminal" to enter IA inputs before launching a game as, those data will fit inside the 64K RAM.
That will avoid to reprogram a in-game terminal to do the same and not penalise your game idea to interact with the BASIC.

But, the game must work as "RANDOM" IA if no program was set before launching it.

Excellent, thank you :-)  I was going to put a simple AI in anyway so people could play it single player, so that works very well for me.

Thanks for the clarification :-)  Now to see if I can actually get it working  ;)

cpcitor

Quote from: duncan_bayne on 10:02, 01 February 13
they have to be entered into RAM (either manually from the keyboard, or loaded from cassette or disc).

Quote from: TotO on 10:06, 01 February 13
If your game need to load AI parameters to work, it's NO.

The question was about typing. If "typing" from actual BASIC a form of "loading" ?

Let's not forget the spirit of the event: it aims at gathering people doing smart stuff on our beloved platform.

We're not running for president or creating a nuclear facility.

Back to the game, we can imagine that the actual gameplay is 90% typing a program and 10% running the game, which definitely makes it an unusual game, and making a quite clever use of the platform firmware, which is IMHO a big plus and a showcase for that firmware which was quite well designed.


Quote from: TotO on 09:45, 01 February 13
Your game must allow the player to set the AI parameters from the game itself and store the IA data into the RAM.
Else, it's no more a game, as the player don't get interactivity with the program.

Quote from: TotO on 10:06, 01 February 13
If your game allow the user to set thoses parameters from the game, it's YES.

Does it really count for the user if, at the time they type their program, the GAME is in memory or not ? Is that sane ground for refusing a program ?

They could type |GAME, get a welcome screen stating the rules, the game returns, they type their AI, run |GAME again.
What's the benefit of a rule saying "Na, the game has quit when they type, it's wrong".

Refusing such clever technical solution seems artificial to me. If that forces Duncan to write a forth interpreter, we all lose. Why ? Because remaining CPC users mostly have some memories of the BASIC of their beloved machine, and not many would learn forth just for the game.

Don't constrain such a project ! It will run on a CPC 464: no extra hardware needed, not even disc/tape/etc. The players do interact with the running game, even if only setting speed or other parameters.

I understand that Duncan needs to have a clear official answer, or he'll waste his time and we all lose.

Quote from: TotO on 10:24, 01 February 13
OK, we allow to use the BASIC like a "terminal" to enter IA inputs before launching a game as, those data will fit inside the 64K RAM.
That will avoid to reprogram a in-game terminal to do the same and not penalise your game idea to interact with the BASIC.

But, the game must work as "RANDOM" IA if no program was set before launching it.

I'm happy that Duncan is satisfied with this, yet I think it is still an unnecessary constraint. If the programmer finds out that it's simpler for him to do this:
|GAME
<back to basic, type your code>
|GAME
Then I believe the rules should allow it.

<joke>
Your game is refused because it requires two players and in practice only one person in the world is still willing to spend some time in front of a CPC.
</joke>

Alternative: add special mentions to clever tricks like "best abuse of the rules" which states to the face of the world: we're here to have fun and not turn down clever participants.

;-)
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

TotO


You are free too call FW routine to save your 16K.
Using BASIC as a terminal is not a common way, and I had prefered that will be included into the game itself. (like Quake)
But, all CPC get BASIC too... So, it's not exclude to use that.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Bryce

Quote from: cpcitor on 10:30, 01 February 13
We're not running for president or creating a nuclear facility.

Bryce pushes his "16K CPC controlled Intercontinental Balistic Missile Project" to one side and gets on with some of his other less ambitious projects...


Bryce.

Sykobee (Briggsy)

Quote from: TotO on 10:36, 01 February 13
You are free too call FW routine to save your 16K.
Using BASIC as a terminal is not a common way, and I had prefered that will be included into the game itself. (like Quake)
But, all CPC get BASIC too... So, it's not exclude to use that.


I agree. Whether the AI is programmed via BASIC or whether the game presents its own editor and AI-BASIC implementation shouldn't matter. I guess the ROM will have to provide RSXes to get access to AI player coords, map data, and so on, so that the human AI coder can write a meaningful AI. There could be turn by turn AIs that can take a while to think per move, or real time AIs that have to be coded to be fast, I imagine.  A fun ROM game idea, IMO.

TFM

No offense, but you REALLY should differenciate between an AI and some algorithm which reacts on the gamers action.

AI in BASIC! That's the most funny thing I did read today  :laugh:


Why don't you use the term 'game engine' or something similar instead of AI?
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Sykobee (Briggsy)

Quote from: TFM/FS on 19:18, 01 February 13
No offense, but you REALLY should differenciate between an AI and some algorithm which reacts on the gamers action.
AI in BASIC! That's the most funny thing I did read today  :laugh:
Why don't you use the term 'game engine' or something similar instead of AI?


Because the ROM would include the game engine, the programmer would be coding the AI for their robot/avatar?
Instead of controlling their in-game avatar directly, they would code the logic determining how it moves and behaves, and once written they would run the game engine which would call that code to determine what the player's avatar does.
The aim of the game being to write the best AI that completes the level/beats the computer-controlled enemy/etc fastest/highest score/etc.
It's a neat idea, and unlike the geeky versions for Linux you don't need to know C++ inside out. :p

TFM

I don't say that I fully understand what you try to explain. But it sounds like something really new and innovative. :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

duncan_bayne

I've created a skeleton ROM and put it up on GitHub:


duncan-bayne/greenfield · GitHub


I'll be developing the game as free time arises ... hopefully I'll have it complete (or at least playable!) by the deadline.

SyX

UPDATE ABOUT THE COMPO: Today we have reached 13 entries registered in the competition!!!  :D :D :D

Most projects remain anonymous in this moment and there is a few ones not registered yet (don't forget to send the email to show your interest in participate  ;) ) and i'm sure that more projects are going to join us :)

And for those not participating, but who want to show your support, you can donate to encourage our participants :)

Gryzor

13 participants, already, is an amazing feat. Crossing my fingers more will come up, and that most will deliver the goods!

As far as donations go; we already have some gifts/prizes for the winners and are looking into more of them. If you want to contribute do get in touch or donate to the wiki. If you do send a donation, please make sure you include a note saying it's for the competition :)

TFM

Well, let me ask here, because it may be of general interest. :)
Is a title screen a prerequisite? Or is it optional?
(A complex title screen may use up a big amount of the memory of the 16 KB ROM).

Good luck to the (other) 12 participants,
Signed: The 13th warrior
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Axelay

It seems title screens were considered optional by Ocean, so...  ;)

Gryzor

An odd question to say the least; the rules mention nothing, so it's clearly up to you.


Of course you could do an abstract, generated title screen...

SyX

Quote from: TFM/FS on 04:48, 04 February 13
Is a title screen a prerequisite? Or is it optional?
(A complex title screen may use up a big amount of the memory of the 16 KB ROM).
It's not a requirement, you are free to put what you like, i only use it in the registering mail for showing an example of how will look a final entry in the competition page.

Sykobee (Briggsy)

I'm thinking that a PDF manual will suffice as the "title screen" and instructions for now.


It's not like we have loading delay that we want to mask.

TFM

Well, even if I load from disc I have no loading delay  8) :P 
But a bit more serious, a nice title screen is a kind of figurehead for a game. So I consider it an important part, but I don't think that I can put a good one in a ROM. Well we'll see how others do :-)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

TFM

Well, since I decided to participate in that contest, SyX asked me to present my project.

Let me try that. It may be about a year ago when a guy called Marco asked about commercial games on CPC. Back that day I stated that there is no marked. But it turned out that he is not only in a high position in a commercial software company, he is also an CPC enthusiast. And his dream was always to release a game for the CPC. So we decided to do that with the CPC Version of the PC game Cyber Huhn.
Originally we planned to make a tape, a disc and a FutureOS version. Now since the game is in an advanced state already, but I lack time, I thought: "Why not participating in that ROM contest, so I have reason to speed up the game development".
And that's all about it, it's a great motivation to move on in the development process. But it only works if I make it public, else I wouldn't have pressure on me ;)

Now what's the game all about?
In the year 2025 the people of the earth got sick of fast food, but forgot who do make proper meals. So most of the people did eat chicken every day. It's health, not fat and tasty too. This worked out well for a while, but in 2076 a big epidemic killed all the chicken on earth. Some say it was an experiment with an bioweapon, which went terribly wrong. Suddenly there were no chicken any longer and people went crazy. But soon some space pioneers brought some giant chicken from another planet to earth and cultivated them for food. No all the earthlings were happy again, but the remaining chicken on their planet Eolomea couldn't laugh about it.
The chicken of Eolomea then put their heads quickly in their space helmets and started off to punish man. After breaking through the three defense circles of the solar system the remaining chicken soldiers are heading directly towards earth.
You are the last frontier to save planet earth! Shoot all the chicken out of space and save your sweet home, good old mama earth.


The Gameplay itself:
You control a crosshair cursor over a screen using the Cursor keys and Copy or a Joystick. Shoot as much chicken as you can get in a given time interval.
You can decide between two kinds of energy shots. The first kind can be fired relative rapidly, but you must hit very precisely. The second kind can be fired only in a slower pace, but they burn every chicken coming close to them.
Since this game takes place in a 3D room it depends on the distance to the chicken where the bullet will hit it - or not. Bigger chicken are closer and the energy ball will hit them very soon after firing. The opposite is obviously true for smaller chicken.
Now hurry up! Time is running, chicken are approaching from the left and try to continue to inner solar system at the right.


Good luck! And may the fireball be with you!
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

ervin

Quote from: TFM/FS on 23:15, 06 February 13
Well, since I decided to participate in that contest, SyX asked me to present my project.

Let me try that. It may be about a year ago when a guy called Marco asked about commercial games on CPC. Back that day I stated that there is no marked. But it turned out that he is not only in a high position in a commercial software company, he is also an CPC enthusiast. And his dream was always to release a game for the CPC. So we decided to do that with the CPC Version of the PC game Cyber Huhn.
Originally we planned to make a tape, a disc and a FutureOS version. Now since the game is in an advanced state already, but I lack time, I thought: "Why not participating in that ROM contest, so I have reason to speed up the game development".
And that's all about it, it's a great motivation to move on in the development process. But it only works if I make it public, else I wouldn't have pressure on me ;)

Now what's the game all about?
In the year 2025 the people of the earth got sick of fast food, but forgot who do make proper meals. So most of the people did eat chicken every day. It's health, not fat and tasty too. This worked out well for a while, but in 2076 a big epidemic killed all the chicken on earth. Some say it was an experiment with an bioweapon, which went terribly wrong. Suddenly there were no chicken any longer and people went crazy. But soon some space pioneers brought some giant chicken from another planet to earth and cultivated them for food. No all the earthlings were happy again, but the remaining chicken on their planet Eolomea couldn't laugh about it.
The chicken of Eolomea then put their heads quickly in their space helmets and started off to punish man. After breaking through the three defense circles of the solar system the remaining chicken soldiers are heading directly towards earth.
You are the last frontier to save planet earth! Shoot all the chicken out of space and save your sweet home, good old mama earth.


The Gameplay itself:
You control a crosshair cursor over a screen using the Cursor keys and Copy or a Joystick. Shoot as much chicken as you can get in a given time interval.
You can decide between two kinds of energy shots. The first kind can be fired relative rapidly, but you must hit very precisely. The second kind can be fired only in a slower pace, but they burn every chicken coming close to them.
Since this game takes place in a 3D room it depends on the distance to the chicken where the bullet will hit it - or not. Bigger chicken are closer and the energy ball will hit them very soon after firing. The opposite is obviously true for smaller chicken.
Now hurry up! Time is running, chicken are approaching from the left and try to continue to inner solar system at the right.


Good luck! And may the fireball be with you!

That sounds clucking fantastic!
(We need a way of LIKING a post multiple times)!

Powered by SMFPacks Menu Editor Mod